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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习(31)随机梯度下降九: Himmelblau函数优化实战

發布時間:2023/12/15 pytorch 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习(31)随机梯度下降九: Himmelblau函数优化实战 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

深度學習(31)隨機梯度下降九: Himmelblau函數優化實戰

  • 1. Himmelblau函數
  • 2. 函數優化實戰

1. Himmelblau函數

Himmelblau函數是用來測試后話算法的常用陽歷函數之一,它包含了兩個自變量xxxyyy,數學表達式是:
f(x,y)=(x2+y?11)2+(x+y2?7)2f(x,y)=(x^2+y-11)^2+(x+y^2-7)^2f(x,y)=(x2+y?11)2+(x+y2?7)2

2. 函數優化實戰

(1) 首先通過如下代碼實現Himmelblau函數的表達式:

(2) 然后完成Himmelblau函數的可視化操作。通過np.meshgrid函數(TensorFlow中也有meshgrid函數)生成二維平面網格點坐標,代碼如下:

(3) 利用Matplotlib庫可視化Himmelblau函數:

Himmelblau函數3D曲面如圖所示:

大致可以看出,它共有4個局部極小值點,并且局部極小值都是0,所以這4個局部極小值也都是全局最小值。我們可以通過解析的方法計算出極小值的精確坐標,它們分別是:
(3,2),(?2.805,3.131),(?3.779,?3.283),(3.584,?1.848)(3,2),(-2.805,3.131),(-3.779,-3.283),(3.584,-1.848)(3,2),(?2.805,3.131),(?3.779,?3.283),(3.584,?1.848)
(4) 在已知曉極值解析的情況下,利用梯度下降算法來優化Himmelblau函數的極小值數值解。
Himmelblau函數等高線圖如下:

利用TensorFlow自動求導來求出函數在xxxyyy的偏導數,并循環迭代更新x和y值,代碼如下:

(5) 經過200次迭代更新后,程序可以找到一個極小值解,此時函數值接近于0。找到的數值解為:

這與解析解之一(-2.805,3.131)幾乎一樣。
(6) 事實上,通過改變網絡參數的初始狀態,程序可以得到多種極小數值解。參數的初始化狀態是可能影響梯度下降算法的搜索軌跡的,甚至有可能搜索出完全不同的數值解,如下表所示。這個例子就比較好地解釋了不同的初始狀態對梯度下降算法的影響。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的深度学习(31)随机梯度下降九: Himmelblau函数优化实战的全部內容,希望文章能夠幫你解決所遇到的問題。

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