李宏毅機器學習筆記01(regression)


Regression

1、首先,什么是regression(回歸)

2、然后,實現回歸的步驟(機器學習的步驟)

  step1、model(確定一個模型)——線性模型

  step2、goodness of function(確定評價函數)——損失函數

  step3、best function(找出最好的一個函數)——梯度下降法

3、進一步,如何做得更好(優化step1)

  方法1、select another model(選擇另一個模型)

  方法2、consider the hidden factors(考慮其他隱藏因素)

4、再進一步,防止過擬合(優化step2)

  方法:正則化

5、最后,總結

 

1、首先,什么是regression(回歸)

  Regression 就是找到一個函數 function,通過輸入特征 x ,輸出一個數值 Scalar

 

  • 股市預測(Stock market forecast)

    輸入:過去10年股票的變動、新聞咨詢、公司並購咨詢等
    輸出:預測股市明天的平均值

  • 自動駕駛(Self-driving Car)

    輸入:無人車上的各個sensor的數據,例如路況、測出的車距等
    輸出:方向盤的角度

  • 商品推薦(Recommendation)

    輸入:商品A的特性,商品B的特性
    輸出:購買商品B的可能性

 

2、然后,實現回歸的步驟(機器學習的步驟)

  舉個栗子:我們要預測Pokemon精靈攻擊力。

  輸入:進化前的CP值、物種(Bulbasaur)、血量(HP)、重量(Weight)、高度(Height)
  輸出:進化后的CP值

 

  step1、model(確定一個模型)——線性模型

  

  先從簡單的單個特征(Xcp)開始(后面改進再考慮多個特征)。

 

 step2、goodness of function(確定評價函數)——損失函數

  1、確定好model以后,就開始訓練數據

  

  以此類推,訓練10個數據:

   2、確定損失函數

  有了這些真實的數據,那我們怎么衡量模型的好壞呢?從數學的角度來講,我們使用距離。求實際進化后的CP值模型預測的CP值差,來判定模型的好壞。

也就是使用 損失函數(Loss function) 來衡量模型的好壞,和越小模型越好。如下圖所示:

 

 

 

 step3、best function(找出最好的一個函數)——梯度下降法

   1、找到一個best function(說白了是找最佳的參數),也就是使損失函數最小時候的參數

 

  2、用梯度下降法,求最佳參數  

  1)梯度是什么?梯度下降又是什么?

  梯度

  • 在單變量的函數中,梯度其實就是函數的微分,代表着函數在某個給定點的切線的斜率
  • 在多變量函數中,梯度是一個向量,向量有方向,梯度的方向就指出了函數在給定點的上升最快的方向

  梯度下降:“下山最快路徑”的一種算法

  2)先考慮簡單的一個參數w

 

 

  首先在這里引入一個概念 學習率 :移動的步長,如圖7中 η (eta)

  步驟1:隨機選取一個 w0 。
  步驟2:計算微分,也就是當前的斜率,根據斜率來判定移動的方向。
     大於0向右移動(增加w)
     小於0向左移動(減少w)
  步驟3:根據學習率移動。
  重復步驟2和步驟3,直到找到最低點。


  3)再考慮兩個參數(w、b)

 

  3、梯度下降法的效果

  顏色約深的區域代表的損失函數越小

  

   4、梯度下降的缺點

    總結一下梯度下降法:我們要解決使L(x)最小時參數的最佳值,梯度下降法是每次update參數值,直到損失函數最小。

 

  但是梯度下降法會出現問題呢?

 

  step4、回歸結果分析

  經過上述三個步驟后,我們就得到了訓練后的“最佳參數w,b”,那么它在測試集的performance怎么樣呢?下面一起來看看吧

 

  

  如何優化呢?繼續看吧

 

3、進一步,如何做得更好(優化step1欠擬合)

  方法1、select another model(選擇另一個模型)

  1、model改用不同函數的performance:

       

 

  2、如何選擇model呢

 

 

 

  超過三次函數以上的model都出現了過擬合問題,因此要找到一個suitable model(這里是第三個)

  方法2、consider the hidden factors(考慮其他隱藏因素)

  1、再考慮另外一個因素(精靈的種類)

  

 

   performance:

 

 2、把更多的因素都考慮

 

              

 

   考慮更多的因素反而出現了過擬合的問題,說明有些因素跟本次實驗的CP值預測沒有關系

   過擬合這么討厭,到底如何減少過擬合問題呢?往下看!

4、再進一步,防止過擬合(優化step2)

  方法:正則化

  1、比如先考慮一個參數w,正則化就是在損失函數上加上一個與w(斜率)相關的值,那么要是loss function越小的話,w也會越小,w越小就使function更加平滑(function沒那么大跳躍)

  2、正則化的缺點

  正則化雖然能夠減少過擬合的現象,但是因為加在損失函數后面的值是平白無故加上去的,所以正則化過度的話會導致bias偏差增大

  

  5、最后,總結

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM