機器學習系列13:機器學習診斷法

機器學習 算法 人工智能早報 2019-06-05

在機器學習中,我們訓練了一個模型,可能會發現這個模型得到的數據與實際數據偏差太大。這時,通常我們會在如下辦法中選擇去優化我們的算法。

· 得到更多的訓練集;

· 減小特徵的數目;

· 嘗試去增加特徵;

· 增加多項式;

· 增大 λ;

· 減小 λ。

以上這些步驟通常會花費你大量的時間,而且毫無目的地選擇很可能會沒有效果。

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

評估假設(Evaluating a Hypothesis)

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

機器學習系列13:機器學習診斷法

事實上我們擬合的函數經常有很多個特徵,導致函數圖像很難畫出,需要另一種方法——評估假設(Evaluating a Hypothesis)。具體怎麼操作呢?我們一起來看一下。

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

機器學習系列13:機器學習診斷法

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

機器學習系列13:機器學習診斷法

對於邏輯迴歸這種分類問題,我們除了可以用測試集的代價函數去解決以外,還可以用測試誤差來計算。

機器學習系列13:機器學習診斷法

對於這個函數,我們可以這麼理解。如果預測結果與原結果不一致,函數值就為 1,也就是出現誤差;否則函數值為 0。最後求測試誤差求平均值得到最終結果。

機器學習系列13:機器學習診斷法

模型選擇

對於機器學習,我們可能選擇各種次數的多項式作為模型。但是如何確定多項式的次數才是一個令人頭痛的問題。

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

機器學習系列13:機器學習診斷法

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

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

機器學習系列13:機器學習診斷法

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

相關推薦

推薦中...