《我們是有內涵的》——深度學習相關公式、優化及應用
深度學習
往往需要與大數據結合在一起。
人臉識別:(單攝像頭的人臉識別是基於LBPH,容易突破)
- 結構光(蘋果專利,保留了距離信息)
- TOF深度感應
大部分傳統機器學習的算法都可以用深度學習來擬合。
softmax公式:
softmax=j∑eθjxeθjx
貝葉斯公式
P(A∣B)=P(B)P(AB)=P(B)P(B∣A)P(A)=∑iP(B∣Ai)P(Ai)P(B∣A)P(A)
超幾何分佈概率公式
p=(kD)(n−kN−D)/(nN)
信息熵公式(均勻分佈時,信息熵最大;模棱兩可時,最難揣測)
H(P)=−i∑Pilog(Pi)
相對熵(KL散度)公式
KL(p(x)∣∣q(x))=i∑pi(x)qi(x)pi(x)
交叉熵公式
cross=−i∑pi(x)log(qi(x))
r2_score:正態分佈,平均值附近的概率最大。完全預測對,r2爲1;接近於揣測(正態分佈),r2爲0。
r2score=1−i∑N(yi−ymean)2(yi−y預測)2
梯度下降(GD、BGD、SGD)
(返回頂部)
隨機梯度下降(SGD):從一批樣本n中,隨機選取一個樣本is,輸入輸出分別爲Xis、Yis,模型參數爲W,損失函數爲J(W),Wt爲t模型參數,ηt爲學習率。gt=ΔJis(Wt,Xis,Yis),is∈{1、2、......、n}E(gt)=ΔJ(Wt)期望仍等於正確的梯度下降Wt+1=Wt−ηtgt
改進:
(返回頂部)
動量優化法
- Momentum:引入一個積攢歷史梯度信息動量來加速SGD(理解爲:小球向下滾動的時候,帶上了慣性,加快向下滾動的速度)
vt表示t時刻積攢的加速度,α表示動力大小,通常取0.9(表示最大速度10倍於SGD)vt=αvt−1+ηtΔJis(Wt,Xis,Yis)Wt+1=Wt−vt
- NAG(Nesterov accelerate gradient,牛頓加速梯度):Momentum中加入一個校正因子(理解爲:更聰明的小球,提前知道要去哪裏,在坡底的時候速度慢下來)
vt=αvt−1+ηtΔJis(Wt−αvt−1)Wt+1=Wt−vt
自適應學習率優化器
- AdaGrad:擁有損失函數梯度最大的參數,相應地有個快速下降的學習率;梯度較小的參數,相對較慢地下降。(適用於數據稀疏或分佈不均衡的數據集)
Wt+1=Wt−∑t′=1t(gt′,i)+ϵη0⨀gt,iη0爲初始學習率,通常0.01;ϵ爲很小的數,通常1e−8
- RMSProp:修改了AdaGrad的梯度積累爲指數加權的平均移動。(經常使用的優化方法之一)
E[gt2]=αE[gt−12]+(1−α)gt2Wt+1=Wt−E[gt2]+ϵη0⨀gt
- AdaDelta:結合AdaGrad和RMSProp每次參數的更新步長。(後期可能會在局部最小值附近,反覆抖動)
E[gt2]=αE[gt−12]+(1−α)gt2ΔWt=−E[gt2]+ϵ∑i=1t−1ΔWiWt+1=Wt+ΔWt
- Adam:相對於RMSProp初期可能會有很高偏置,Adam包括偏置修正。(對超參數的選擇非常棒)
mt=β1mt−1+(1−β1)gtvt=β2vt−1+(1−β2)gt2mt^=1−β1mt,vt^=1−β2vtWt+1=Wt−vt^+ϵηmt^
應用:
cnn卷積神經網絡(機器視覺)都是基於圖片來說的,適用於圖片數據,特徵提取的方法之一。
rnn循環神經網絡(自然語言處理)。
自動駕駛:採集傳感器數據以及對應的人的操作,來訓練神經網絡。
歡迎關注,敬請點贊!
(返回頂部)