每日一個機器學習演算法——機器學習實踐

來源:互聯網
上載者:User

標籤:blog   http   os   ar   資料   2014   問題   log   sp   

知道某個演算法,和運用一個演算法是兩碼事兒。

 

當你訓練出資料後,發覺模型有太大誤差,怎麼辦?

1)擷取更多的資料。也許有用吧。

2)減少特徵維度。你可以自己手動選擇,也可以利用諸如PCA等數學方法。

3)擷取更多的特徵。當然這個方法很耗時,而且不一定有用。

4)添加多項式特徵。你在抓救命稻草嗎?

5)構建屬於你自己的,新的,更好的特徵。有點兒冒險。

6)調整正則化參數lambuda。

以上方法的嘗試有些碰運氣,搞不好就是浪費大把時間。

machine learning diagonostic. 機器學習診斷。檢查正確性,提升效率,節省調試時間。

一,評估假設

loss越小,不代表模型越好,有可能出現過擬合的現象。

正確的方法是:將資料分割為訓練集和測試集。利用訓練集訓練資料,測試集進行測試求出測試集誤差(test set error)

 

二,模型選擇與訓練驗證測試集

如何選擇正則化參數和多項式次數(模型選擇)

嘗試不同的正則化參數和多項式次數,選擇在測試集上損失最小的model。這似乎可行,但都是針對測試集計算,無法驗證泛化能力。

解決的方法就是劃分出三個集合:訓練集,驗證集,和測試集。

利用驗證集選擇最佳的參數模型,之後再在測試集上計算泛化損失。

 

三,模型診斷:bias vs variance

過擬合和欠擬合的判斷方法

繪製曲線

當d過小,有可能是欠擬合

當d過大,有可能是過擬合

對於欠擬合而言,驗證集和訓練集的loss均非常大

對於過擬合而言,訓練集的loss很小,而驗證集的loss很大。

 

四,正則化參數對欠擬合過擬合的平衡

lambuda很大的話,容易欠擬合,過小則容易過擬合。

如何選擇?

設定一個正則化參數的選擇範圍,在驗證集上計算每一個值所對應的loss的大小,選擇最小的那個。

 

五,學習曲線

high bias:

Jcv和Jtrain在m很大的情況下,都很高。

此時,增加樣本數將沒有效果。因為模型本身出了問題。可能的問題是模型過於簡單。

 

high variance:

Jcv和Jtrain之間間隔很大。

此時,增加訓練樣本數有可能會有很好的效果。

 

六、總結

1)擷取更多樣本:解決過擬合。欠擬合則不行。

2)更小的特徵集:同上。

3)添加其他特徵:解決欠擬合

4)添加多項式:解決欠擬合

5)減小lambuda: 解決欠擬合

6)增大Lambuda:解決過擬合

每日一個機器學習演算法——機器學習實踐

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.