pla演算法總結及其證明
pla(perception learning algorithm)適用於二維及高維的線性可劃分問題。問題的答案只有同意或者不同意。例如銀行可以根據顧客的個人資訊來判斷是否給顧客發放信用卡。將顧客抽象為乙個向量x,包括姓名、年齡、年收入、負債數等。同時設定各個屬性所佔的比例向量w,對於正相關的屬性設定相對較高的比例如年收入,對於負相關的屬性設定較低的比例如負債數。y表示是否想該使用者發放了信用卡。通過求x和w的內積減去乙個閥值,若為正則同意發放信用卡,否則不發放信用卡。我們假設存在著乙個從x到y的對映f,pla演算法就是用來模擬這個對映,使得求出的函式與f盡可能的相似,起碼在已知的資料集上一致。
pla演算法即用來求向量w,使得在已知的資料中機器做出的判斷與現實完全相同。當x為二維向量時,相當於在平面上畫出一條直線將所有的點分成兩部分,一部分同意傳送,另外的不同意。內積可以表示成:
進一步可化簡成
其中x0=1,w0=-threshold。
y=1表示在給定的資料中,給該使用者發放了信用卡,-1表示未發放。
pla先假定w為0向量,然後找到乙個不滿足條件的點,調整w的值,依次進行迭代使得最終可以將兩部分完全分開。w的調整方案如下:
第一種,在給定的已知資料中向該使用者發放了資料,但演算法給出的結果是不發放,說明兩個向量的內積為負,需要調整向量使得二者的值為正,此時y=1。示意圖為
則調整後的w』=w+x=w+xy。
第二種情況是原本沒有發放但演算法顯示應該發放,此時y=-1。示意圖為
則調整後的w』=w-x=w+xy。
對於線性可分的資料集,pla演算法是可收斂的。證明如下:
存在完美的wf使得
兩個向量的內積增大說明兩個向量越來越相似或者向量的長度增大。向量w(t+1)的長度可以表示為
因為第t次發現不合格才會調整,所以得到
可以得到如下公式:
這說明每次調整後,向量的長度增加有限。不妨設
帶入上一公式得到
由上述過程可以得到以下兩個不等式:
根據余弦值最大為1,可以得到
該文主要是學習了台灣大學機器學習課程之後自己的一些總結,第一次寫部落格,有問題還請大家多多指正。演算法的實現在接下來繼續總結出來。
PLA演算法總結及其證明
pla perception learning algorithm 適用於二維及高維的線性可劃分問題。問題的答案只有同意或者不同意。銀行可以根據顧客的個人資訊來判斷是否給顧客發放信用卡。將顧客抽象為乙個向量 包括姓名 年齡 年收入 負債數等。同時設定各個屬性所佔的權重向量為 對於正相關的屬性設定相對...
matlab實現PLA演算法
分類模型感知器學習演算法 perceptron learning algorithm,pla pla演算法的乙個簡單應用場景 假設一家銀行要根據顧客的資產 居住年限 未償債務和其他資料字段來評估是否要給這名顧客發放信用卡,用y來表示是否批准或者 1 1 現在已經知道了顧客的資料和y的結果,想要知道判...
演算法理論 PLA
perceptron learning algrithm 二值分類問題,資料線性可分 找到一條直線wtx 0,一邊全為 1,另一邊全為 1。找到了這條線 即,向量w 就得到了分類器。每次選取分類出錯的樣本點,迭代執行 wt 1 t wt t yn t xn t t代表第t次迭代 我的問題 這裡是不是...