一:介紹
定義:線性回歸在假設特證滿足線性關係,根據給定的訓練數據訓練一個模型,並用此模型進行預測。為了了解這個定義,我們先舉個簡單的例子;我們假設一個線性方程 Y=2x+1, x變數為商品的大小,y代表為銷售量;當月份x =5時,我們就能根據線性模型預測出 y =11銷量;對於上面的簡單的例子來說,我們可以粗略把 y =2x+1看到回歸的模型;對於給予的每個商品大小都能預測出銷量;當然這個模型怎麼獲取到就是我們下面要考慮的線性回歸內容;並且在現實中影響銷量(y)的因素好有很多,我們就拿商品大小(x?),商品價格為例(x?)為例:
在機器學習之前,獲取數據是第一步(無米難巧婦之炊),假定我們的樣本如下:其中x1 為商品的大小,x2 為商品的價格,y 為商品的銷量;

二 :模型推導
為了推導模型,在假設數據滿足線性模型條件下,可以設定線性模型為;x1特徵為商品的大小,X2特徵為商品的價格;

模型假定好後,我們把訓練數據代入上面的設定模型中,可以通過模型預測一個樣本最終值;

然後樣本真實值 y 和模型訓練預測的值之間是有誤差 ε ,再假設訓練樣本的數據量很大的時候,根據中心極限定律可以得到 ∑ε 滿足 (u ,δ2)高斯分布的;由於方程有截距項 ,故使用可以 u =0; 故滿足(0,δ2)的高斯分布;

如上面可知,對於每一個樣本 x ,代入到 p (y |x ;θ) 都會得到一個y 的概率;又因為設定樣本是獨立同分布的;對其求最大似然函數:

對其化簡如下:

以上就得到了回歸的損失函數最小二乘法的公式,對於好多介紹一般對線性回歸的線性損失函數就直接給出了上面的公式二乘法。下面我們就對上面做了階段性的總結:線性回歸,根據大數定律和中心極限定律假定樣本無窮大的時候,其真實值和預測值的誤差ε 的加和服從u=0,方差=δ2的高斯分布且獨立同分布,然後把ε =y-?x 代入公式,就可以化簡得到線性回歸的損失函數;
第二步:對損失函數進行優化也就是求出w,b,使的損失函數最小化;第一種方法使用矩陣(需要滿足可逆條件)

以上就是按矩陣方法優化損失函數,但上面方法有一定的局限性,就是要可逆;下面我們來說一說另外一個優化方法 梯度下降法;對於梯度下降法的說明和講解資料很多,深入的講解這裡不進行,可以參考:http://www.cnblogs.com/ooon/p/4947688.html這篇博客,博主對梯度下降方法進行了講解,我們這裡就簡單的最了流程解說;

總體流程就如上所示,就是求出每個變數的梯度;然後順著梯度方向按一定的步長a,進行變數更新;下面我們就要求出每個變數的梯度,下面對每個θ進行梯度求解公式如下:

如上我們求出變數的梯度;然後迭代代入下面公式迭代計算就可以了:

上面每次更新變數,都要把所有的樣本的加起來,數據量大的時候效率不高,下面還有一種就是按單個樣本進行優化,就是隨機梯度下降:

按上面優化步驟就可以求出w,b,就可以獲得優化的特徵方程:說這麼多先上個代碼:
[python] view plain copy
※廈門首富竟是個種菜的!2017胡潤全球富豪榜:廈門最有錢的7個,你認識嗎?
※孩子遇三個壓力期 父母要認識求救信號
※對行政裁判目的解釋的認識
※觀鑒|賈也:如何深刻認識社會的不平等——不平等的原因不是社會的制度性質,而是社會的權力配置
※認識「蛋白質」
TAG:線性回歸 | 原理 | 認識 | 回歸 | 實現 |