w的調整值=學習率*(期望輸出-實際輸出)*與w相對應輸入節點x
學習率一般取0到1之間,學習率太大容易造成權值調整不穩定,學習率太小容易造成權值調整太慢,迭代次數過多。
1.誤差小於某個預先設定的值
2.設定最大迭代次數
假設平面座標系上有三個點,(3,3),(4,3)這兩個點的標籤為1,(1,1)這個點標籤為-1,構建神經網路來分類。
輸入的資料為2維,所以輸入節點為2個,把偏置因子也當成乙個輸入節點,共三個。
//引入庫
import numpy as np
import matplotlib.pyplot as plt
//輸入資料
x=np.array([[
1,3,
3],[
1,3,
4],[
1,1,
1]])
//輸入標籤
y=np.array([1
,1,-
1])//權值取0到1的隨機數
w=(np.random.random(3)
-0.5)*
2print
(w)//設定學習率
lr=0.11
//計算迭代次數n=0
//輸出o=0
//更新迭代次數並調整權值
defupdate()
:global x,y,w,lr,n
n +=
1 o=np.sign(np.dot(x,w.t)
) w_c=lr*
((y-o.t)
.dot(x))/
int(x.shape[0]
) w=w+w_c
//用迴圈來進行權值的迭代
for _ in
range
(100):
update(
)print
(w)print
(n) o=np.sign(np.dot(x,w.t))if
(o == y.t)
.all()
:print
('finished'
)print
('epoch:'
,n)break
//將得到的結果畫圖
ps.以上來自學習csdn五天入門深度學習有感
單層感知器python 深度學習之單層感知器(一)
當我們最初學習機器學習時候,了解到最簡單的神經網路可能便是單層感知器,他也是監督學習的最簡單一種。本文章就通過 人工神經網路理論 設計及應用 書中介紹的單層感知器一節,進行python的 實現。單層感知器的網路結構如下 上圖便是乙個單層感知器,很簡單的乙個結構,圖中說明我們有個3維的輸入值分別是x1...
深度學習PART I 單層感知器
單層感知器的原始形式如下 如果把偏置項當作特殊權值,則單層感知器可以改為如下形式 感知器的學習規則 學習率 1 學習率太大,容易造成權值調整不穩定。2 學習率太小,權值調整太慢,迭代次數太多。收斂條件 1 誤差小於某個預先設定的較小的值。2 兩次迭代之間的權值變化已經很小。3 設定最大迭代次數,當迭...
學習筆記 感知器 單層感知器舉例
在人體神經網路中,神經細胞是有著基本處理訊號功能的基本單元,單層感知器就是人工神經網路中模擬人體神經細胞的基本單元。單層感知器 單層感知器是最簡單的神經網路,它包含輸入層和輸出層,訊號先經過線性組合器處理然後再經過啟用函式,最後輸出結果。1 輸入節點 input 輸入節點是訊號的輸入端,感知器可以有...