機器學習中,很多時候是求最優化問題,優化問題的求解通常有兩種求解方法:牛頓法、梯度下降法。
牛頓法:使用迭代的方法,尋找使f(theta) = 0,找到 theta的具體取值。數學表示式如下:
簡單理解:先隨機選取一點,求出f在該點的切線即導數;
切線等於0的位置,即下一次迭代的值;
知道f逼近等於0的點。
具體過程見下圖:
舉個例子:求最大似然l(theta)的最大值,可以先求l』(theta);
然後f(theta) = l』(theta);
這樣就可以轉化為牛頓法來求引數theta的值。
牛頓法與梯度下降法的比較,見下圖。
牛頓法優點:收斂速度快,迭代次數少;但計算量大。
梯度下降法:單次計算量小,但迭代次數多,收斂速度慢。
梯度下降法:
也是迭代演算法
初始值也可以隨機給
然後不斷取提取下降的方向求一下迭代值。
參考文章
1、
梯度下降法與牛頓法
梯度下降法,是迭代演算法。在求最值時,常常用到。bp網路中,最小化 誤差cost function,求解對應網路中的weights,即可用梯度下降法來更新weights.梯度下降法基本思想 給定乙個函式 f 假設求 f 最大值 最小值 初始化函式上的乙個點,對該點求導,該點往導數的方向 反方向 移動...
梯度下降法與牛頓法
梯度 f 在 0 處的梯度表示f 在點 0 處函式值變化最快的方向。對於凸函式f 來說,沿著負梯度方向尋找可以找到函式的極小值 k 1 k f k k 表示第 k步迭代,表示修正因子 步長 因為梯度方向變化最快,只在區域性有效 如果對於多維情形,表示為 k 1 k f k 其中 k k1,k2,kn...
機器學習中梯度下降法和牛頓法的比較
在機器學習的優化問題中,梯度下降法和牛頓法是常用的兩種凸函式求極值的方法,他們都是為了求得目標函式的近似解。在邏輯斯蒂回歸模型的引數求解中,一般用改良的梯度下降法,也可以用牛頓法。由於兩種方法有些相似,我特地拿來簡單地對比一下。下面的內容需要讀者之前熟悉兩種演算法。梯度下降法用來求解目標函式的極值。...