【ML2】機器學習之線性迴歸

【知識儲備】

線性迴歸:

1: 函數模型(Model):

假設有訓練數據

 

那麼爲了方便我們寫成矩陣的形式

 

2: 損失函數(cost):

 現在我們需要根據給定的X求解W的值,這裏採用最小二乘法。   

最小二乘法:如果有很多的給定點,這時候我們需要找出一條線去擬合它,那麼先假設這個線的方程,然後把數據點代入假設的方程得到觀測值,求使得實際值與觀測值相減的平方和最小的參數。對變量求偏導聯立便可求。

因此損失代價函數爲: 

3: 算法(algorithm):

現在我們的目的就是求解出一個使得代價函數最小的W:

a.矩陣滿秩可求解時(求導等於0):

            

b.矩陣不滿秩時(梯度下降):

      梯度下降算法是一種求局部最優解的方法,對於F(x),在a點的梯度是F(x)增長最快的方向,那麼它的相反方向則是該點下降最快的方向(原理:將函數比作一座山,我們站在某個山坡上,往四周看,從哪個方向向下走一小步,能夠下降的最快)

注意:當變量之間大小相差很大時,應該先將他們做處理,使得他們的值在同一個範圍,這樣比較準確。

    1)首先對θ賦值,這個值可以是隨機的,也可以讓θ是一個全零的向量。

    2)改變θ的值,使得J(θ)按梯度下降的方向進行減少。

描述一下梯度減少的過程,對於我們的函數J(θ)求偏導J: 

Repeat  until convergence:{

     image

下面是更新的過程,也就是θi會向着梯度最小的方向進行減少。θi表示更新之前的值,-後面的部分表示按梯度方向減少的量,α表示步長,也就是每次按照梯度減少的方向變化多少。

     image 

}

 

假設有數據集D時:

    

對損失函數求偏導如下:

       

使用矩陣表示(方便計算)

   

從概率層面解釋-迴歸模型的目標函數:

       基本上每個模型都會有一個對應的目標函數,可以通過不同的最優化求解方法(梯度下降,牛頓法等等)對這些對應的目標函數進行求解。【線性迴歸模型,我們知道實際上是通過多個自變量對自變量進行曲線擬合】。我們希望找到一條可以較好擬合的曲線,那我們如何判斷一條曲線的擬合程度的好壞。上面講到,我們採用的是最小二乘法(預測值和真實值得誤差的平方和),那爲什麼要用這個作爲目標函數呢?可以從中心極限定理、高斯分佈來分析

         1.中心極限定理:設有n個隨機變量,X1,X2,X3,Xn,他們之間相互獨立,並且有相同的數學期望和均值。E(X)=u;D(x)=δ2.令Yn爲這n個隨機變量之和。

                 

Zn爲X這幾個變量的規範和。

           2.高斯分佈:給定一個輸入樣本x,我們得到預測值和真實值間存在的誤差e,那麼他們的關係如下:

         

           而這裏,我們就可以假設e服從標準的高斯分佈

           爲什麼呢?迴歸模型的最終目標是建立自變量x和y之間的關係,我們希望通過x可以較爲準確的表示結果y。而在實際應用場景中,很難甚至不可能把導致y結果的所有變量(特徵)都找到,放到迴歸模型裏面。

我們只存放那些認爲比較重要的特徵。根據中心極限定理,把那些對結果影響比較小的(假設獨立分佈)之和認爲是符合正態分佈是合理的。

             

     那麼x和y的條件概率:

                  

     那麼知道一條樣本的概率,我們就可以通過極大估計求似然函數,優化的目標函數如下:

     

  通過取對數我們可以發現極大似然估計的目標函數和最小平方誤差是一樣。在概率模型中,目標函數的極大和極小與極大似然估計是等價的

 

假設隨機變量爲Y,和普通變量x存在相關關係,由於Y是隨機變量,對於x的各個確定值,Y有它的分佈(高斯)。

          

使用極大似然估計可求解。我們知道對於下面公式:

         

y爲隨機變量,在c=E(y)時達到最小,這表明以E(y)作爲y的近似是最好的。

 

 

 

 

 

參考文章:

1.https://www.cnblogs.com/GuoJiaSheng/p/3928160.html

 

接下來參考:https://blog.csdn.net/lisi1129/article/details/68925799進行下一步文章撰寫及代碼運行分析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章