機器學習可行嗎(5)–錯誤率

前面幾篇提到:我們說「可以學習」要求的是要能得到低的錯誤率。但是如果今天很不幸的,我們用了一個模型,但是得到很高的錯誤率,那我們怎麼知道如何修改模型才能讓錯誤率降低?是要用更複雜的模型?還是更簡單的模型?還是其實另有其他方法?這篇文章主要就是要來討論錯誤率的來源,以及面對不同的來源,應該要做什麼樣的修改比較好。

在這裡討論錯誤率是為了之後的需要,但是只簡單的介紹概念,其中的數學推導就不詳細敘述,有興趣的人可以自行確認,或是筆者往後有時間的話再另外寫一篇關於bias-variance tradeoff 的問題。

繼續閱讀 “機器學習可行嗎(5)–錯誤率"

機器學習問題–Convex Problems(1)

這篇文章我們將要討論一類非常典型的學習問題:Convex Learning Problems。Convex 是用來描述一個集合,或是一個函數的特性,稍後會詳加定義。在真實應用中,非常多可以有效率學習的問題都是Convex Learning Problem,像是等下就會發現 linear regression ,或是 logistic regression (且將loss function 定為squared loss )都是屬於這類問題。

繼續閱讀 “機器學習問題–Convex Problems(1)"

機器學習可行嗎(3)–Uniform Convergence

經由上一篇<<PAC lernability>>的討論,我們還是沒有辦法說學習真的是可行的,為什麼?因為儘管在上一篇的最後已經把過於理想的Realizability assumption 去除了,但是仍舊有一個不太合理的假設我們還沒解決:我們能在訓練資料上表現地很完美,也就是L_S(h)=0

L_S(h)=0不好嗎?對,不太好。因為學習的目的是使得L_{D,f}(h) 越小越好,而不是L_S(h)。更糟糕的是,L_S(h) 是我們唯一能夠掌握的判斷依據,我們希望的應該是讓L_S(h) 能夠忠實反映出L_{D,f}(h) 的情況,如果真實錯誤率很大,訓練錯誤率也會蠻大;真實錯誤率很小,訓練錯誤率也會很小,這樣才是一個理想的學習吧。

繼續閱讀 “機器學習可行嗎(3)–Uniform Convergence"

機器學習可行嗎(2)–PAC learnable

從<<機器學習可行嗎(1)>>我們有概念:學習是希望從舊有的經驗中找尋規則,並在面對沒有看過的資料時也能成功預測。

現在問題來了,要怎麼能夠說這個模型「學得好」了呢?是要要求它「每次」都能「零錯誤率」?這樣似乎太嚴苛了。但是多少的錯誤率是可以接受的呢?又一定要每次都對嗎?還是大部分時候是對的就好?還有「尋找使得訓練錯誤率最低的函數」﹝ERM﹞這個方法什麼時候會是不錯的方法呢?

因此這次我們要討論的主題就是PAC learnability,幫助我們定量的描述什麼叫做「學得好」。

繼續閱讀 “機器學習可行嗎(2)–PAC learnable"

機器學習可行嗎(1)–學習v.s.擬合

由<<初體驗–第一個演算法PLA>>我們發現,機器學習似乎是可以辦到的。
從這個新的單元<<機器學習可行嗎>>開始,我們將正式的來分析機器學習的條件有任何限制嗎?又或者是有沒有一個全知全能的演算法可以告訴我們所有問題的答案呢?不過首先我們要先來釐清一件小小的事情。

繼續閱讀 “機器學習可行嗎(1)–學習v.s.擬合"