斯坦福《機器學習》Lesson1-3感想-------2、線性迴歸

         監督學習的主要任務是預測目標變量的值,而且一般已經已知一些目標變量y。所以通常假設函數會根據訓練集(x,y)設爲:


基於已知的訓練集,我們應該如何確定θ的值。一般我們認爲h(x)與y值的越接近,θ的值越好。因此定義了代價函數:



所以θ的值可以通過最小化代價函數來確定。


1、LMS(Least Mean Square)算法

     爲了讓J(θ)最小,我們可以選擇梯度下降函數,它的核心思想就是要找到某函數的最小值,最好的方法就是沿着該函數的梯度方向尋找。所以可以假設:

  

其中α爲學習速率。 

    針對單變量的學習情況,我們可以這樣計算:


所以單變量的解爲LMS算法



2、梯度下降算法

     針對多變量的時候,會採用梯度下降算法。假設訓練集的個數是m,則算法如下:


這個算法的缺點就是每一次都要計算整個訓練集的梯度。當訓練集的個數m非常大的時候,梯度下降算法通常吃不消。


3、隨機梯度下降算法

    爲了克服梯度下降算法的缺點,我們選擇隨機抽取一個訓練集,然後計算梯度,更新θ的值,依次抽完整個訓練集。這樣每次只需計算當前訓練集的梯度。但是這樣的算法也可能不會讓J(θ)的值最小,只會在最小值附近波動。然而從實踐來看,效果通常不錯。所以如果訓練集特別大,隨機梯度下降算法比梯度下降算法好一些。


   

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