機器學(xué)習(xí)線性回歸與梯度算法_第1頁
機器學(xué)習(xí)線性回歸與梯度算法_第2頁
機器學(xué)習(xí)線性回歸與梯度算法_第3頁
機器學(xué)習(xí)線性回歸與梯度算法_第4頁
機器學(xué)習(xí)線性回歸與梯度算法_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、機器學(xué)習(xí)-線-性回歸與梯度算法線性回歸(LinearaRegression),亦稱為直線回歸,即用直線表示的回歸,與曲線回歸相對。若因變量對自變量X口、X、xm的回歸方程是線性方程,即oy=%0+用口+用口+Bmxm,其中是常數(shù)項,是自變量??诘幕貧w系數(shù),m為任何自然數(shù)。這時就稱對Xu、x2、xm的回歸為線性回歸。簡單回歸:只有一個自變量的線性回歸稱為簡單回歸,如下面示例:X表示某商品的數(shù)量,Y表示這些不同數(shù)量商品的總價格x=0,1,2,3,4,5y=0,17,45,55,85,99二維坐標(biāo)中繪圖如下圖:I!我們可以現(xiàn)在當(dāng)商品數(shù)量axa=a6時,估計商品總價是多少?乂很明顯的看到,商品總價隨商

2、品的數(shù)量上升而上升,這是一個典型的線性回歸。因為只有一個自變量x,我們假設(shè)線性回歸模型:aya=aaa*axa+ab我們,需要求出最合適的a,b值,使得直線:Ya=aaa*axa+aba與上圖的趨勢相擬合,這時候才能去預(yù)測不同商品數(shù)量下的總價y。最小二乘法:I】a為了求出最合適的aaba,我們引入最小二乘法。最小二乘法,亦稱最小二乘法估計。由樣本觀測值估計總體參數(shù)的一種常用方法。它用于從對觀測數(shù)據(jù)(xD,y,(x2,y2),(xn,an)確定x與應(yīng)關(guān)系a=f(x)的一種最佳估計,使得觀測值與估計值之差(即偏差)的平方和aa為最小。y之間對最小二乘法能盡量消除偶然誤差的影響,從而由一組觀測數(shù)據(jù)求

3、出最可靠、最可能出現(xiàn)的結(jié)果。由上圖我們可以很明顯的看出直線oa=aaa*axa+ab過原點,即abD=ao我們嘗試不同的a值a得到的結(jié)果如下:aaaa=ai9a時aHa叩154aa=aaca時aHaatouIlE丨h(huán)!山aaaaaaa時aaa=aaD6Ita圖像分別如下:大于一個自變量的線性回歸叫做多元回歸。上面的例子只是一個自變量,處理起來比較簡單,Y=WT*X(WT為向量W的轉(zhuǎn)置)為了計算方便,我們?nèi)0=1X=X0,X1,X2,X3,.,XmW=W0,W1,W2,W3,Wm這樣:Y=X0*W0+X1*W1+X2*W2+X3*W3+我們可以粗略得出結(jié)論a=20,b=0時,線性模型所以當(dāng)商品

4、數(shù)量X=6時,我們可以粗略估計總價Y=多元回歸:,假設(shè)自變量有m個,這時候我們假設(shè)的回歸系數(shù)(即權(quán)重)也需要有m個,即我們假設(shè)的線性模型是Y=X+X*W寫成向量形式:觀測值與估計值之差(即偏差)的平方和:訓(xùn)練樣本的特征上面公式表示訓(xùn)川!表示第個樣本總價觀測值1上標(biāo)表示屬于第j個樣本,下標(biāo)表示第i個特征(自變量值),現(xiàn)在H是關(guān)于W0,W1,W2Wm的函數(shù),我們需要通過合適的方法求出最適合的W值,才能得出一個比較好的線性回歸方程。與簡單回歸相比,這里我們很難通過觀察與嘗試不同的w值來求解,我們需要采用最優(yōu)化算法。梯度算法:常見的最優(yōu)化算法有梯度下降法(GradientDescent)、牛頓法和擬牛

