Stochastic Gradient Descent,隨機梯度下降

Stochastic Gradient Descent,隨機梯度下降

更新於 發佈於 閱讀時間約 1 分鐘


SGD(Stochastic Gradient Descent,隨機梯度下降) 每次迭代僅使用一小部分數據,通常是一個樣本或一個小批次(minibatch,要平均)來計算梯度,從而更新模型參數。


優點:

1.更新速度快,適合大規模數據。

2.可跳出鞍點或局部極小值。

應用:

1.機器學習模型(如線性迴歸、SVM、深度學習)。

2.優化非凸函數(如神經網絡)。 


raw-image


avatar-img
Princend的沙龍
0會員
34內容數
留言
avatar-img
留言分享你的想法!
Princend的沙龍 的其他內容
saddle point 鞍點 圖中函數為 z=x^2-y^2 既不是局部極小值,也不是局部極大值 在鞍點,梯度向量的大小趨近於零,導致參數更新的幅度變得極小,算法可能「卡住」以下有幾種方法可改進 1.使用 隨機梯度下降(SGD) 2.引入「動量」Momentum 概念,例如adam
梯度下降是一種優化演算法,用來最小化損失函數。 透過計算梯度(偏導數),找出參數更新方向。 公式為 θ_(t+1)=θ_t−η⋅∇ J(θ) 圖中的learning rate 為 0.05 可以發現到山谷的時候收斂速度較為緩慢
資料前處理為了避免garbage in, garbage out 除了one-hot encoding , ordinal encoding 還有target encoding 但是有時候算出平均值,會對資料處理沒幫助 (無法區分班級) 那就替換成標準差吧 
輸入層:接收數據,對應特徵值,是網絡的入口。 隱藏層:學習數據的抽象特徵,引入非線性,處理複雜模式。 輸出層:產生結果,將特徵轉換為預測值(regression)或分類(classification)結果。 陳縕儂老師說過 中間的隱藏層通常不會是線性的 如果全部都是線性 那任意交換隱藏層
saddle point 鞍點 圖中函數為 z=x^2-y^2 既不是局部極小值,也不是局部極大值 在鞍點,梯度向量的大小趨近於零,導致參數更新的幅度變得極小,算法可能「卡住」以下有幾種方法可改進 1.使用 隨機梯度下降(SGD) 2.引入「動量」Momentum 概念,例如adam
梯度下降是一種優化演算法,用來最小化損失函數。 透過計算梯度(偏導數),找出參數更新方向。 公式為 θ_(t+1)=θ_t−η⋅∇ J(θ) 圖中的learning rate 為 0.05 可以發現到山谷的時候收斂速度較為緩慢
資料前處理為了避免garbage in, garbage out 除了one-hot encoding , ordinal encoding 還有target encoding 但是有時候算出平均值,會對資料處理沒幫助 (無法區分班級) 那就替換成標準差吧 
輸入層:接收數據,對應特徵值,是網絡的入口。 隱藏層:學習數據的抽象特徵,引入非線性,處理複雜模式。 輸出層:產生結果,將特徵轉換為預測值(regression)或分類(classification)結果。 陳縕儂老師說過 中間的隱藏層通常不會是線性的 如果全部都是線性 那任意交換隱藏層