日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python sklearn 梯度下降法_(四)梯度下降法及其python实现

發布時間:2024/1/23 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python sklearn 梯度下降法_(四)梯度下降法及其python实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

梯度

梯度,什么是梯度?梯度的本意是一個向量,表示某一函數在該點處的方向導數沿著該方向取得最大值,即函數在該點處沿著該方向(此梯度的方向)變化最快,變化率最大(為該梯度的模)。

在微積分里面,對多元函數的參數求

偏導數,把求得的各個參數的偏導數以向量的形式寫出來,就是梯度。比如函數 , 分別對 求偏導數,求得的梯度向量就是 ,簡稱 或者 。

前面說到,梯度的方向就是函數值增加最快的方向。也就意味著,沿著梯度向量的方向,更加容易找到函數的最大值。反過來呢,沿著梯度向量相反的方向,函數值減少最快,也就是更加容易找到函數的最小值。

梯度下降

首先來看看梯度下降的一個直觀的解釋:比如我們在一座大山上的某處位置,由于我們不知道怎么下山,于是決定走一步算一步,也就是在每走到一個位置的時候,求解當前位置的梯度,沿著梯度的負方向,也就是當前最陡峭的位置向下走一步,然后繼續求解當前位置梯度,向這一步所在位置沿著最陡峭最易下山的位置走一步。這樣一步步的走下去,一直走到覺得我們已經到了山腳。當然這樣走下去,有可能我們不能走到山腳,而是到了某一個局部的山峰低處。

所以說,梯度下降不一定能夠找到全局的最優解,有可能是一個局部最優解。當然,如果損失函數是凸函數,梯度下降法得到的解就一定是全局最優解。

批梯度下降BGD

批梯度下降(Batch Gradient Descent)是指每次迭代要利用全部數據計算批梯度。這樣一來每迭代一步,都要用到訓練集所有的數據,如果數據量很大,那么可想而知這種方法的迭代速度會很慢。所以,這就引入了另外一種方法,隨機梯度下降。

隨機梯度下降SGD

隨機梯度下降(Stochastic Gradient Descent)每次迭代只用到了一個樣本,在樣本量很大的情況下,常見的情況是只用到了其中一部分樣本數據即可迭代到最優解。因此隨機梯度下降比批量梯度下降在計算量上會大大減少。SGD有一個缺點是,其噪音較BGD要多,使得SGD并不是每次迭代都向著整體最優化方向。而且SGD因為每次都是使用一個樣本進行迭代,因此最終求得的最優解往往不是全局最優解,而只是局部最優解。但是大的整體的方向是向全局最優解的,最終的結果往往是在全局最優解附近。

以多元線性回歸為例

線性函數:

損失函數:

梯度:

更新規則:BGD:

SGD:

實例

python解題代碼

import

結果

GD and SGD loss

左下角放大bgd_w: [[2.8636951][4.5708055]] bgd predict_y: [[12.00530624 28.58141804 18.88928127 20.59639168]] bgd_time: 0.114399 s sgd_w: [[2.8795059][4.519753 ]] sgd predict_y: [[11.91901183 28.35777664 18.91728234 20.55752945]] sgd_time: 0.06166 s

根據loss圖像我們可以看到,BGD的loss是一直下降的,而SGD的loss雖然整體是下降的,但是中途有升有降。之所以不像網上的那么明顯,應該是因為樣本量太小。

在時間上,迭代1000次BGD花費0.114s,而SGD只花費了0.062s。

后記

如有問題,歡迎交流批評指正。

參考文獻

梯度(數學名詞)_百度百科?baike.baidu.com梯度下降(Gradient Descent)小結?www.cnblogs.comhttps://blog.csdn.net/pengjian444/article/details/71075544?blog.csdn.net

總結

以上是生活随笔為你收集整理的python sklearn 梯度下降法_(四)梯度下降法及其python实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。