機器學習的主要挑戰
|
23
我們已經討論許多領域了
你已經瞭解機器學習真正的含義
為什麼它很有用
ML
系統
常見的種類
以及典型的專案工作流程長怎樣
接下來要看看在學習過程中可能出錯
阻止你做出準確預測的地方有哪些
機器學習的主要挑戰
簡單來說
因為你的主要工作是選擇學習演算法
並且用一些資料來訓練它
所以可能出
錯的東西就是
不良的演算法
不良的資料
」。
我們從不良資料談起
訓練資料不足
要讓一位蹣跚學步的小孩知道什麼是蘋果
你只要指著一個蘋果說
蘋果
」(
可能要重複
幾次
),
就可以讓孩子認出各種顏色與形狀的蘋果了
小孩真的很聰明
機器學習還不到這種程度
大多數的機器學習演算法都需要大量的資料才能正確運作
就算是非常簡單的問題
你通常也要用上千個樣本
當問題很複雜時
例如圖像或語音辨
你可能需要數百萬個樣本
除非你可以重複使用既有的模型的某些部分
)。
資料的影響力出人意料
Microsoft
的研究者
Michele Banko
Eric Brill
在一篇
2001
發表的著名論文
https://homl.info/6
中展示
當彼此差異極大的機器學習演算法
包括相當簡
單的演算法
獲得足夠的資料時
它們處理自然語言歧義消除
natural language
disambiguation
8
這種複雜問題的表現幾乎一模一樣
見圖
1-20)。
8
例如
可以根據上下文知道究竟該寫出
totwo
too
24
|
第一章:機器學習領域
1-20 
資料
vs.
演算法的重要性
9
作者說
根據這些結果
我們可能要重新評估究竟要把時間和金錢花在開發演算
法上
還是花在開發語料庫上
。」
Peter Norvig
等人在
The Unreasonable Effectiveness of Data」( https://homl.info/7
這篇
2009
10
發表的論文中進一步推廣
資料比演算法重要
的觀點
但是需要
注意的是
中小型資料組仍然相當普遍
而且取得額外的訓練資料不一定是一件
很輕鬆或低成本的事情
所以現在還不要放棄演算法
訓練資料無代表性
為了良好地類推
訓練資料必須能夠代表你想要類推的新案例
無論你使用基於實例學習
instance-based learning
或是基於模型學習
model-based learning
都是如此
例如
我們之前用來訓練線性模型的國家不具備完美的代表性
因為裡面缺少幾個國家
9
本圖轉載自
Michele Banko
Eric Brill
Scaling to Very Very Large Corpora for Natural Language Disambiguation,
Proceedings of the 39th Annual Meeting of the Association for Computational Linguistics (2001): 26–33
10 Peter Norvig et al., The Unreasonable Effectiveness of Data, IEEE Intelligent Systems 24, no. 2 (2009): 8-12.
機器學習的主要挑戰
|
25
1-21
是加入遺漏的國家之後
資料的樣貌
人均
GDP
美元
1-21 
更具代表性的訓練樣本
使用這些資料來訓練線性模型會得到實線
虛線則代表舊模型
你可以看到
加入一些遺
漏的國家不但明顯更改模型
也清楚地展現這個簡單的線性模型可能永遠無法良好運作
根據這張圖
非常富裕的國家不會比中等富裕的國家幸福
事實上
他們好像比較不幸
),
反過來
有些貧窮的國家看起來比許多富裕的國家幸福
我們使用無代表性的訓練組訓練出不太可能做出準確預測的模型
尤其是非常貧窮與非常
富裕的國家
重點是你要使用可以代表你想要類推的案例的訓練組
這件事做起來通常比聽起來困難
如果樣本太小
你就會遇到
抽樣雜訊
也就是無代表性的資料
),
但是如果抽樣方法有缺
即使是非常大型的樣本也有可能無代表性
這稱為
抽樣偏差
抽樣偏差案例
1936
年的美國總統大選可能是最有名的抽樣偏差案例
當時是
Landon
Roosevelt
角逐總統大位
Literary Digest
寄信給
1000
萬個人
進行一項大規模的
調查
它得到
240
萬封回信
滿懷信心地預測
Landon
將獲得
57%
的選票
結果
卻是
Roosevelt
獲得
62%
的選票
出錯的地方是
Literary Digest
的抽樣方法
首先
為了取得民調的郵寄地址
Literary Digest
使用了電話簿
雜誌訂閱者
名單
俱樂部成員名單等
這些名單都偏向有錢人
他們傾向共和黨
因此
會投給
Landon)。
26
|
第一章:機器學習領域
第二
只有不到
25%
的受訪者回答問題
這再次引入抽樣偏差
潛在排除不
太關心政治
不喜歡
Literary Digest
以及其他關鍵族群
這種特殊的抽樣偏
差稱為
無響應偏差
nonresponse bias)。
舉另一個例子
假設你想要建立一個系統來辨識
funk
音樂影片
有一種建構訓
練組的方法是在
You Tube
搜尋
funk music
並使用得到的影片
但是這種做法
預期
You Tube
的搜尋引擎可以回傳一組可代表
You Tube
的所有
funk
音樂影片的
集合
實際上
搜尋結果極可能偏向流行藝術家
如果你住在巴西
你會得到許
funk carioca
影片
聽起來完全不像
James Brown)。
但話說回來
你還可以
用什麼方法取得大型的訓練組
低品質的資料
顯然
如果你的訓練資料充滿錯誤
離群值與雜訊
例如因為低品質的指標
),
系統將更
難以找到資料底層的模式
所以你的系統較不可能良好運作
花時間整理訓練資料通常是
有價值的
事實上
大多數的資料科學家都花費大量的時間做這件事
這些是你應該整理
訓練資料的情況
如果有些實例明顯是離群值
直接捨棄它們
或試著親自修正錯誤
這有很大幫助
如果有些實例缺少一些特徵
例如
5%
的顧客沒有輸入他們的年齡
),
你必須決定究竟
要完全忽略這個屬性
忽略這些實例
填入遺漏的值
例如使用中位年齡
),
還是用
這個特徵訓練一個模型
再不使用這個特徵訓練另一個模型
無關的特徵
俗話說
投入垃圾就會輸出垃圾
你的系統只能夠在訓練資料含有足夠相關特徵
而且沒
有太多不相關的特徵時學習
機器學習專案成功的關鍵之一
在於找出一組良好的特徵來
訓練
這個程序稱為
特徵工程
feature engineering),
它包含下列步驟
特徵選擇
從既有的特徵中選出最有用的特徵來訓練
特徵提取
結合既有的特徵來產生更實用的特徵
例如使用之前看過的降維演算法
收集新資料來建立新特徵
看了許多不良資料的例子之後
我們來看一些不良演算法的例子
機器學習的主要挑戰
|
27
過擬訓練資料
如果你出國時被計程車司機騙了
你可能會說那個國家的
所有
計程車司機都是騙子
過度
延伸是我們人類常做的事情
不幸的是
如果我們不夠謹慎
電腦也會落入同樣的陷阱
在機器學習中
這種行為稱為
過擬
overfitting):
雖然模型在處理訓練資料時有良好的表
它無法正確地進行類推
1-22
這個生活滿意度高次多項式模型強烈地過擬訓練資料
雖然它處理訓練資料的表
現遠優於簡單的線性模型
但你真的相信它的預測嗎
人均
GDP
美元
1-22 
過擬訓練資料
深度神經網路等複雜的模型可以偵測資料內不易察覺的模式
但如果訓練組充斥雜訊
太小
會引入抽樣雜訊
),
模型可能會偵測出雜訊本身的模式
顯然這些模式無法類推新
實例
例如
假如你將許多其他的屬性餵給滿意度模型
包括無關緊要的屬性
例如國家
名稱
複雜的模型可能會找出這類的模式
在訓練資料中
名稱有
w
的國家的生活滿
度都大於
7New Zealand (7.3)Norway (7.4)Sweden (7.2)
Switzerland (7.5)
你相信將
這種用
w
來評估滿意度的規則套用在
Rwanda
Zimbabwe
的結果嗎
顯然在訓練資料裡
面出現這種模式純屬偶然
但模型無法判斷一種模式究竟是真的
還是只不過是資料中的
雜訊造成的
當模型的複雜程度遠超過訓練資料的數量和雜訊時
過擬就會出現
以下
是可行的解決方案
簡化模型
藉由選擇參數較少的模型
例如選擇線性模型
而不是高
次多項式模型
)、
減少訓練資料的屬性數量
或約束模型
收集更多訓練資料
減少訓練資料的雜訊
例如修正資料錯誤並移除離群值
)。

Get 精通機器學習 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.