5、頓法(Newtonsmethod&Quasi-NewtonMethods、共軛梯度法(ConjugateGradient)、啟發(fā)式優(yōu)化方法等,本文詳細介紹梯度算法。明確下我們現(xiàn)在的目標(biāo):我們需要通過梯度算法求出當(dāng)在H取得最小的情況下,W0,W1W2W3,Wm的值,從而寫出回歸方程。梯度算法分為梯度上升算法和梯度下降算法。梯度下降算法的基本思想是:要找到某函數(shù)的最小值,最好的方法是沿著該函數(shù)的梯度方向探尋,梯度上升則相反。對于一個有兩個未知數(shù)x,y的函數(shù)f(x,y),梯度表示為:微??梢酝ㄋ桌斫鉃?度下降算法的意味著沿X軸方向移動,沿Y的方向移動,函數(shù)f(x,y)必須要在待計算的點上有定義并且可

6、梯度實際上是函數(shù)值變I加或是減小)你所在位I達山的某個頂峰或低谷。所以實際上,梯度算法是用來搜索局部極小值或極大值的,它是實際應(yīng)用中一種非常高效,高速且可靠的方法??斓姆较?。比如說,你站在一個山上,梯度所指示的方向是高,但是如果你亂走,可能走半天所在位置高度也沒有變化多少。也就是說,如果你一直沿著梯度走,你就能最快的到最快度化最快的方向。你沿著這個方向走,能最快的改變(增用梯度下降法找出最小H我們前面看到:我們假設(shè)每次沿著梯度方向更新的步長為a,所以W的值更新公式可寫為:-下*VH代碼如下每個回歸系數(shù)(即每個W值)的每個值都為1重復(fù)R次:計算整個數(shù)據(jù)集的梯度更新回歸系數(shù)W用梯度下降算法求下面商

7、品數(shù)據(jù)的線性回歸方程我們假設(shè)線性回歸模型為總價Y=a+b*X1+c*X(X1X2分別表示商品1,2的數(shù)量)我們需要求出回歸系數(shù)W=a,b,c梯度下降算法如下:importnumpyasnp2defgrad_desc(train_data,train_labels):梯度下降data_mat=np.matrix(train_data)label_mat=np.matrix(train_labels).transpose()n=np.shape(data_mat)1#步長alpha=0.001#最大循環(huán)次數(shù)max_cycles=100#初始化回歸系數(shù)weightsweights=np.ones(n

8、,1)forindexinrange(max_cycles):h=data_mat*weights-label_matweights=weights-alpha*data_mat.transpose()*h#返回壓平的系數(shù)數(shù)組returnnp.asarray(weights).flatten()我們用上面算法得到的回歸系數(shù)為1.72188154.248810475.28838946隨機梯度算法:上述梯度算法中,循環(huán)R=100次,每一次更新回歸系數(shù)都需要遍歷整個數(shù)據(jù)集,如果數(shù)據(jù)樣本很大,那么計算時間復(fù)雜度將會非常高。所以一般每次使用一個樣本點來更新回歸系數(shù),稱為隨機梯度算法。隨機梯度下降算法偽代

9、碼如下:所有回歸系數(shù)初始化為1重復(fù)R次:循環(huán)每一個樣本:計算該樣本的梯度I更新回歸系數(shù)W修改后的算法如下:1importnumpyasnp2defadvanced_random_grad_desc(train_data,train_labels):隨機梯度下降改進data_mat=np.asarray(train_data)label_mat=np.asarray(train_labels)m,n=np.shape(data_mat)#步長alpha=0.001#初始化回歸系數(shù)weightsweights=np.ones(n)max_cycles=500forjinrange(max_cycl

10、es):data_index=list(range(m)foriinrange(m):random_index=int(np.random.uniform(0,len(data_index)h=sum(data_matrandom_index*weights)-label_matrandom_indexweights=weights-alpha*h*data_matrandom_indexdeldata_indexrandom_indexreturnweights計算得到的回歸系數(shù)為:1.271374164.313935245.2757683我們可以得到線性回歸方程為:Y=1.27+4.31*X1+5.28*X2寫在后面的話:本

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論