前情題要 :
A takes D and H to get g = 機器學習演算法A由訓練資料D與可能的預測模型資料庫,找出最合適的最終預測模型g
回到一開始的信用卡的發卡驗證問題, 今天我們想要找到一個預測模型 f ,能夠讓我們丟入申請辦卡人的資料X之後,得到誰適合申辦信用卡的結果Y。
但在不知道f的情況下(天下沒有白吃的午餐,一切還是要自己來: P),透過過去的歷史紀錄D,配合機器學習演算法A,從假設組合H (H中包含多種可能的模型)裡面選一個預測模型g (但g前幾次的預測效果可能不佳,需要機器學習演算法A多次的修正參數進行調整)
將資料x丟入最接近真實模型f的訓練模型g之後,便能夠得到結果Y
Perceptron Learning Algorithm (感知層學習演算法, PLA) [1]
(Q: 如何證明在有限步驟內可以找到最後的解答 ?)
資料分類
在作PLA之前,首先來將資料點來進行一個分類
Sign函數[2]會根據 Sigma算出來的結果 (內含資料權重值*該項目資料數值)
減去 Threshold(門檻值) 的大小來判定
若符合條件,則判定為good,賦予 +1 值;反之,則為bad,賦予 -1 值
這邊的 h即為perceptron (感知神經元)
詳情可以看類神經網路
PLA演算法
PLA 林軒田老師戲稱叫作 知錯能改演算法
演算法過程如下面的投影片所表示
1. 首先演算法會隨機選擇一條線作為起始點
(當然,不考慮最佳化的情況下,若選的位置不好可能會需要多幾次運算次數)
然後檢查所有的資料點分類是否正確
2. 若有錯誤,則修正權重數值
3. 若有錯誤則繼續重複步驟2,直到找到可以正確分類的分割線為止
(答案可能不只有一個)
參考文獻 :
[1] 感知學習演算法(Perceptron Learning Algorithm)白話說明
[2] 符號函數 - Sign() Wiki
別人寫得筆記,更為用心跟詳細,分想給大家
林軒田教授機器學習基石 MACHINE LEARNING FOUNDATIONS 第二講學習筆記
沒有留言:
張貼留言