在機器學習中,感知機(perceptron)是二分類的線性分類模型,屬於監督學習演算法。輸入為例項的特徵向量,輸出為例項的類別(取+1和-1)。感知機對應於輸入空間中將例項劃分為兩類的分離超平面。感知機旨在求出該超平面,為求得超平面匯入了基於誤分類的損失函式,利用梯度下降法 對損失函式進行最優化(最優化)。感知機的學習演算法具有簡單而易於實現的優點,分為原始形式和對偶形式。感知機**是用學習得到的感知機模型對新的例項進行**的,因此屬於判別模型。感知機由rosenblatt於2023年提出的,是神經網路和支援向量機的基礎。
假設輸入空間(特徵向量)為x⊆
rn,輸出空間為y=。輸入x∈
x 表示例項的特徵向量,對應於輸入空間的點;輸出y∈y表示示例的類別。由輸入空間到輸出空間的函式為
f(x)=si
gn(w
⋅x+b
)
稱為感知機。其中,引數w叫做權值向量weight,b稱為偏置bias。w⋅
x 表示w和x的點積
∑i=1mwi
xi=w
1x1+
w2x2
+...
+wnx
n
sign為符號函式,即
f(x)=
(其中xi∈x=rn,yi∈y=,i=1,2...n,學習速率為η)
輸出:w, b;感知機模型f(x)=sign(w·x+b)
(1) 初始化w0,b0,權值可以初始化為0或乙個很小的隨機數
(2) 在訓練資料集中選取(x_i, y_i)
(3) 如果yi(w xi+b)≤0
w = w + ηy_ix_i
b = b + ηy_i
(4) 轉至(2),直至訓練集中沒有誤分類點
解釋:當乙個例項點被誤分類時,調整w,b,使分離超平面向該誤分類點的一側移動,以減少該誤分類點與超平面的距離,直至超越該點被正確分類。
偽**描述:
對於每個w⋅
x 其實是這樣子的(假設x表示的是七維):
對於輸入的每個特徵都附加乙個權值,然後將相加得到乙個和函式f,最後該函式的輸出即為輸出的y值。
正樣本點:x1
=(3,
3)t ,x2
=(4,
3)t
負樣本點:x1
=(1,
1)t
求感知機模型f(
x)=s
ign(
w⋅x+
b),其中w=
(w(1
),w(
2))t
,x=(
x(1)
,x(2
))t
解答思路:根據上面講解的,寫初始化權值w和偏置b,然後一步一步的更新權值,直到所有的點都分正確為止。
解:(1) 令w0
=0,b
0=0
(2) 隨機的取乙個點,如x1
,計算y1
(w0⋅
x1+b
0),結果為0,表示未被正確分類,根據下面的式子更新w,
b
(此例中,我們將學習率
η
設定為1):
w←w+ηyi
xib←b
+ηyi
計算得到
w1=w0+η
y1x1
=(3,
3)t
b1=b0+η
y1=1
得到乙個模型
w1⋅x+b1
=3x(
1)+3
x(2)
+1(3)接著繼續,計算各個點是否分錯,通過計算得到,x1
和x2 兩個點,yi
(w0⋅
xi+b
1)都大於0,所以是被正確分類的點,無需修改權值w和bias項;而對於x3
通過計算得到y3
(w0⋅
x3+b
1)<
0 ,誤分了,所以修改權值:
w2=w1+y
3x3=
(2,2
)tb2=
b1+y
3=0
得到線性模型:
w2x+b2=
2x(1
)+2x
(2)
一次下去,知道所有的點都有yi
(w0⋅
xi+b
1)>
0 即可
……
……
……
最後求得
w7=(
1,1)
t,b7
=−3
所以感知機模型為:
f(x)=si
gn(x
(1)+
x(2)
−3)
即我們所求的感知機模型。
感知器perceptron在機器學習當中是相當重要的基礎,理解好感知器對後面的svm和神經網路都有很大的幫助。事實上感知器學習就是乙個損失函式的最優化問題,這裡採用的是隨機梯度下降法來優化。
[1] 統計學習方法, 李航 著
[2] wikiwand之perceptron
[3] wikipedia
本欄目機器學習持續更新中,歡迎來訪:dream_angel_z 部落格
機器學習 感知機
感知機是一種簡單的二類分類的線性分類模型,用於處理可以線性可分的二分類問題。感知機對應於輸入空間 特徵空間 中將例項劃分為正負兩類的分離超平面,屬於判別模型。模型。從輸入空間到輸出空間有如下函式 f x s ign wtx b 其中w 為權值,b為偏執。生成的超平面為 wt x b 0 其中w 為超...
機器學習 感知機
r nx rn 輸出空間為y 輸入x x x x表示例項的特徵向量,對應於輸入空間的點 輸出y y表示示例的類別。由輸入空間到輸出空間的函式為 x si gn w x b f x sign w x b x w x表示w和x的點積i 1mwi xi w 1x1 w2x2 wnx n i 1mwixi ...
機器學習 感知機
1 感知機是二分類的線性模型,輸入空間是例項的特徵向量,輸出是例項的類別 1,1 屬於判別模型。2 假設資料線性可分,感知機的學習目標是求得乙個能夠將訓練集資料正例和負例完全分開的分離超平面,如果訓練資料線性不可分,那麼就無法獲得這個超平面 抑或問題 針對抑或問題,解決方法是多層感知機組合。3 輸入...