深度學習入門 第二章 感知機

2022-09-03 23:51:12 字數 2687 閱讀 7855

此為本人學習《深度學習入門》的學習筆記

感知機接受多個輸入訊號,輸出乙個訊號。感知機的訊號只有「流/不流「(1/0)兩種取值,0對應不傳遞訊號,1對應傳遞訊號。

圖2-1 有兩個輸入的感知機

神經元會計算傳送過來的訊號的總和,只有當這個總和超過了某個界限值時,才會輸出 1。這也稱為「神經元被啟用」。這裡將這個界限值稱為閾值,用符號 θ 表示。用數學公式表示就是

1、與門(and gate)

僅在兩個輸入均為1時輸出1,其他時候則輸出0

2、與非門(nand gate)

當兩個輸入均為1時輸出0,其他時候輸出1

3、或門(or gate)

當兩個輸入均為0時輸出0,其他時候輸出1

1、簡單的實現

利用python實現邏輯電路,先定義乙個接受引數x1和x的and引數

defand(x1, x2):

w1, w2, theta = 0.5, 0.5, 0.7tmp = x1*w1 + x2*w2

if tmp <=theta:

return0

elif tmp >theta:

return 1

在函式內初始化引數w1, w2, thete, 當輸入的加權總和超過閾值時返回1,否則返回0.

2、匯入權重和偏置並實現

把式子2.1的θ 換成-b,可改為式2.2表示感知機的行為

此處,b稱為偏置,w1和w2稱為權重。

defand(x1, x2):

x =np.array([x1, x2])

w = np.array([0.5, 0.5])

b = -0.7tmp = np.sum(w*x) +b

if tmp <=0:

return0

else:

return 1

3、實現與非門和或門

defnand(x1, x2):

x =np.array([x1, x2])

w = np.array([-0.5, -0.5]) # 僅權重和偏置與and不同!

b = 0.7tmp = np.sum(w*x) +b

if tmp <=0:

return0

else:

return 1

defor(x1, x2):

x =np.array([x1, x2])

w = np.array([0.5, 0.5]) # 僅權重和偏置與and不同!

b = -0.2tmp = np.sum(w*x) +b

if tmp <=0:

return0

else:

return 1

1、異或門(xor gate)

異或門也稱邏輯異或電路。僅當兩個輸入一方為1時,才會輸出1.

實際上,前面介紹的感知機無法實現異或門

滿足異或門條件的式子

如下圖,其無法用一條直線將o和△分開。

2、線性和非線性

感知機的侷限性就在於它只能表示由一條直線分割的空間。上圖這樣彎曲的曲線無法用感知機表示。另外,由上圖這樣的曲線分割而成的空間稱為非線性空間,由直線分割而成的空間稱為線性空間

感知機的絕妙之處在於它的疊加層

1、已有閘電路的組合

2、將其組合實現異或門

3、異或門的實現

defxor(x1, x2):

s1 =nand(x1, x2)

s2 =or(x1, x2)

y =and(s1, s2)

return y

4、用感知機表達異或門

異或門是一種多層結構的神經網路。上圖所示的疊加了多層的感知機也稱多層感知機(multi-layered perceptron)

感知機通過疊加層能夠進行非線性的表示,理論上還可以表示計算機進行的處理

第二章 感知機

感知機 是根據輸入例項的特徵向量x 對其進行二類分類的線性分類模型 f x sign w,x b 感知機對應於輸入空間的分離超平面wx b 0 學習策略是極小化損失函式 損失函式對應於誤分類點到分離超平面的總距離 學習演算法是基於隨機梯度下降法的對損失函式的最優化演算法 有原始形式和對偶形式,演算法...

第二章 感知機

目錄感知機的演算法 begin sign x left 1 x geq 0 1 x 0 end right.end 假設空間 存在超平面 w cdot x b 0 使得正負樣例在超平面兩側 資料集線性可分的充分必要條件是,正負例項點所構成的凸殼互不相交 conv s lambda i x i sum...

魚書 第二章 感知機

1.感知機 接收多個輸入訊號 x1,x2,輸出乙個訊號 y w是權重,稱為 神經元 神經元或者 節點 輸入訊號分別乘以固定的權重送入到神經元,神經元計算訊號的總和,當超過設定的某個界限時,輸出1,這也稱為 神經元被啟用 其中,這個界限稱為閾值,用 表示。感知機的中的每個輸入訊號都有其固有的權重,權重...