機器學習筆記-advice for applying machine learning

首先要感謝stanford 大學的adrew ng 老師的課程

6.1 deciding what to try next

  1.debug 時出現問題要咋辦呢?

最終結論爲:普遍認爲1,2,6能解決過擬合問題,機遇3,4,5能有解決低擬合問題

機器學習診斷

1.可以給出建議使得學習算法更有成效

2.需要時間來完善和嘗試,但總體來說還是節省時間的

3.有時能排除某些不能顯著提升表現的步驟

6.2 evaluating a hypothesis

訓練誤差小的假設並非就是好的假設(可能會導致過擬合),不能泛化到其他實例中去,

so how to evaluate a hypothesis?

    這裏就談到了訓練集和檢驗集的問題,此處NG老師用的是七三分(在數挖中有。632自助法及k折交叉驗證 法等)

    線性迴歸問題中:從訓練集中學習theta值 (最小化J(theta)),再計算檢驗集中的J(theta)

  邏輯迴歸中呢,當然也可以用上條,但另一種辦法是計算分類正確率(用0、1來表示)

6.3 Model Selection and Train/Validation/Test Sets

 先看一種model selection just like this,每個模型分別計算出theta的向量,再用J(檢驗集)中最小的即可

         

上面這種中呢,不幸的是並不足以be a fair estimate of how well   my hypothesis generalizes.(NG認爲可能在檢驗集很大的情況下,上述方法纔有可用之處)

         爲麼呢,因爲檢驗數據已經參與了模型選擇,再用它來檢驗模型是泛化誤差,純屬搞笑。

將數據分爲三部分,訓練數據,驗證數據(交叉驗證),檢驗數據,那麼經典分法是6:2:2

那麼他認爲較好的辦法在於哪裏呢(說實話,我也覺得挺不錯的)

         在上圖中,用訓練數據來得出幾個模型的theta,再用驗證數據選出最小J(test)的那個模型,最後用檢驗數據來檢驗此模型。所以這種方法出來的驗證誤差要小於檢驗誤差的

6.4 diagnosing Bias vs,Variance(偏差與方差)換句話說就是低擬合與過擬合的問題,此節一張圖足以,哈哈


 6.5 regularization and Bias/Variance       

私以爲略似於前面的模型選擇,好的模型要做選好(即要d 和lamba),且看後面如何組合在一起,

     

 

再來一張


6.6 learning curves

前者爲high bias 即overrfit

此爲underfit,最終很相似的境界

在現實中可能曲線並非如此完美 ,但反應了趨勢。當Jcv>=Jtt時,增加訓練集個數還是相當有效的嘛!

6.7 deciding what to do next revisited

第一點:關於調試學習算法的方法及應用,可見第一張圖

第二點:其實覺得應該放在神經網絡中關於選擇隱藏層層數的問題

小型的神經網絡(基於更少的參數,更傾向於低擬合) 但computationally cheaper

而大型較複雜的神經網絡(基於更多的參數,更傾向於過似合,)但computationally expensive,此時可用神一般的lamda

最後ng老師又開心的笑了,陰險地說道,這些東西很多硅谷老油條都不清楚,但現在你們知道了,回家樂去吧,哈哈





















發佈了31 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章