iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 24
0
Data Technology

使用Python進行資料分析系列 第 24

[Day24]什麼是機器學習Machine Learning?

嗨,今天是鐵人的第24天!

今天就來聊聊什麼是Machine Learning吧!

機器學習是實現人工智慧的一個途徑,即以機器學習為手段解決人工智慧中的問題。機器學習在近30多年已發展為一門多領域交叉學科,涉及機率論、統計學、逼近論、凸分析、計算複雜性理論等多門學科。機器學習理論主要是設計和分析一些讓電腦可以自動「學習」的演算法。機器學習演算法是一類從資料中自動分析獲得規律,並利用規律對未知資料進行預測的演算法。

我們常常說機器學習機器學習,到底是要學什麼?
就像網路上有大量的資訊,我們人透過這些大量的資訊去學習分辨什麼是好的什麼是壞的,而為了讓電腦也跟人的腦袋一樣去學習這些資訊、分辨資訊,這樣的演算法就是機器學習,也就是實現人工智慧的一個途徑。

台大機器學習林軒田教授:

機器學習想做的事情,簡單的說是要從資料中歸納出有用的規則。大數據說的是對大量的資料做分析,而人工智能說的是讓機器看起來更聰明,兩者都可以使用機器學習來做核心的工具

就像是我們看到了一隻貓咪,我們會知道他是一隻貓咪,是長期以來其他人告訴你說「這個是是貓咪!」,久而久之我們便可以看到貓咪就知道「哦!這是貓!」,而機器學習就是透過觀察資料讓機器自我學習分辨的技巧,我們很難去定義貓是什麼樣子,詳細定義所有貓的可能條件,比如貓有圓臉?肉肉的身體?尖耳朵?短耳朵?和長尾巴?

若我們能夠很簡單的定義貓是什麼了,那用判斷式就好了啊!

機器學習便是模仿人類學習的方式, 透過觀察 (data) 學習 (取出特徵、經過計算處理) 後得到有意義的技巧 (提升某項可以量化評估的表現)。

機器學習類型

機器學習主要分為兩類:

  • 監督式學習
  • 非監督式學習
  • 半監督學習
  • 增強式學習

監督式學習supervised learning

什麼是監督式學習?

一個監督式學習者的任務在觀察完一些訓練範例(輸入和預期輸出)後,去預測這個函數對任何可能出現的輸入的值的輸出。

監督式學習就像是我們給了機器一堆貓的照片告訴機器說「這個是貓」,再給機器一堆狗的照片告訴它「這是狗」,讓機器自己去學習分辨,接著我們便能給予任何貓或狗的照片問機器讓機器告訴我們這是 貓 或 狗?

非監督式學習unsupervised learning

什麼是非監督式學習?

非監督式學習是一種機器學習的方式,並不需要人力來輸入標籤。它是監督式學習和強化學習等策略之外的一種選擇。在監督式學習中,典型的任務是分類和迴歸分析,且需要使用到人工預先準備好的範例(base)

非監督式學習就像是我們給了機器一堆貓的照片和一堆狗的照片,可是我們並沒有告訴機器說哪些是貓哪些是狗,要機器自己去學習判斷出分類出圖片的不同之處。

半監督式學習semi-supervised learning

什麼是半監督式學習?

少部分資料有標準答案,可提供機器學習輸出時判斷誤差使用;大部分資料沒有標準答案,機器必須自己尋找答案。

我們任意選100張貓或狗的照片,在其中的10張告訴機器哪些是貓,哪些是狗,讓機器去學習認識貓與狗的外觀,再自己嘗試把另外90張照片內的特徵取出來進行分類。

增強學習

什麼是增強學習?

人類在進行決策時,常常會根據目前「環境」 的「狀態」執行「動作」,執行動作會造成兩個結果:一是人們會得到「環境」給我們的回饋,也就是人類會得到「報酬」,接著我們所執行的動作也會去改變「環境」,使得「環境」進入到一個新的「狀態」,如圖:

Imgur

「觀察到目前的狀態->執行動作->收到報酬與觀察到新的狀態」的步驟,重複非常非常多次,直到某個終止時間。

這和前面三種類型不同的地方在於,增強學習並不是一次給予全部資料先讓機器分類,而是不斷餵給機器資料,透過經驗讓機器不斷修正。

總結

今天說明了不同的機器學習類型:

  • 給予數據和標籤讓機器去學習的監督式學習
  • 只給予數據沒有給予標籤的非監督式學習
  • 結合監督式和非監督式的半監督式學習
  • 透過環境和經驗修正的增強式學習

參考資料來源:
人工智慧與增強學習
機器學習維基百科


上一篇
[Day23]Beautiful Soup網頁解析!
下一篇
[Day25]機器學習:特徵與標籤!
系列文
使用Python進行資料分析30

1 則留言

0
oooopppp1
iT邦新手 5 級 ‧ 2018-08-31 00:24:49

謝謝您的分享, 想請問
半監督(semi-supervised) 與 增強型(reinforcement)
這兩種型式的方法有哪些? 可否舉例一下呢?
感恩唷~

plusone iT邦新手 5 級 ‧ 2018-09-16 18:42:20 檢舉

嗨,請問是問有哪些演算法嗎? 可以到wiki上面有哦~
不好意思現在才看到留言,希望你已經解決囉!

oooopppp1 iT邦新手 5 級 ‧ 2018-11-09 19:52:50 檢舉

謝謝唷, 我大概知道嚕~ ^^y

我要留言

立即登入留言