梯度下降法是一種最優化方法,用來優化cost function。
梯度下降法的最大問題就是會陷入區域性最優,並且每次在對當前樣本計算cost的時候都需要去遍歷全部樣本才能得到cost值,這樣計算速度就會慢很多。
現在好多框架中一般使用隨機梯度下降法,它在計算cost的時候只計算當前的代價,最終cost是在全部樣本迭代一遍之求和得出,還有他在更新當前的引數w的時候並不是依次遍歷樣本,而是從所有的樣本中隨機選擇一條進行計算,此方法收斂速度快(一般是使用最大迭代次數),並且還可以避免區域性最優,並且還很容易並行。
如果不是每拿到乙個樣本即更改梯度,而是若干個樣本的平均梯度作為更新方向,則是 mini-batch梯度下降演算法。
梯度下降演算法的擴充問題:
學習率如何確定?
- 固定學習率
- 優化學習率
在斜率(方向導數)大的地方,使用小學習率
在斜率(方向導數)小的地方,使用大學習率
求hessian矩陣的逆影響演算法效率,同時,搜尋方向只要和負梯度的夾角小於90°即可, 因此,可以用近似矩陣代替hessian矩陣,只 要滿足該矩陣正定、容易求逆,或者可以通 過若干步遞推公式計算得到。
- bfgs
- l-bfgs
bfgs需要儲存n×n的方陣ck用於近似 hessian陣的逆矩陣;而l-bfgs僅需要儲存 最近m(m約為10,m=20足夠)個 x, f x
用於近似ck即可。
l-bfgs的空間複雜度o(mn),若將m看做常 數,則為線性,特別適用於變數非常多的優 化問題。
優缺點:無需選擇學習率α,更快,但是更複雜。
機器學習面試需要準備啥
凡人機器學習 大概會問傳統機器學習 深度學習 最優化 coding四個方面 傳統機器學習考察點 1 bias與variance的含義,並結合ensemble method問哪種方法降低bias,哪種方法降低variance 2 lr與svm的區別與聯絡 3 gbdt與adaboost的區別與聯絡 4...
機器學習優化方法小結
一.梯度下降法 一階最優化演算法,梯度其實是有方向的。若找到乙個函式的區域性極小值,必須向函式上當前點對應梯度的反方向的規定步長距離點進行迭代搜尋 若向梯度正方向搜尋,會接近函式的區域性極大值,稱為梯度上公升法。優點 簡單易行 缺點 靠近極小值時速度減慢。二.牛頓法,擬牛頓法,l bgfs 牛頓法是...
關於機器學習 資料科學面試的準備
自己是科班出身,自己也學過a,b,c,d等等課程,自己也做過專案,甚至之前也有實習 全職經歷。現在面全職 跳槽了,請問你準備好了嗎?leetcode是要刷的,可別光乙個勁的刷leetcode啊,背那些o nlogn 那些的,我們這個職位不是招後端。問 這個是 結果,你來手算個recall吧。答 這個...