1、梯度下降法給定一個目標函數(shù)f(x)和初始點x0 △xt = -▽f(xt) xt 1 = x ?η△xt 停止條件:當 |△xt| <?ε時停止 三大問題:局部最小值、鞍點、停滯區(qū)。 1.1 局部最小值(極值) 1.2 停滯區(qū) 函數(shù)有一段很平的區(qū)域,這時梯度很小,權值就更新的特別慢。 1.3 鞍點 鞍點處梯度為0,但不是局部最大值也不是局部最小值。 鞍點坐在的位置在一個方向上式最大值,在另一個方向上是最小值。 二、帶沖量的梯度下降法給定一個目標函數(shù)f(x)和初始點x0,初始動量v0 △xt?= -▽f(xt) vt 1 =?γvt ?η△xt xt 1?= xt ?vt 1 停止標準:沖量小于一個值,或梯度小于一個值,或給定一個迭代次數(shù) 在梯度下降法的基礎上,加上一個沖量的項,每次迭代乘一個衰減系數(shù)。 三、NAG(Nesterov accelerated gradient descent)改進帶沖量的梯度下降法。 給定一個目標函數(shù)f(x)和初始點x0,初始動量v0 △xt?= - ▽f( xt ??γvt?) vt 1?=?γvt? ?η△xt xt 1?= xt? ?vt 1 可以發(fā)現(xiàn),求梯度的位置不在是當前位置的梯度,而是沿著當前沖量乘衰減系數(shù)前進一步之后所在的位置。 例如騎自行車下坡,原來是根據(jù)當前的坡度決定車怎么走,而現(xiàn)在是根據(jù)前方的坡度來決定車往哪兒拐。 四、牛頓法1、牛頓-拉普森算法(NR newton-Raphson)用來尋找實值方程的近似解。 給定方程f(x)= 0,初始點x0 △x = - f(xt) / f'(xt) xt 1 = xt ?△x 停止:如果|f(x)| <?ε 2、牛頓法求極值給定f(x)和初始點x0 xt 1 = xt - f'(xt)/f''(xt) 停止:|?f'(xt)?| <?ε 若f(x △x)是極小值點,將其泰勒展開到二階: 函數(shù)對稱軸出就是極值,則: 牛頓法每次迭代,在所在的位置對要求解的函數(shù)做一次二次近似,然后直接用這個近似的最小值作為下一次迭代的位置。在高維下計算量有點大。 五、學習率衰減 前期使用叫大的學習率,后期使用較小的學習率。 lr = lrbase x?γ| step/stepsize |
? 來源:https://www./content-1-381651.html |
|