一、理論知識(shí)準(zhǔn)備

1.確定假設(shè)函數(shù)
如:y=2x+7
其中,(x,y)是一組數(shù)據(jù),設(shè)共有m個(gè)
2.誤差cost
用平方誤差代價(jià)函數(shù)

3.減小誤差(用梯度下降)


二、程序?qū)崿F(xiàn)步驟
1.初始化數(shù)據(jù)
x、y:樣本
learning rate:學(xué)習(xí)率
循環(huán)次數(shù)loopNum:梯度下降次數(shù)
2.梯度下降
循環(huán)(循環(huán)loopNum次):
(1)算偏導(dǎo)(需要一個(gè)for循環(huán)遍歷所有數(shù)據(jù))
(2)利用梯度下降數(shù)學(xué)式子
三、程序代碼
import numpy as np
def linearRegression(data_x,data_y,learningRate,loopNum):
w,b=0,0
#梯度下降
for i in range(loopNum):
w_derivative, b_derivative, cost = 0, 0, 0
for j in range(len(data_x)):
wxPlusb=w*data_x[j]+b
w_derivative+=(wxPlusb-data_y[j])*data_x[j]
b_derivative+=wxPlusb-data_y[j]
cost+=(wxPlusb-data_y[j])*(wxPlusb-data_y[j])
w_derivative=w_derivative/len(data_x)
b_derivative=b_derivative/len(data_x)
w = w - learningRate*w_derivative
b = b - learningRate*b_derivative
cost = cost/(2*len(data_x))
if i%100==0:
print(cost)
print(w)
print(b)
if __name__== "__main__": #_x:protected __x:private
x=np.random.normal(0,10,100)
noise=np.random.normal(0,0.05,100)
y=2*x+7+noise
linearRegression(x,y,0.01,5000)另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
分享題目:python實(shí)現(xiàn)機(jī)器學(xué)習(xí)之元線(xiàn)性回歸-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://chinadenli.net/article2/digcic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、全網(wǎng)營(yíng)銷(xiāo)推廣、關(guān)鍵詞優(yōu)化、小程序開(kāi)發(fā)、網(wǎng)站收錄、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容