2016年8月18日 星期四

[學習筆記1] 機器學習基石 - Learning to Answer Yes/No :: Perceptron Learning Algorithm

前情題要

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 第二講學習筆記

沒有留言:

張貼留言

/* 載入prettify的autoloader */ /* 載入JQuery */