- 分類問題(classification problem)
- 範例:身高體重分性別
- 特徵抽取(feature extraction): 找人來量身高體重
- 訓練(training): 用一堆你知道身高體重和性別的人,來學出一套分辨的標準(模型)
- 測試(test): 用訓練好的模型,猜測其他那些你能量到身高體重但是不知道性別的人的性別
- 如果只是假裝不知道,就可以拿答案來計算模型的「準確度」
- 過擬合(over fitting): 模型把練資料學得太好,導致無法應付有變化的測試資料
- 驗證(validation): 為了防止模型過擬合,為了保護模型的穩定
- 從訓練資料中切出一小部分,假裝不知道答案,稱為驗證資料(validation data)
- 如果學了一段時間,發現 validation data 的準確度下降,就是過擬合了
- K 次交叉驗證(K-fold cross validation): 把訓練資料切成 N 分,每一份輪流當 validation
- 身高體重不夠準?那就抽別的 feature: 頭髮長度、臉型
- 亂抽特徵可能不一定有用
- 跟分類目標八成沒什麼關聯的: 血型
- 幾乎大部分資料都有相同值的: 鼻子有幾個
- 冗餘的(互相可輕易推得的): 生日&星座
- 分類錯誤(classification error): 這麼可愛一定是男孩子
- 錯誤分析(error analysis): 戴假髮?腿很細?皮膚白?
- 有哪些經典模型呢?
- 線性分類: 一刀兩斷
- 最近鄰居分群(Nearest Neighbor): 跟誰最近就跟它同一國
- 可以找 K 個最近的來投票,稱為 K-NN
- 基本上沒有什麼訓練,就是拿記憶吐司全部背起來
- 高斯混合模型(Gaussian Mixture Model, GMM): 不同類別會各自聚成小團體,小團體裡面可能還有小小團體
- 用高斯分布來描述小小團體的位置和大小
- 我屬於哪個小小團體的機率最高?
- 支撐向量機(Support Vector Machine, SVM): 把資料投影到高維空間,再一刀兩斷
- 決策樹(Decision Tree): 依照值的大小、範圍等等來判斷
- 自適應增強(Adaptive Boosting, AdaBoost): 一刀不夠,你有沒有砍兩刀?
- 神經網路(Neural Network): 下回待續...
- 可以當作佛系分類器
- 不用費心思設計 feature,網路走完了自然會有答案
- 回歸問題: 如果預測目標是連續的數字
- 以身高預測體重: 就解方程式啊不然咧?
- 不過方程式長什麼樣子,需要事先假設
- 一次式?二次式?指數對數?其他?
- 要算的是那些係數