《模式識別與智慧型計算》感知機模型

2021-10-02 04:08:57 字數 1827 閱讀 1835

感知機模型

按照統計學三要素來寫的話:

模型:符號函式

策略:損失函式;誤點到超平面的距離之和

演算法:利用梯度下降演算法進行求解

感知機原理:

感知機模型用來線性判別資料集,什麼意思呢就是用一超平面來隔斷兩個不同的類別,超平面在二維的資料集中就是一條直線,在三維的資料集中就是乙個平面,假設有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(

)print

("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表示...