機器學習中的假設檢驗

機器學習中的假設檢驗

前言

  在前文中,我們瞭解了實驗模型的評估方法和性能度量,看起來就能夠對學習器進行評估比較了:先使用某種評估方法測得學習器的某個性能度量結果,然後對這些結果進行比較。那麼如何作比較呢?是直接取得性能度量的值然後比“大小”嗎?但實際上沒有這麼簡單,因爲我們希望比較的是泛化性能,但通過實驗的方法我們能獲得的只是測試集上的性能,兩者未必相同,其次,由於測試集選擇的不同,測試集上的性能也未必相同,第三,很多機器學習算法本身具有一定的隨機性,即使是同一個算法,因爲參數設置的不同,產生的結果也不同。那麼有沒有合適的方法去比較學習器的性能呢?

假設檢驗

  統計假設檢驗能夠爲我們進行學習器性能比較提供依據,基於假設檢驗的結果,可以推斷出,如果在測試集上觀察到學習器A比B好,則A的泛化性能是否優於B,以及這個結論的把握有多大。下面先來看看兩種最基本的假設檢驗。
  假設檢驗中常以錯誤率爲性能度量,用 ε 表示,“假設”是對學習器泛化錯誤率分佈的某種判斷和猜想,現實中我們無法獲得泛化錯誤率,只能獲知測試錯誤率 ε’,兩者之間接近的可能性比較大,相差很遠的可能性比較小。
  泛化錯誤率爲ε的學習器在一個樣本上犯錯的概率是ε,測試錯誤率ε’意味着在m個測試樣本中恰好有m × ε’個被錯誤分類,假設測試樣本是從樣本總體分佈中獨立採樣取得的,那麼泛化錯誤率爲ε的學習器將其中m’個樣本誤分類,其餘樣本全部正確分類的概率爲:

(mm)ϵm(1ϵ)mϵ×m\begin{pmatrix} m \\ m' \\ \end{pmatrix}\epsilon^{m'}(1-\epsilon)^{m-\epsilon\times{m}}

由此可以估算出恰好將m × ε’個樣本誤分類的概率如下,這也表達了在包含m個樣本的測試集上,泛化錯誤率爲ε的學習器被測得測試錯誤率爲ε’的概率。

P(ϵ;ϵ)=(mϵ×m)ϵϵ×m(1ϵ)mϵ×mP(\epsilon';\epsilon) = \begin{pmatrix} m \\ \epsilon'\times{m} \\ \end{pmatrix}\epsilon^{\epsilon'\times{m}}(1-\epsilon)^{m-\epsilon'\times{m}}

給定測試錯誤率,則解得P(ε’;ε)在ε = ε’時最大,|ε-ε’|的絕對值增大時,P(ε’;ε)減小,這符合二項分佈
在這裏插入圖片描述
  我們可以使用二項檢驗來對“ε<=0.3”這樣的假設進行檢驗,或者更一般的,考慮假設“ε <= ε0”,則在1 - α的概率內所能觀察到的最大錯誤率如下式,這裏的1-α反映了結論的“置信度”。直觀地來看,對應上面的柱狀圖中陰影部分的範圍。
$$

Tips: s.t. 的意思是subject to ,即左邊的式子在右邊滿足條件時成立。

  這個時候如果測試錯誤率小於臨界值,則根據二項檢驗可以得出結論:在α的顯著度下,假設“ε <= ε0”不能被拒絕,即能以1-α的置信度認爲,學習器的泛化錯誤率不大於ε0;否則該假設可以被拒絕,即α的顯著度下,可認爲學習器的泛化錯誤率大於ε0。
  在多數情況下我們並不是只做一次留出法估計,而是通過多次重複留出法或者是交叉驗證法多次訓練、測試,這樣就會得到多個測試錯誤率,此時可以使用“t檢驗”。假設我們得到了k個測試錯誤率,則平均測試錯誤率和方差分別爲
在這裏插入圖片描述
  考慮到這k個測試錯誤率可以看做是ε0的獨立採樣,則變量
在這裏插入圖片描述
服從自由度爲k-1的t分佈,如下圖
在這裏插入圖片描述
  對假設“μ=ε0”和顯著度α,我們可以計算出測試錯誤率均值爲ε0時,在1 - α概率內能觀測到的最大錯誤率,即臨界值。這裏考慮雙邊假設,上圖中兩邊陰影部分各有α/2的面積;假設陰影部分範圍分別爲(-∞,-α/2],[α/2,∞)。如果平均錯誤率μ與ε0之差|μ-ε0|位於臨界值範圍[-α/2,α/2]內,則不能拒絕假設“μ=ε0”,即可認爲泛化錯誤率爲ε0,置信度爲1 -α,否則可拒絕該假設。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章