零基礎入門的機器學習圖鑑:2大類機器學習╳ 17種演算法 ╳ Python基礎教學,讓你輕鬆學以致用

機器學習的種類
機器學習有許多種類,根據輸入資料(input data),可分類如下:
? 監督式學習(Supervised Learning)
? 非監督式學習(Un-supervised Learning)
? 強化學習(Reinforcement Learning)
以下將逐一詳述。

監督式學習
監督式學習是將問題的答案輸入電腦,讓電腦學習機器學習模型的方法,前提是必須具備「表示特徵的資料」與「作為答案的目標資料」。
假設我們提供電腦「身高」和「體重」作為特徵資料,再提供「性別(男性/女性)」作為答案資料,讓電腦學習並建立預測模型。
之後,只要將新的「身高」、「體重」資料輸入預測模型,便能預測出「性別」。
日常生活中常見的分類問題之一,就是垃圾郵件過濾器。由使用者自行判斷垃圾郵件並貼上標籤,作為目標變數,而寄件者與郵件內文則是特徵。使用者貼上標籤的資料愈多,機器學習就會進行得愈順利,預測的結果也會更精確。
除了分類問題,監督式學習中還有「迴歸問題」(Regression),可預測大小關係具有意義的數值。例如,先將「性別」與「身高」作為特徵資料輸入電腦,再輸入「腳掌長」作為答案資料。
在分類問題中,雖然可以將「男」視為0、將「女」視為1,也就是將標籤加以數值化,但此數值的大小關係並不具備任何意義。相對地,鞋子的尺寸,也就是「26.5cm」與「24cm」等數值的大小關係,則具有意義。
預測這種具有意義的數值,就是所謂的迴歸。在迴歸問題中,我們會將目標變數視為一種連續值,因此像23.7cm 這種並非一般鞋子尺寸的數值,也可能成為預測值。

非監督式學習
上述的監督式學習,是同時透過特徵與目標變數(正確答案)來學習的方法,而非監督式學習則不會提供目標變數(正確答案)給電腦。
有些人可能會感到疑惑──假如不告訴電腦答案,電腦要怎麼學習?
在非監督式學習中,我們會先輸入特徵資料,再將這些資料加以轉換,以其他方式呈現,或是找出資料中的子集合;這麼做的主要目的是分析輸入資料的結構。
此外,相較於監督式學習,非監督式學習的結果較難以解釋,或是必須根據分析者的經驗來進行帶有主觀的解釋。這是因為監督式學習的指標,是「能不能正確地預測目標變數」;但採用非監督式學習時,則必須對輸入資料具有某種程度的先備知識,才能針對結果進行解釋。
以下將以「分析某國中的學生成績」為例,來說明非監督式學習。假設「擅長數學的學生,也很擅長理化,但不擅長國文和社會科」。
非監督式學習中另有一種名為分群(Clustering)的分析方法,可將資料區分為多個群集(Cluster,由相似資料組成的群體),再加以分析。一般人很難直接看懂多變量資料(Multivariate Data,由3種以上變數組成的資料),但只要使用分群,便可用群集這種簡單的形式呈現。

強化學習
強化學習旨在學習如何使在某個環境中行動的智慧代理人(Agent)獲得最大效益,不過強化學習並不在本書討論範圍內。
舉例而言,強化學習就好比玩家(智慧代理人)在電玩(環境)中不斷嘗試錯誤,以獲取高分(效益),贏得最後的勝利。我們也可以將強化學習視為一種監督式學習,效益則相當於目標變數的值。
以電玩來比喻,玩家在遊戲中每個場景裡的行動有太多組合,想光靠人力來替每個動作評分是極為困難的。若將遊戲的場景與玩家的行動視為特徵,將分數視為目標變數,那麼玩家只要反覆玩幾次遊戲,電腦便能自動收集特徵與目標變數的組合。在強化學習中,反覆學習玩家在遊戲中的行動與遊戲結果,便能逐漸學會最有效益的行動。

機器學習的應用
機器學習可應用在各種領域,其中最有名的就是與汽車自動駕駛相關的研究;在文字資料的自動分類與自動翻譯方面,也有顯著的成果。在醫療領域,機器學習可用於分析X 光片,幫助人們及早發現疾病。此外,在氣象資訊中,一直以來也有類似機器學習的應用。
近年電腦因為價格降低而大為普及,加速了機器學習相關研究的進展。
網際網路與IoT 等的發達,使我們可以輕鬆獲取大量的資料。
這個領域最有趣的地方,就是根據不同的資料選擇最適合的演算法,獲得前所未有的新發現。下一節,我們將學習機器學習的具體步驟,以期達到利用實際資料進行機器學習的目標。

最新生活新聞
人氣生活新聞
行動版 電腦版