感知機模型
按照統計學三要素來寫的話:
模型:符號函式
策略:損失函式;誤點到超平面的距離之和
演算法:利用梯度下降演算法進行求解
感知機原理:
感知機模型用來線性判別資料集,什麼意思呢就是用一超平面來隔斷兩個不同的類別,超平面在二維的資料集中就是一條直線,在三維的資料集中就是乙個平面,假設有n維的資料,那麼劃分的超平面為(n-1)維度。如下圖二維和三維的情況,藍色部分為超平面:
如何來找這個超平面可以使得分類呢,這裡採用計算點到超平面的距離之和作為損失函式。
點到這個超平面的距離公式推導為:
有了這個後我們就可以來寫感知機模型了。原諒我偷懶了,這裡就把弄過來吧,**(統計學習方法)
: self.x = x # 例項點
self.y = y # 例項點的分類
self.n = n # 例項點個數
self.eta = eta # 學習率
# 隨機梯度下降法
defsgd
(self)
:# 對w,b取初值
w = np.array([0
,0])
b =0# 記錄一次迭代是否有誤分類點
flag =
1while flag ==1:
flag =
0for i in
range
(n):
# 如果有誤分類點
if self.y[i]
*(w.dot(self.x[i]
)+ b)
<=0:
# 更新w,b,設定flag為1
w = w + self.eta * self.y[i]
* self.x[i]
b = b + self.eta * self.y[i]
flag =
1return w, b
if __name__ ==
"__main__"
: x = np.array([[
3,3]
,[4,
3],[
1,1]
])y = np.array([1
,1,-
1]) n =
3 eta =
1 perceptron = perceptron(x, y, n, eta)
w, b = perceptron.sgd(
("w is"
,w)print
("b is"
,b)結果
w is[1
1]b is
-3
模式識別1 線性分類器(感知機)
1.1 感知機演算法原理 首先明確,感知機的輸入和輸出,輸入就是一組向量,每個向量都有n個特徵值,輸出為每個向量的所屬類別,對於二分類而言,就是 1和 1.這個可以用sign函式來模擬 輸入空間到輸出空間的函式為 f x sign w x b 函式理解 w,b為感知機模型引數,w是乙個權重向量,b是...
模式識別與智慧型計算第一節(模式識別概述)
1 模式識別系統 資料獲取 用計算機語言 可計算數字符號 來表示研究物件 預處理 對研究物件去雜訊,復原等 特徵提取與選擇 對資料進行變換,降緯,簡化處理等 分類決策 歸類 分類器設計 對分類結果進行判斷檢測,誤差分析 2 模式識別主要問題 特徵選擇與優化 特徵選擇 使同類物體緊緻性 組合優化 對映...
《模式識別與智慧型計算》的資料集
這本書我老師說很好,讓我買來看看,結果一學期過去了,emmmm,不是我的問題,是這本書沒有資料,沒有源 強行甩鍋 咳咳,跑遠了,這本書的資料集我我到網上看到了,它的資料集格式是這樣的 allsamples有兩個字段,乙個為num,乙個feature,然後feature是乙個25 5維的資料,25表示...