從零開始的機器學習生活 - 機器學習的種類

從零開始的機器學習生活 - 機器學習的種類


你是否會有個疑問到底機器學習 (Machine Learning) 到底是怎麼讓電腦學習的?如果籠統地跟你說就是一堆數學、演算法、統計學、向量、微積分諸如此類的東西,如果全都很陌生…沒關係我也不會XD我也不會跟你說一堆數學公式,如果有興趣可以去看 機器學習你也可以 – 文組帶你手把手實做機器學習聖經 悔恨當初沒學好數學啊。

機器學習的方式

必須要先知道兩個名詞

  • 資料(features)

    身高體重等這種餵給機器學習的資料集

  • 標記(label)

    資料的答案

到底機器怎麼學?機器學習的方式約能分為三大類

  • 監督式學習(Supervised learning)
  • 非監督式學習(Unsupervised learning)
  • 強化式學習(Reinforcement learning)

監督式學習(Supervised learning)

顧名思義,你必須要一樣一樣的告訴他正確答案久了他才會知道這是什麼東西,就跟五歲小朋友一樣:那是什麼?那是車子那是什麼?那是房子…監督式學習的資料必須要有 標記 (年齡、性別、收入等)要有這些資料給電腦學習。

監督式學習中有兩種問題可以討論

分類問題(Classification)

即是透過機器學習,預測結果是屬於哪一種類別的方法。

  • 分類問題(Classification)
    • Features: 身高 體重
    • Label: 性別
  • Task: 給一個人的身高跟體重並且預測出他的性別

回歸問題(Regression)

根據資料電腦會自己擬出一條曲線而預測出一個解答

  • 回歸問題(Regression)
    • Features: 坪數 房間
    • Label: 房價
  • Task: 給房子的坪數還有房間數量預測出房價

非監督式學習(Unsupervised learning)

如果你的資料沒有 label 只有 features ?你沒有正確答案可以 fit on 所以你需要從資料中找到一種模式(pattenrs)並且找到結構。

你並沒有告訴機器 label 他自己會將資料分門別類,會飛的、會跳的、有四隻腳的,或許有他自己的獨特分類方式(只是你看不懂電腦會懂)你不需要告訴他每樣東西是什麼,他自己會知道怎麼分類。

  • 群聚問題(Clustering)
    • Features: 狗的身高 體重
    • Label: None
  • Task: 將數據相近的群聚再一起

群聚問題不會告訴你到底這些狗是什麼品種,他只會依據 features 將相近的資料群聚再一起。

強化式學習(Reinforcement learning)

強化學習有三個組件

  • Agent-Learning / Decision Maker(代理學習/決策者)
  • Environment(Agent 與環境之間的互動)
  • Actions(Agent 能做的動作)

AlphaGo 就是強化式學習的應用,強化式學習的特徵是訓練必須要有正負回報(positive/negative reward)在訓練過程中,模型會根據不同的狀況(state / environment) 嘗試各種決定 (action) 在給定的時間內取得最高的 reward 或是學習環境決策出最好的動作。

如下兩個影片:

結論

ML 就是透過演算法將資料分類 或 分群 轉化為規則或知識。

  • Classification (分類): 如字義所見,即是透過機器學習,預測結果是屬於哪一種類別的方法。(藍色 or 綠色 等等等)
  • Regression (迴歸分析): 與前者 Classification 方法的不同之處,在於 Regression 演算法通常是預測出一個「數值」。(87% 不能再高了)
  • Clustering (分群): 通常是用來處理「沒有正確答案」的問題 Clustering 能將有相同特徵者叢集在一塊。(蘿莉控、御姐控)

那麼簡單的來說:

  • 如果您的問題能夠以 類別 來回答 => Classification (分類)
  • 如果您期望的解答是一個數值的話 => Regression (迴歸分析)
  • 如果您想將具相同特性的資料群集分類 => Clustering (分群)

並且知道了三種機器學習的方式

  • 監督式學習(Supervised learning)
  • 非監督式學習(Unsupervised learning)
  • 強化式學習(Reinforcement learning)

相信各位知道這幾個概念之後會比較理解機器學習。

參考資料

【講講科普】 當你有了三個孩子他們分別叫監督式學習、非監督式學習與強化式學習
李宏毅深度学习(2017)

相關文章

從零開始的機器學習生活 – Anaconda 與 Jupyter Notebook