1. 程式人生 > >吳恩達機器學習學習筆記(四)(附作業程式碼註釋)

吳恩達機器學習學習筆記(四)(附作業程式碼註釋)

吳恩達機器學習學習筆記(四)

標籤: 機器學習


代價函式與反向傳播(Costfunction and Backpropagation)

一.代價函式

L:代表神經網路的層數
s_l sl 代表第i層的單元數
k代表輸出層的單元數
二元分類問題時:
y=0 或者 y=1
僅有一個輸出,s_l sl =1
k=0
當多元分類k=0問題時:
s_l

sl =k(當k>=3)
y為一個K維矩陣,有k個輸出單元

基本概念

1邏輯分類的評價函式

J(\theta) = - \frac{1}{m} \sum_{i=1}^m [ y^{(i)}\ \log (h_\theta (x^{(i)})) + (1 - y^{(i)})\ \log (1 - h_\theta(x^{(i)}))] + \frac{\lambda}{2m}\sum_{j=1}^n \theta_j^2

J(θ)=1mi=1m[y(i) log(hθ(x(i)))+(1y(i)) 
log(1hθ(x(i)))]+λ2mj=1nθ2j

2.神經網路的評價函式

J(Θ)=1mi=1mk=1K[y(i)klog((hΘ(x(i)))k)+(1y(i)k)log(1(hΘ(x(i)))k)]+λ2ml=1L1i=1slj=1sl+1(Θ(l)j,i)2

2.1note:

1.這兩項簡單相加就可以計算出輸出層中每個單元的邏輯迴歸成本。
2.三重平方和簡單地加起來的是所有 θs 整個神經網路的 θ
2.三重平方和中的i不指訓練樣本i。

3.反向傳播

代價函式

訓練集: {(x(1),y(1))(x(m),y(m))}
Δ(l)i,j =0

for i in range m:
1. a(1):=x(t)
2.使用正向傳播計算出所有的 a(l)
3.用 y(t) 計算出 δ(L)=a(L)y(t)
4.計算出 δ(L1),δ(L2),,δ(2) 其中\delta^{(l)} = ((\Theta^{(l)})^T \delta^{(l+1)})\ .*\ a^{(l)}\ .*\ (1 - a^{(l)}) δ(l)=((Θ(l))Tδ(l+1)) . a(l) . (1a(l))
note: g(z(l))=a(l) . (1a(l))
5.

Δ(l)i,j:=Δ(l)i,j+a(l)jδ(l+1)i 向量形式: Δ(l):=Δ(l)+δ(l+1)(a(l))T
總偏導數:
D