在翻閱知乎時,得知李航所著的《統計學習方法》一書,於是就買了一本,看到csdn上已有大牛都發了相關的部落格,再次贅述就顯得囉嗦了,就直接上乾貨吧,,自己用matlab寫的**,和一些自己再看書時的小小的理解。
感知機是一種二類分類的線性模型模型,是乙個將輸入空間(特徵空間)分成正負兩類的分離超平面。它的更多文字簡介可參考這篇博文,裡面已經講的很詳細了。
下面總結了一些自己的理解以及需要自己注意的地方,更加的利於我們去理解。
感知機學習演算法分為原始形式和對偶形式:
1、在原始形式中,權重w的維度與訓練集中單個例項是一樣的,它是通過誤分類點不斷的改變w的值,而在對偶形式中,w被表示為例項和每個例項的線性組合,在yita為1的前提下,其可表示為n個alfa,n是訓練集中例項的個數。
2、因為二者的解太多了,所以需要加上相關的約束條件,於是便有了後面的svm。
例2.1的**:
close all;
clear all;
clc;
x =[3 3 1;
4 3 1;
1 1 -1];
w=[0 0]'; b=0;
mispot=1;%只是讓迴圈能夠開始
while mispot~=0
mispot=0;%每次迴圈後,記錄誤分類點的個數,並將其歸零進行下一次記錄
for row_=1:row
temp=x(row_,3)*(x(row_,1:2)*w+b);
if temp<=0
mispot=mispot+1;
w=w+x(row_,1:2)'*x(row_,3); b=b+x(row_,3);
disp('w_dq'),disp(w);
disp('b_dq'),disp(b);
endend
end
例2.2
close all;
clear all;
clc;
x =[3 3; 4 3; 1 1];
y=[1 1 -1];
alfa=zeros(1,3);
b=0;
yita=1;
[row,col]=size(x);
gram=zeros(3,3);
for i=1:row
for j=1:row
gram(i,j)=x(i,:)*x(j,:)';
endendcount=1;
while count~=0
count=0;
for i=1:row
temp=y(i)*(...
alfa(1)*y(1)*gram(1,i)+...
alfa(2)*y(2)*gram(2,i)+...
alfa(3)*y(3)*gram(3,i)+...
b);if temp<=0
count=count+1;
alfa(i)=alfa(i)+yita;
b=b+y(i);
endend
end
一些愚見奉上! 統計學習方法之感知機模型
寫這篇部落格的時候,我頭暈腦脹的。晚上11點多,特別想睡覺,但是一種深深的負罪感把我從床上拉了起來。世界上最遙遠的距離,就是明明非常喜歡那張床,卻還得假裝絲毫沒有把它放在心上。為什麼要寫感知機呢?這麼乙個老古董。因為我正好看到了 統計學習方法 的那一課。欲生欲死 死不足惜 夕陽西下 夏天真的特別容易...
感知機 統計學習方法
一 感知機適用問題以及它的輸入,輸出,求解方法 1 感知機 perceptron 適用於二類分類問題 該分類問題是線性可分問題 2 感知機模型是線性分類模型 3 感知機的幾何解釋,感知機對應的是乙個超平面 4 輸入 例項的特徵向量 5 輸出 例項的類別,取 1和 1二值 6 求解方法 有監督學習 給...
《統計學習方法》 感知機
最近終於有開始看 統計學習方法 了,畢竟無腦調參確實沒有什麼意義。一方面是作為看書的筆記,一方面作為比部落格或許能起到一點參考作用吧。希望可以日更。由輸入空間到輸出空間的函式 f x si gn w x b f x sign w cdot x b f x s ign w x b 稱為感知機。感知機是...