matlab實現PLA演算法

2021-10-03 12:29:03 字數 1045 閱讀 7239

分類模型感知器學習演算法(perceptron learning algorithm, pla)

pla演算法的乙個簡單應用場景:假設一家銀行要根據顧客的資產、居住年限、未償債務和其他資料字段來評估是否要給這名顧客發放信用卡,用y來表示是否批准或者(-1/1)。

現在已經知道了顧客的資料和y的結果,想要知道判斷發放信用卡的公式,我們在這裡選擇的函式形式h(x)給x的不同座標賦予了不同的權重,反映了它們在信貸決策中的相對重要性。然後將加權座標合併形成信用評分,並將結果與閾值進行比較。如果申請人通過了門檻,信用證被批准;如果不通過,信用證被拒絕。

h(x)=+1表示「批准信用」,h(x)=-1表示「拒絕信用」;

知乎上乙個關於pla演算法的通俗易懂的描述

以下求出權重的matlab**

clear

load data

%%tr_label=data(:,end)%取最後一列判斷資料

tr_data=data(1:360,1:end-1);%輸入 x 前360行的資料

tr_label=data(1:360,end);%標籤y 前360的所有資料(包括判斷)

[trnum,dim]=size(tr_data);%trnum=360行 dim=4列

w=ones(1,dim+1);%x對應的權重 生成1*5的1矩陣 初始權重都是1

x=[ones(trnum,1) tr_data];%加上x0 輸出第一列是1和前360行的資料矩陣

h=zeros(trnum,1);%sign函式的輸出值 生成360*1個零矩陣用來存放資料

while 1% 求權重w=[w0,w1,,,wd]^t

for i=1:trnum %對所有個體迴圈

h(i,:)=sign(x(i,:)*w');%計算函式的輸出值 1或者-1

if h(i,:)~=tr_label(i,:)%若函式的輸出與真實值不符合

endend

if h==tr_label%迴圈直到所有行的函式輸出與真實值相同

break

endend%此時的w是最優權重

演算法理論 PLA

perceptron learning algrithm 二值分類問題,資料線性可分 找到一條直線wtx 0,一邊全為 1,另一邊全為 1。找到了這條線 即,向量w 就得到了分類器。每次選取分類出錯的樣本點,迭代執行 wt 1 t wt t yn t xn t t代表第t次迭代 我的問題 這裡是不是...

PLA演算法總結及其證明

pla演算法總結及其證明 pla perception learning algorithm 適用於二維及高維的線性可劃分問題。問題的答案只有同意或者不同意。例如銀行可以根據顧客的個人資訊來判斷是否給顧客發放信用卡。將顧客抽象為乙個向量x,包括姓名 年齡 年收入 負債數等。同時設定各個屬性所佔的比例...

PLA演算法總結及其證明

pla perception learning algorithm 適用於二維及高維的線性可劃分問題。問題的答案只有同意或者不同意。銀行可以根據顧客的個人資訊來判斷是否給顧客發放信用卡。將顧客抽象為乙個向量 包括姓名 年齡 年收入 負債數等。同時設定各個屬性所佔的權重向量為 對於正相關的屬性設定相對...