斯坦福大學公開課機器學習: advice for applying machine learning - evaluatin a phpothesis(怎麼評估學習演算法得到的假設以及如何防止過擬合或欠擬合)

來源:互聯網
上載者:User

標籤:因此   測試   迴歸   集中   預測   最小化   log   等於   bsp   

怎樣評價我們的學習演算法得到的假設以及如何防止過擬合和欠擬合的問題。

當我們確定學習演算法的參數時,我們考慮的是選擇參數來使訓練誤差最小化。有人認為,得到一個很小的訓練誤差一定是一件好事。但其實,僅僅是因為這個假設具有很小的訓練誤差,當將其樣本量擴大時,會發現訓練誤差變大了,這說明它不是一個好的假設。比如,擬合的非常好,一旦樣本量改變,其訓練誤差隨之增大。

 

 

那麼我們如何判斷一個假設是否是過擬合的呢?我們可以畫出假設函數h(x),然後觀察。但對於更一般的情況,特徵有很多個,比如。想要通過畫出假設函數來觀察,就變得很難甚至不可能了。因此,我們需要另一種評價假設函數的方法。

 

 

如下給出了一種評價假設的標準方法,假如我們有這樣一組資料群組,在這裡只展示了10組訓練樣本,當然通常有成百上千組訓練樣本()。為了確保我們可以評價我們的假設函數,我們要做的是將這些資料分成兩部分。第一部分將成為我們的訓練集,第二部分將成為我們的測試集。將所有資料分成訓練集和測試集,其中一種典型的分割方法是按照7:3的比例,將70%的資料作為訓練集,30%的資料作為測試集。這裡的m表示訓練樣本的總數,而剩下的那部分資料將被用作測試集。下標test將表示這些樣本是來自測試集,因此x(1)test,y(1)test將成為第一組測試樣本。值得注意的是,在這裡選擇了前70%的資料作為訓練集,後30%的資料作為測試集。但如果這組資料有某種規律或順序的話,那麼最好是隨機播放70%作為訓練集,剩下的30%作為測試集。當然如果資料已經隨機分布了,那麼可以選擇前70%和後30%。但如果你的資料不是隨機排列的,最好還是打亂順序,或者使用一種隨機的順序來構建資料,然後再取出前70%作為訓練集,後30%作為測試集。

 

 

下面展示了一種典型的訓練和測試線性迴歸學習演算法。首先,對訓練集進行學習,得到參數θ。具體來講就是最小化訓練誤差J(θ),這裡的J(θ)是使用那70%資料來定義得到的,也就是僅僅是訓練資料的。接下來,計算測試誤差,J下標test來表示測試誤差。取出之前從訓練集中學習得到的參數θ放在這裡,計算測試誤差,可以寫成如的形式(藍色字跡),這實際上是測試集平方誤差的平均值,也就是我們期望得到的值。因此,我們使用包含參數theta的假設函數對每一個測試樣本進行測試,然後通過假設函數和測試樣本計算出mtest個平方誤差。這是當我們使用線性迴歸和平方誤差標準時,測試誤差的定義。

 

 

那麼如果是分類問題,比如說使用羅吉斯迴歸的時候呢。

訓練和測試羅吉斯迴歸的步驟,與之前所說的非常類似。首先我們要從訓練資料,也就是所有資料的70%中學習得到參數theta,然後用如下的方式計算測試誤差,目標函數和我們平常做羅吉斯迴歸的一樣。唯一的區別是,現在我們使用的是mtest個測試樣本,這裡的測試誤差Jtest(θ)其實叫誤分類率,也被稱為0/1錯分率。0/1表示了我們預測到的正確或錯誤樣本的情況。當假設函數h(x)的值大於等於0.5,並且y的值等於0,或者當h(x)小於0.5,並且y的值等於1,那麼這個誤差等於1。這兩種情況都表明假設函數對樣本進行了誤判,這裡定義閾值為0.5。也就是說,假設結果更趨向於1,但實際是0;或者說假設更趨向於0,但實際的標籤卻是1,這兩種情況都表明誤判。否則,我們將誤差值定義為0,此時假設值能夠正確對樣本y進行分類。

然後,我們就能應用錯分率誤差來定義測試誤差,也就是1/mtest乘以h(i)(xtest)和y(i)的錯分率誤差(從i=1到mtest的求和)。

 

 

斯坦福大學公開課機器學習: advice for applying machine learning - evaluatin a phpothesis(怎麼評估學習演算法得到的假設以及如何防止過擬合或欠擬合)

相關文章

聯繫我們

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