1. 程式人生 > >吳恩達.深度學習系列-C1神經網路與深度學習-W3淺層神經網路

吳恩達.深度學習系列-C1神經網路與深度學習-W3淺層神經網路

詞彙

justification n. 理由;辯護;認為有理,認為正當;釋罪
prime n.角分號(g’(z))
shallow 淺層

學習目標

Understand hidden units and hidden layers
Be able to apply a variety of activation functions in a neural network.
Build your first forward and backward propagation with a hidden layer
Apply random initialization to your neural network
Become fluent with Deep Learning notations and Neural Network Representations
Build and train a neural network with one hidden layer.

1.Neural Network Overview

回顧一下,邏輯迴歸的過程如下圖:
這裡寫圖片描述
一個簡單的神經網路結構如下圖,其中的每一個節點所做的工作與上圖的邏輯迴歸一樣。z=wx+b,a=σ(z)權重計算後進行啟用。
這裡寫圖片描述
在上圖這樣簡單的兩層網路中,相連的兩個神經元所進行的計算展開後,如下圖。
這裡寫圖片描述
[第一層]權重計算->啟用->[第二層]權重計算->啟用

2.Neural Network Representation

這裡寫圖片描述
一個簡單的神經網路結構如上圖。
‘隱藏層’是指在訓練集中,中間的那一層節點的計算後的值並沒有對應的監督學習中的樣本標籤進行對比。
在這樣一個網路中,

w[1]=(4,3),b[1]=(4,1);w[2]=(1,4),b[2]=(1,1)

3.Computing a Neural Network’s Output

如下圖,每一個神經元其實與邏輯迴歸類似,進行一個權值計算再進行一次啟用。
這裡寫圖片描述
每一個神經元共享一個偏置量b。
這裡寫圖片描述
a[0]=x=(3,1)
w[1]=(4,3),b[1]=(4,1)
z[1]=w[1]a[0]+b=(4,1)

a[1]=σ(z[1])=(4,1)

w[2]=(1,4),b[2]=(1,1)
z[1]=w[2]a[1]+b[2]=(1,1)
a[2]=σ(z[2])=(1,1)

4.Vectorizing across multiple examples

上一小節中我的程式碼筆記其實已經按vectorization的方式來計算了。再表述一下:
X有m個樣本,n個特徵,X=(n,m)
W[1]=(4,n),4b[1]=(n,1)