iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0
AI & Data

機器學習的 hello world - 用手寫數字辨識系統學習 ML 的 30 天系列 第 22

[DAY22] 可以用在手寫數字辨識系統上的機器學習方法整理

  • 分享至 

  • xImage
  •  

寫這篇時突然發現有個很重要的觀念沒有提到…通常遇到圖片分類問題時,我們都會用捲基神經網路(CNN)來處理,因為它能記住二維(旁邊 pixel)的訊息。

而通常我們不選擇用神經網路作為分類方法,可能有像神經網路很棒,但過程黑箱(black box),有時候很難解釋為什麼結果和正確率會是這樣,所以這時候用可以找出特徵節點的方法做分類會比較好解釋說明,或對其他方法更熟悉所以用該方法等原因。

我們在 DAY5 提到,若從技術處理的角度來看,機器學習的過程就是在找一個函式(function),讓機器有能力根據我們提供的資料,找到我們想要的結果,達到人工智慧的目標。至於人工智慧的程度是要像人類一樣懂分類會預測判斷?還是像人類一樣思考?有興趣的人可以查圖靈測試這個關鍵字意義。


回到我們的主題,手寫數字是分類問題,而與分類有關的機器學習方法有:

  • 邏輯迴歸(Logistic Regression):適用二分類,但可以做到多分類
  • SVM:適用二分類,但可以做到多分類
  • K 近鄰演算法(KNN, K Nearest Neighbor):K 值一般會選奇數,但偶數也行
  • 簡單貝氏分類(Naive Bayes classifier):因其假設與現實情形不符(以手寫數字圖片輸入大小28*28=784維來說,輸入彼此獨立的前提假設不對),所以訓練的正確率通常不會太高
  • 決策樹(Decision Tree):容易有 overfitting 的現象,也就是訓練正確率達百分百,但測試正確率低。程式實作上會用主成分分析(PCA) 或 t-SNE 等降維方法找出重要特徵,再讓決策樹進行分類
  • 隨機森林(Random Forest Classifier):決策樹進階版,使用大量決策樹來預測,然後選擇最多決策樹預測的類作為結果輸出

相關程式碼跟各方法的意義與優缺我放在明天說明。


這邊最後再提兩點

  1. 監督與非監督學習的差別在有沒有標記標籤(label)的數據(data)來訓練學習,詳細可看 [DAY6] 機器學習學什麼?釐清手寫數字辨識系統的學習情境與類型
  2. 分類跟預測問題方法是可以轉換的,譬如說預測年齡問題,可以轉成年齡段分類問題。

機器學習的方法當然還有很多,像基因演算法、模糊控制(fuzzy control)跟隱馬可夫鏈(HMM, Hidden Marcov Chain)[註1]都是機器學習的方法之一,這邊提的是跟分類有關的常用方法。結論:只要能達成你的目的的方法就是好方法!

大家明天見!


[註1] 隱馬可夫鏈(HMM, Hidden Marcov Chain),有看到用此方法來做數字0~9的語音辨識。這個方法非常常用及重要,跟「序列(sequential)」有關的問題如自然語言處理領域(分詞、詞性標註、語音辨識等)都有它的存在。不過發現不是很確定它怎麼做到手寫數字辨識的(寫字筆畫順序關係?),所以就沒有特別提它了


上一篇
[DAY21] 神經網路模型有哪些?種類與使用介紹3 與 NN 總結
下一篇
[DAY23] 可以用在手寫數字辨識系統上的機器學習方法介紹
系列文
機器學習的 hello world - 用手寫數字辨識系統學習 ML 的 30 天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言