什麼是機器學習
所謂機器學習,是一種透過讓電腦學習大量資料來提高判斷精度的技術。機器學習的代表性方法有「監督式學習」、「非監督式學習」、「強化學習」。
機器學習的概念和主要方法
機器學習是一種讓電腦模仿人類透過經驗學習事物的方法,來提高電腦判斷精度的資料分析技術。其基本過程是將大量資料輸入電腦,讓電腦反覆學習,然後從資料中找出特定的模式。機器學習主要有「監督式學習」、「非監督式學習」、「強化學習」三種方法。
監督式學習是把「輸入資料」和「正解標註」成對輸入電腦,讓電腦學習資料的特徵。非監督式學習則是不給予正解標註,只大量輸入資料,讓電腦從資料中學習特徵。強化學習則是基於特定目標,對正確的行動給予獎勵,錯誤的行動給予懲罰,讓電腦學會能達成目標的最佳行動。
監督式學習的代表性演算法
監督式學習所用的演算法主要有「分類(Classification)」和「迴歸(Regression)」。
分類就是預測輸入的資料屬於哪一類。比如判斷電子郵件是正常郵件還是垃圾郵件的垃圾郵件過濾,以及識別圖中物體的圖像辨識等,都應用了分類演算法。
迴歸則是預測輸入資料的連續值。比如預測電力消耗量的變化或網站的點擊數等使用手中已有的資料來預測未來數值的任務,都是應用了迴歸演算法。
監督式學習只要解決了如何獲得附有正解標註的資料這道難關,就可以輕鬆完成,可說是最流行的機器學習方法。監督式學習的主要演算法如下表所示。另外在機器學習中,已訓練完畢、可以辨識特定種類或模式的檔案或運算方法稱為「模型」。
非監督式學習的代表性演算法
非監督式學習使用的演算法主要有「分群」和「降維」。分群主要是用來找出資料的傾向。包含將特徵相近的資料分割成k個組別的k-means法、將相似的資料按順序分組的階層式分群等等。
降維則是在盡可能保持資訊的情況下,將高維資料轉換成低維資料。比如,假使今天收集到一個10維的資料,人類是沒有辦法直接檢驗的。所以要把這個資料轉換成2維資料後再找出資料的特徵。以我們身邊的例子來說,比如測量身高和體重傾向的BMI就是一種降維算法。
當需要替監督式學習的訓練資料加上正解標註,或是想替客戶的購物偏好分類時,經常會使用非監督式學習方法。
強化學習的代表性演算法
強化學習是一種根據實際經驗嘗試犯錯,以找出「在特定情境中該怎麼做才好」的最佳行動方針來達成特定目標的方法。
在強化學習中,電腦會以某個終點為目標,比如在圍棋或象棋中就是「贏得對局」,然後做出行動,再根據該行動的結果好壞決定下一個行動。因此跟監督式學習和非監督式學習比起來,強化學習是一種訓練難度較高的方法。另外,因為強化學習被應用在遊戲和自動駕駛中,跟其他方法相比,算是一種偏研究性質的機器學習方法。
強化學習也被應用在「推薦」、「異常偵測」、「頻繁樣式的匹配」等領域。
推薦算法被用於向使用者推薦可能符合其喜好的物件。比如購物網站常見的「其他人也買了這些商品」欄位、影音網站的「相關影片」等等,被用來讓使用者在網頁服務上停留更長時間或促銷商品。
異常偵測算法則被用來偵測信用卡的不正當使用行為或提早發現股價的異常變化等,用於偵測異常的資料模式。
頻繁樣式的匹配算法則是用來從資料中找出出現頻率高的模式。有名的例子有「啤酒和紙尿布經常被同時購買」。這就是由機器學習從消費資訊中挖掘到的模式。