機器學習之模型評估與模型選擇(學習筆記)

來源:互聯網
上載者:User

標籤:style   blog   http   ext   color   資料   

時間:2014.06.26

地點:基地

--------------------------------------------------------------------------------------

一、訓練誤差和測試誤差

  機器學習或者說統計學習的目的就是使學習到的模型不僅對已知資料而且對未知資料都都很好的預測能力。不同的學習方法會得出不同的模型。在評判學習方法的好壞時,常用的是:

1.基於損失函數的模型的訓練誤差                          2。模型的測試誤差

  假設學習到的模型為:  

  那麼訓練誤差即是模型  關於訓練資料集的平均損失:

                      N為訓練樣本的容量

測試誤差是模型 關於測試資料集的平均損失:

              

當損失函數是0-1損失時,測試誤差就是常見的測試資料集上的誤差率了:

    --------------------------------------------------------------------(1)

  I 在這裡是指示函數,即括弧部分取不等於時為1,否則為0(指示函數:括弧中條件為真時取1,為假時取0)

對應的,測試資料集上的準確率為:

     --------------------------------------------------------------------(2)

x顯然有:準確率+誤差率=1,即 (1)式+(2)式=1

訓練誤差的大小,對判斷給定問題是不是容易學習的問題是有意義的,但本質上並不太重要,重要的是測試誤差反映了學習方法對未知的測試資料集的預測能力,給定兩種學習方法,測試誤差小的方法具有更好的預測能力,是更為有效方法。通常將學習方法對未知資料的預測能力叫做泛化能力。

--------------------------------------------------------------------------------------

二、過擬合與模型選擇

  我們知道,模型的假設空間中有很多候選模型,這些模型不同複雜度,假設這個模型空間中存在一個真模型,即理想模型,那麼,我們希望是選擇和學習到一個盡量逼近這個理想模型的模型,這將表現在:學習到的模型與理想模型參數個數相同,所學習到的模型的參數向量與理想模型參數向量相近。但其中有個問題,因為我們是用有限的訓練資料來學習模型,若是一味的追求模型對訓練資料的表達能力,所得模型將很有可能比理想真模型的複雜度還要高,我們稱之為過擬合。即我們學習到的模型所包含的參數過多,對已知的資料表達得過分的好,卻對未知的資料預測得很差的現象。模型的選擇即是旨在避免過擬合并提高模型的預測能力。

舉個例來說:假設給定一個訓練資料集:


即給定一組輸入——輸出觀測值,多項式函數擬合的任務就是假設給定資料由M次多項式函數產生,選擇最有可能產生這些資料的M次多項式函數。即在M次多項式函數中(對應模型假設空間)選擇一個對已知資料以及未知資料都有很好預測能力的函數。下面來求解這個函數:

設M次多項式為:

式中x是單變數輸入,w是M+1個參數構成的向量。

我們首先可確定模型的複雜度,即確定多項式次數,然後在給定的模型複雜度下,按經驗風險最小化策略,求解參數(多項式係數),在這裡我們求經驗風險最小化,即:


這裡的係數1/2是為了計算方便,將模型與訓練資料代入得:


然後針對w求偏導,即可求得擬合多項式係數。

我們也容易知道當M=0時曲線時一條常數直線,資料擬合效果很差,M=1時曲線是一條斜直線擬合效果也很差,當M很大時,擬合曲線會通過每個訓練資料點,訓練誤差為0,對於訓練資料來說這是最好的,但這種太過好的效果反而是有問題的,因為資料本身就存在雜訊,不是理想資料,這種訓練誤差為0的倒不正常了,再有是這種擬合曲線對未知資料的預測能力不好,當M足夠差不多時,曲線對訓練資料擬合效果可能已經足夠好,此時模型也簡單,這便是一種較好的選擇。

  總得來說,通過上面分析,我們可發現,隨著M的增大,模型複雜度也增加,訓練誤差減小趨向於0,但測試誤差隨著多項式次數的增加先減小後增大,而我們學習的目的就是為了使得模型的測試誤差最小。所以M的選擇要防止過擬合的出現。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.