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、最后,總結