2 2 優化演算法

2022-08-02 18:48:12 字數 1249 閱讀 2304

size=m:退化為batch,當訓練樣本過多時,單次迭代需要處理過多的訓練樣本

size=1:隨機梯度下降法,產生大量雜訊(但通過減小學習率,雜訊可以減少),缺點是失去了向量化帶來的加速。

使用mini-size,每次遍歷所有樣本時,可以進行m/size次梯度下降

選取原則:

訓練集較小時(<2000),直接使用batch梯度下降

一般的mini-batch大小為64-512

(另:選取大小要與cpu/gpu記憶體相符

$v_=\beta v_+(1-\beta)\theta_$

修正偏差:為了解決最開始迭代時,$v_$低於真實值,額外引入乙個偏差修正

如圖,為了使得每次梯度下降時的走向不像藍線那樣有很多的縱向分量,而希望走向像紅線一樣更多的是橫向分量,我們引入了momentun梯度下降

作者建議一般將引數$\beta$設為0.9

的典型值是0.999。公式中還有乙個ϵ

'>

ϵ,這是乙個很小的數,典型值是10^-810−8

。adam演算法相當於先把原始梯度做乙個指數加權平均,再做一次歸一化處理,然後再更新梯度值。β1

=0.9,β

2=0.999,ϵ

=10−8

'>只需調整不用的$\alpha$

1.mini-batch

shuffling and partitioning.建立mini-batch通常需要洗牌和劃分兩個步驟

2. momentum

初始化:$v_^,v_^$

迭代:3.adam

初始化:$v_^,v_^,s_^,s_^$

迭代:

演算法筆記習題2 2

編寫乙個c程式,要求在螢幕上輸出一下一行資訊。this is my first c program 無this is my first c program 無this is my first c program include int main 編寫乙個c語言程式,輸出以下資訊 very good ...

2 2 貪心演算法

貪心演算法就是遵循某種規則,不斷貪心的選取當前最優策略的演算法設計方法。有1元 5元 10元 50元 100元 500元的硬幣各c1,c5,c10,c50,c100,c500枚。現在要用這些硬幣來支付a元,最少需要多少枚硬幣?假設本題至少存在一種支付方案。限制條件 0 c1,c5,c10,c50,c...

演算法22 全組合

給定乙個陣列,輸出其全組合 例如 123 輸出 1,2,3,12,13,23,123 解法一 對於n位資料,考慮每一位對於組合結果的影響,對於每一位可以選擇取或者不取。一共有power 2,n 中取法,當全部不取時,對於最後結果沒有意義,因此最終取法共有power 2,n 1.可以利用二進位制數字從...