什麼是梯度消失/梯度下降
高偏差:如果訓練集和測試集的誤差率都在15%左右,欠擬合,訓練不充分。
高分差:如果訓練集誤差率為1%,測試集誤差率為15%,過擬合,測試誤差高。
在降低代價函式值得同時,將會對網路的結構進行簡化,此時可以有效的防止過擬合的問題。
l2正則化
j 正則
化=−1
m∑i=
1m(y
loga
+(1−
y)lo
g(1−
a))+
1mλ2
∑l∑k
∑jwk
,j[l
]2
j_= -\frac \sum_^m(yloga+ (1-y)log(1-a))+\frac\frac \sum_l \sum_k \sum_j w_^
j正則化=
−m1
i=1∑
m(y
loga
+(1−
y)lo
g(1−
a))+
m12
λl∑
k∑
j∑w
k,j[
l]2
其中,∑l∑
k∑jw
k,j[
l]
2\sum_l \sum_k \sum_j w_^
∑l∑k
∑jw
k,j[
l]2
**為=np.sum(np.square(wl))。
dropout正則化
每次迭代過程中隨即將其中的一些節點失效。遍歷每層的神經元節點,並設定每層節點隨機消失的概率。例如,我們設定所有節點有0.5的概率會消失,在完成這個過程後,會發現有一些節點現在已經被消失,然後,刪除掉與這些節點關聯的連線。此時,會得到乙個節點更少,網路更加簡單的模型結構,對於該樣本,以同樣的結構進行前向傳播和反向傳播。當下一樣本輸入時,需要重新隨機選擇節點置為失效並進行前向傳播和反向傳播。
ps:1、由於dropout正則化會隨即置節點失效,因此不方便算代價值。
2、在進行驗證,測試或應用時,不再適用dropout函式進行隨機失效處理, 主要原因是因為在測試或驗證階段,我們不希望輸出的結果是隨機的。
梯度消失:當網路很深時,w值很大,y
^\hat y
y^呈指數式增長。
梯度下降:當網路很深時,w值很小,y
^\hat y
y^呈指數式下降。
即導數校驗,θ
\theta
θ點的梯度=θ
\theta
θ點的導數=g′(
θ)≈f
(θ+ξ
)−f(
θ−ξ)
2ξ
g′(θ)≈
2ξf(
θ+ξ)
−f(θ
−ξ),dq
appr
ox=j
(θ+ξ
)−j(
θ−ξ)
2ξ
dqappr
ox=
2ξj(
θ+ξ)
−j(θ
−ξ)
e rr
or=∣
∣dqa
ppro
x−dq
∣∣2∣
∣dqa
ppro
x∣∣+
∣∣dq
∣∣2er
ror=
∣∣dq
appr
ox∣
∣+∣∣
dq∣∣
2∣∣
dqap
prox
−dq
∣∣2
深度學習第二課 Softmax回歸
與第一課線性回歸 linear regression 不同,softmax回歸針對的是多分類的情況,即labels不再僅有0,1兩個分類。softmax通過指數運算將最後的分類轉為0 1間的概率,在終於類別概率中,數值大的為 概率。與線性回歸損失不同,softmax函式計算損失採用的是交叉熵損失 c...
動手學深度學習 第二課
基本概念 讀入文字 分詞 建立字典 將詞轉為索引 將文字按段落讀取,再將文字轉為小寫,使用正則的方法,消除其中的非字母的字元,得到句子。import re with open 1.txt r as f print re.sub a z line.strip lower for line in f 分...
Git學習第二課 基礎知識
一 簡史 git 是因為linux 核心開源社群與分布式版本控制系統的bitkeeper的合作結束,人家不給用了,怎麼辦呢?自己開發一套唄,git就誕生了。二 基礎 git與 svn,cvs,perforce 有什麼區別?都是版本控制系統,我自己用過svn和git,最大的區別就是git可以在家裡不用...