吳恩達機器學習系列13:機器學習診斷法

在機器學習中,咱們訓練了一個模型,可能會發現這個模型獲得的數據與實際數據誤差太大。這時,一般咱們會在以下辦法中選擇去優化咱們的算法。算法

  • 獲得更多的訓練集;微信

  • 減少特徵的數目;機器學習

  • 嘗試去增長特徵;編輯器

  • 增長多項式;函數

  • 增大 λ學習

  • 減少 λ測試

以上這些步驟一般會花費你大量的時間,並且毫無目的地選擇極可能會沒有效果。flex

9150e4e5ly1fkna6imbtaj20go0azgmf.jpg

爲了防止以上的事情發生,減小讓你抓狂的概率,維護世界的和平,咱們須要用到機器學習診斷法(Machine learning diagnostic)去決定如何優化咱們的算法。優化



評估假設( Evaluating a Hypothesis


咱們在訓練機器學習模型時,常常會遇到過擬合問題。但什麼時候是過擬合呢?這就須要咱們來發現,一種方法是經過畫出函數圖像,例以下面這幅圖就能看出是一個過擬合。lua

未命名圖片.png

事實上咱們擬合的函數常常有不少個特徵,致使函數圖像很難畫出,須要另外一種方法——評估假設(Evaluating a Hypothesis。具體怎麼操做呢?咱們一塊兒來看一下。


咱們擁有以下數據集,須要把這些數據集隨機按 7:3 的比例劃分爲兩類:訓練集和測試集。訓練集用來訓練模型,測試集用來對模型的準確性進行評估。

未命名圖片.png

對於線性迴歸來講,咱們就用測試集的代價函數來評估。

未命名圖片.png


對於邏輯迴歸這種分類問題,咱們除了能夠用測試集的代價函數去解決之外,還能夠用測試偏差來計算。

未命名圖片.png

對於這個函數,咱們能夠這麼理解。若是預測結果與原結果不一致,函數值就爲 1,也就是出現偏差;不然函數值爲 0。最後求測試偏差求平均值獲得最終結果。

未命名圖片.png



模型選擇


對於機器學習,咱們可能選擇各類次數的多項式做爲模型。可是如何肯定多項式的次數纔是一個使人頭痛的問題。


咱們用 d 來表示選擇模型多項式的次數:

未命名圖片.png

選擇完成後,咱們會先用數據集訓練出參數集 θ,根據參數集 θ 計算出對應的代價函數,比較代價函數以後,選擇一個最優的多項式做爲模型。


這時候,咱們的數據集就不能按照以前的原則進行劃分了,要劃分紅 3 部分:訓練集(60%)、交叉驗證集(20%)和測試集(20%)。

未命名圖片.png

首先咱們經過訓練集訓練出參數集 θ,而後根據交叉驗證集選擇出最優的多項式模型,最後經過測試集去評估假設。



ps. 本篇文章是根據吳恩達機器學習課程整理的學習筆記。若是想要一塊兒學習機器學習,能夠關注微信公衆號「SuperFeng」,期待與你的相遇。

請關注公衆號.PNG

相關文章
相關標籤/搜索