感知機是一種線性二分類模型,它屬於判別模型。感知機學習旨在求出將訓練集進行線性劃分的超平面。損失函式採用誤分類的損失函式,使用梯度下降演算法進行對損失函式最小化。感知機是神經網路與svm的基礎。
剛剛提到判別模型,什麼是判別模型?
判別模型&生成模型
判別模型:由資料直接學習決策函式f(
x)或者條件概率分布p(
y|x)
作為**的模型。判別模型關係的是對於給定的輸入x,應當**什麼樣的y。判別模型包括:k近鄰、感知機、決策樹,邏輯回歸、最大熵模型、svm、提公升方法、條件隨機場
生成模型:由資料學習聯合概率分布p(
x,y)
,然後求出條件概率分布p(
y|x)
作為**的模型。生成模型有:樸素貝葉斯、隱馬爾科夫模型。
正例:(3,3),(4,3)
負例:(1,1)
#coding:utf-8
import numpy as np
#輸入資料
x = np.array([[3,3],[4,3],[1,1]])
y = np.array([1,1,-1])
alpha = 1
#學習率
w = np.array([0,0]) #初始化權重
b = np.array([0]) #初始化偏置
length = len(x)
flag = 0
while
true:
for i in range(length):
flag = 1
if ((np.dot(w,x[i].t)+b)*y[i])<=0:
w = w+alpha*y[i]*x[i] #梯度下降進行更新權重
b = b+alpha*y[i]
# print "w",w
# print "b",b
flag = 0
if flag==1:
break
#直到所有的樣本點均滿足條件
print
"w",w
print
"b",b
>>>
w [1
1]b [-3]
得到分離超平面:x(
1)+x
(2)−
3=0
得到的感知機模型為:f(
x)=s
ign(
x(1)
+x(2
)−3)
其中,x(
1)表示特徵的第乙個值,x(
2)表示特徵的第二個值
1、感知機學習有兩種形式,乙個是原始形式,如上例題,還有一種是對偶形式。
2、當訓練集是線性可分的,感知機學習演算法的迭代是收斂的,經過有限次搜尋就可以找到分離超平面。
3、當訓練集線性不可分時,感知機學習演算法不收斂。
4、當訓練集線性可分時,感知機學習演算法存在無窮多個解。解由於初值不同或者迭代順序不同而有所不同。
參考:統計學習方法–李航
機器學習 感知機
感知機是一種簡單的二類分類的線性分類模型,用於處理可以線性可分的二分類問題。感知機對應於輸入空間 特徵空間 中將例項劃分為正負兩類的分離超平面,屬於判別模型。模型。從輸入空間到輸出空間有如下函式 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 ...
感知機學習筆記
從今天起,我會不定時更新機器學習學習心得,不會去寫特別複雜的公式,因為這些公式在 統計學習方法 和 機器學習 上面都有,我也有標註和推導,也不期望像趙志勇師兄那樣發書,只想通過我的學習筆記更多的記錄我對這個知識點的理解與概括,方便我日後回顧複習時快速記憶。感知機 首先,感知機 pla 是乙個二類分類...