iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 3
0
AI & Data

Machine Learning for Dummies系列 第 3

[Day 3] 機器學習的步驟

在昨天的文章 [Day 2] AI, Machine Learning, and Deep Learning 中,介紹了 AI、機器學習,與深度學習三個當紅炸子雞之間的關係,今天回到這次系列文的主題機器學習,來談談關於實現機器學習的重要步驟。

開門見山,以下是機器學習的七個重要步驟

  • 收集資料 (Gathering data)
  • 準備數據 (Preparing that data)
  • 選擇模型 (Choosing a model)
  • 訓練機器 (Training)
  • 評估分析 (Evaluation)
  • 調整參數 (Hyperparameter tuning)
  • 預測推論 (Prediction)

收集資料

回到先前提到的例子,要訓練機器判斷走進便利商店的是人、是貓、還是狗,首先我們先要準備訓練資料給機器。有越大量的資料,就越有可能訓練出更厲害的機器,就像是刷了 100 份考古題的考生上考場一樣無往不利。

但其實很多時候,人們是沒有辦法準備足夠多的資料提供機器學習,所以需要有不同的方法來訓練機器,不能只是海量寫考古題而已。之後會稍微提到如果沒有足夠資料的話,該怎麼訓練機器。

準備數據

除了數量之外,資料本身的品質也會影響到訓練的品質。如果找了一堆線性代數的考古題,給明天要上場考微積分的考生,那也是一點幫助也沒有。回到先前的例子,要訓練機器分辨貓跟狗,如果我們準備了大量的貓,但相對少量的狗,訓練出來的機器,很有可能判斷的結果會偏向貓的機會比較大。

準備好資料(一大堆貓跟狗)之後,接下來我們首先要幫機器挑選出用來判斷的「特徵」(features),譬如說,聲音跟體長,以及判斷的結果,譬如

聲音 體長 結果
2020Hz 30cm
1440Hz 100cm
1984Hz 45cm

喔對了,除了準備資料來訓練機器之外,也要準備一組測試(或是評估)資料,這兩套資料是獨立的。就像是平常寫很多練習卷之後,在正式上考場之前,還是要來個模擬考,來確定學生是不是真的有學好。

選擇模型

在準備好資料之後,接下來,我們就要選擇合適的模型來訓練機器。在處理不同的資料、問題會使用到不同的模型,最簡單的模型就像是下面這個線性模型:

y = a + b * X1 + c * X2

我們期望只要把每一筆資料的聲音帶入 X1,把體長帶入 X2,算出來的 y 就會告訴我們這筆資料是貓還是狗。

訓練機器

那麼,要怎麼決定上面那個模型的參數 a, b 和 c 呢?這裡就是訓練機器的開始了。

通常一開始會隨機決定一組 a, b, c,然後,帶入先前準備好的訓練資料得到結果,接著去比較這個結果與預期結果之間的落差,並用一套演算法去持續調整 a, b, c 並縮小落差。對於一個「訓練有素」的機器來說,這個誤差應該是越小越好,也就是能夠更準確的判斷結果。

評估分析

當我們覺得我們的機器訓練到某個程度之後,我們就可以拿先前準備好的測試資料來考考它,看看機器是不是真的可以面對實際沒有見過的狀況,而不是只會處理有看過的訓練資料而已。

調整參數

讓訓練好的機器見過世面,了解它的能耐之後,可以回頭過來看看我們可以怎麼調整訓練方法,讓機器的判斷能夠更為精準。譬如調整跑過訓練資料的次數,調整學習速度的參數等等。其實我們不會知道最好的模型長什麼樣子,我們只能夠不斷地優化與逼近理想狀態。

預測推論

最後,我們就可以將訓練好的機器推上考場,不是,是推上實際的應用場景,來幫助人類做判斷或預測。當今年有個生物走進了便利商店,機器能夠立即判斷它是貓還是狗,然後做出相對應的行動,此時此刻,機器就好像擁有人的智慧一般!

談完了機器學習的七個步驟,明天來聊聊機器學習這個領域當中不同的訓練方式吧!


上一篇
[Day 2] AI, Machine Learning, and Deep Learning
下一篇
[Day 4] 機器學習中不同的學習方式
系列文
Machine Learning for Dummies30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言