import numpy as np
defsgn
(i):
if i>
0or i ==0:
out =
1else
: out =-1
return out
x = np.asarray([[
1,2]
,[2,
1],[
3,2]
,[0,
0],[
-1,-
3],[
-2,3
]]) dp =[-
1,-1
,-1,
1,1,
1]w = np.asarray(
[0.2
,0.5
])
o =0.2
a =0.5
j =0
while1:
j= j+
1print
("第%d次epoch"
%(j)
) stop =
0for i in
range(6
):y = sgn(
(np.dot(x[i]
,w)-o)
)if y == dp[i]
:print
("樣本%d 無需調節"
%(i+1)
)else
: w = w +
0.5*
(dp[i]
- y)
*x[i]
o = o +
0.5*
(dp[i]
- y)
*dp[i]
print
("樣本%d 需要調節,調節後的w為[%0.1f,%0.1f],調節後的o為%0.1f"
%(i+
1,w[0]
,w[1
],o)
) stop = stop +
1if stop ==0:
break
第1次epoch
樣本1 需要調節,調節後的w為[-0.8,-1.5],調節後的o為1.2
樣本2 無需調節
樣本3 無需調節
樣本4 需要調節,調節後的w為[-0.8,-1.5],調節後的o為2.2
樣本5 無需調節
樣本6 需要調節,調節後的w為[-2.8,1.5],調節後的o為3.2
… … … …
第25090次epoch
樣本1 無需調節
樣本2 無需調節
樣本3 無需調節
樣本4 需要調節,調節後的w為[-30798.8,-5131.5],調節後的o為46194.2
樣本5 需要調節,調節後的w為[-30799.8,-5134.5],調節後的o為46195.2
樣本6 無需調節
第25091次epoch
樣本1 無需調節
樣本2 無需調節
樣本3 無需調節
樣本4 需要調節,調節後的w為[-30799.8,-5134.5],調節後的o為46196.2
樣本5 無需調節
樣本6 需要調節,調節後的w為[-30801.8,-5131.5],調節後的o為46197.2
… … … …
神經網路 卷積神經網路
這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...
神經網路 卷積神經網路
1.卷積神經網路概覽 來自吳恩達課上一張,通過對應位置相乘求和,我們從左邊矩陣得到了右邊矩陣,邊緣是白色寬條,當畫素大一些時候,邊緣就會變細。觀察卷積核,左邊一列權重高,右邊一列權重低。輸入,左邊的部分明亮,右邊的部分灰暗。這個學到的邊緣是權重大的寬條 都是30 表示是由亮向暗過渡,下面這個圖左邊暗...
神經網路簡介 多層神經網路
如上圖所示,該神經網路有三層。我們標記第一層 也就是輸入層 為a 1 第一層與第二層連線權重為w 1 然後第一層輸入與第一層權重的線性和為z 1 第一層神經元個數為n 1 並依次標記剩餘網路層。可以看出,存在 z l j i 1 n l a l i w l i,j a l w l j a l 1 f...