日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python使用梯度下降和牛頓法尋找Rosenbrock函數最小值實例

瀏覽:101日期:2022-07-31 11:49:09

Rosenbrock函數的定義如下:

python使用梯度下降和牛頓法尋找Rosenbrock函數最小值實例

其函數圖像如下:

python使用梯度下降和牛頓法尋找Rosenbrock函數最小值實例

我分別使用梯度下降法和牛頓法做了尋找Rosenbrock函數的實驗。

梯度下降

梯度下降的更新公式:

python使用梯度下降和牛頓法尋找Rosenbrock函數最小值實例

python使用梯度下降和牛頓法尋找Rosenbrock函數最小值實例

圖中藍色的點為起點,橙色的曲線(實際上是折線)是尋找最小值點的軌跡,終點(最小值點)為 (1,1)(1,1)。

梯度下降用了約5000次才找到最小值點。

我選擇的迭代步長 α=0.002α=0.002,αα 沒有辦法取的太大,當為0.003時就會發生振蕩:

python使用梯度下降和牛頓法尋找Rosenbrock函數最小值實例

牛頓法

牛頓法的更新公式:

python使用梯度下降和牛頓法尋找Rosenbrock函數最小值實例

Hessian矩陣中的每一個二階偏導我是用手算算出來的。

python使用梯度下降和牛頓法尋找Rosenbrock函數最小值實例

牛頓法只迭代了約5次就找到了函數的最小值點。

下面貼出兩個實驗的代碼。

梯度下降:

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import tickerdef f(x, y): return (1 - x) ** 2 + 100 * (y - x * x) ** 2def H(x, y): return np.matrix([[1200 * x * x - 400 * y + 2, -400 * x], [-400 * x, 200]])def grad(x, y): return np.matrix([[2 * x - 2 + 400 * x * (x * x - y)], [200 * (y - x * x)]])def delta_grad(x, y): g = grad(x, y) alpha = 0.002 delta = alpha * g return delta# ----- 繪制等高線 -----# 數據數目n = 256# 定義x, yx = np.linspace(-1, 1.1, n)y = np.linspace(-0.1, 1.1, n)# 生成網格數據X, Y = np.meshgrid(x, y)plt.figure()# 填充等高線的顏色, 8是等高線分為幾部分plt.contourf(X, Y, f(X, Y), 5, alpha=0, cmap=plt.cm.hot)# 繪制等高線C = plt.contour(X, Y, f(X, Y), 8, locator=ticker.LogLocator(), colors=’black’, linewidth=0.01)# 繪制等高線數據plt.clabel(C, inline=True, fontsize=10)# ---------------------x = np.matrix([[-0.2], [0.4]])tol = 0.00001xv = [x[0, 0]]yv = [x[1, 0]]plt.plot(x[0, 0], x[1, 0], marker=’o’)for t in range(6000): delta = delta_grad(x[0, 0], x[1, 0]) if abs(delta[0, 0]) < tol and abs(delta[1, 0]) < tol: break x = x - delta xv.append(x[0, 0]) yv.append(x[1, 0])plt.plot(xv, yv, label=’track’)# plt.plot(xv, yv, label=’track’, marker=’o’)plt.xlabel(’x’)plt.ylabel(’y’)plt.title(’Gradient for Rosenbrock Function’)plt.legend()plt.show()

牛頓法:

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import tickerdef f(x, y): return (1 - x) ** 2 + 100 * (y - x * x) ** 2def H(x, y): return np.matrix([[1200 * x * x - 400 * y + 2, -400 * x], [-400 * x, 200]])def grad(x, y): return np.matrix([[2 * x - 2 + 400 * x * (x * x - y)], [200 * (y - x * x)]])def delta_newton(x, y): alpha = 1.0 delta = alpha * H(x, y).I * grad(x, y) return delta# ----- 繪制等高線 -----# 數據數目n = 256# 定義x, yx = np.linspace(-1, 1.1, n)y = np.linspace(-1, 1.1, n)# 生成網格數據X, Y = np.meshgrid(x, y)plt.figure()# 填充等高線的顏色, 8是等高線分為幾部分plt.contourf(X, Y, f(X, Y), 5, alpha=0, cmap=plt.cm.hot)# 繪制等高線C = plt.contour(X, Y, f(X, Y), 8, locator=ticker.LogLocator(), colors=’black’, linewidth=0.01)# 繪制等高線數據plt.clabel(C, inline=True, fontsize=10)# ---------------------x = np.matrix([[-0.3], [0.4]])tol = 0.00001xv = [x[0, 0]]yv = [x[1, 0]]plt.plot(x[0, 0], x[1, 0], marker=’o’)for t in range(100): delta = delta_newton(x[0, 0], x[1, 0]) if abs(delta[0, 0]) < tol and abs(delta[1, 0]) < tol: break x = x - delta xv.append(x[0, 0]) yv.append(x[1, 0])plt.plot(xv, yv, label=’track’)# plt.plot(xv, yv, label=’track’, marker=’o’)plt.xlabel(’x’)plt.ylabel(’y’)plt.title(’Newton’s Method for Rosenbrock Function’)plt.legend()plt.show()

以上這篇python使用梯度下降和牛頓法尋找Rosenbrock函數最小值實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美成人日韩| 国产成人免费av一区二区午夜| 国产日韩欧美高清免费| 亚洲精品欧美| 欧美一区=区三区| 一区二区三区午夜视频| 午夜在线视频观看日韩17c| 午夜国产精品视频| 久久亚洲美女| 日韩在线观看一区二区三区| 日本aⅴ亚洲精品中文乱码| 69精品国产久热在线观看| 97精品国产99久久久久久免费| 日韩av中文字幕一区二区| 国产精选久久| 国产欧洲在线| 激情综合网址| 首页亚洲欧美制服丝腿| 日韩福利视频导航| 精品国产一区二区三区性色av| 久久精品国产99国产| 福利在线一区| 久久久久美女| 男人的天堂亚洲一区| 日韩av影院| 成人台湾亚洲精品一区二区| 日本在线精品| 中文字幕日韩欧美精品高清在线| 欧美日韩亚洲一区二区三区在线| 欧美国产极品| 久久蜜桃av| 自拍自偷一区二区三区| 国产欧美一区二区三区国产幕精品 | 日韩视频一区| 亚洲精品一级| 国产一区二区三区探花| 成人午夜国产| 麻豆精品一区二区综合av| 日韩动漫一区| 久久三级视频| 中文字幕乱码亚洲无线精品一区| 国产日韩一区| 韩国三级一区| 日韩精品一区二区三区免费视频| 老司机精品视频网| 久久精品一区二区不卡| 精品1区2区3区4区| 国产精品中文| 精品一区毛片| 日韩av一区二区在线影视| 日韩免费看片| 日韩精品乱码av一区二区| 丁香六月综合| 亚洲三级在线| 日韩国产一区二区三区| 亚洲精品观看| 久久精品观看| 国产精品一线| 红桃视频国产一区| 另类综合日韩欧美亚洲| 亚洲欧美伊人| 日本不卡一二三区黄网| 日韩欧美看国产| 日韩激情精品| 婷婷综合网站| 精品少妇一区| 亚洲狼人精品一区二区三区| 激情黄产视频在线免费观看| 视频一区二区欧美| 一区二区精品伦理...| 亚洲资源网站| 亚洲精品一区三区三区在线观看| 欧美一区影院| 午夜久久影院| 国产91欧美| 日韩精品a在线观看91| 麻豆mv在线观看| 国产亚洲精品美女久久久久久久久久| 欧美不卡视频| 最新中文字幕在线播放| 日韩精品免费一区二区夜夜嗨| 欧美不卡高清| 精品不卡一区| 欧美精品国产一区| 水蜜桃久久夜色精品一区的特点| 欧美日韩免费观看视频| 国产亚洲欧美日韩精品一区二区三区 | 六月丁香综合| 日产精品一区二区| 欧美偷窥清纯综合图区| 亚洲视频播放| 亚洲第一区色| 国产欧美一区二区三区精品酒店 | 亚洲香蕉久久| 亚洲免费观看| 久久精品99久久无色码中文字幕| 精品国产精品久久一区免费式| 91精品一区| 蜜桃久久精品一区二区| 成人看片网站| 日本少妇一区| 久久久成人网| 日韩一区三区| 成人国产综合| 精品视频一区二区三区在线观看| 国产探花一区二区| 日本午夜精品| 日韩欧美美女在线观看| 亚洲综合日本| 在线午夜精品| 野花国产精品入口| 欧美特黄a级高清免费大片a级| 成人免费网站www网站高清| 精品国产亚洲一区二区三区大结局| 国产欧美高清| 国产精品久久乐| 国产美女亚洲精品7777| 欧美日韩1区2区3区| 日韩 欧美一区二区三区| 天堂va在线高清一区| 一区二区国产在线观看| 一二三区精品| 综合一区二区三区| 亚洲人成在线影院| 日本国产亚洲| 久久国产三级精品| 国产精品第一| 国产一区二区三区久久久久久久久| 青青青国产精品| 久久国产麻豆精品| 国产日本久久| 国产精品美女午夜爽爽| 国产精品亚洲成在人线| 欧美激情久久久久久久久久久| 欧美激情五月| 日本黄色精品| 日韩精品午夜| 免费久久精品| 男女激情视频一区| 日韩中文一区二区| 欧美日本久久| 国产一区日韩| 久久亚洲国产| 免费久久精品| 亚洲精品一级二级三级| 日韩精品视频网| 美女精品视频在线| 日本不卡免费高清视频在线| 国产一区日韩欧美| 欧美日韩国产一区精品一区| 在线亚洲自拍| 日韩国产高清在线| 麻豆传媒一区二区三区| 国产在线观看www| 亚洲女同中文字幕| 日韩美女国产精品| 国产一区二区三区免费在线 | 久久精品电影| 亚洲图片久久| 精品理论电影在线| 欧美一区二区三区高清视频| 久久国产成人| 麻豆视频久久| 国内精品福利| 日韩精品一区二区三区中文字幕| 开心激情综合| 久久国产亚洲| 亚洲深深色噜噜狠狠爱网站| 国产精品国产三级在线观看| 九色porny丨国产首页在线| 夜夜精品视频| 国产精品亲子伦av一区二区三区| 国产免费播放一区二区| 欧美日韩尤物久久| 在线免费观看亚洲| 精品日产乱码久久久久久仙踪林| 久久精品成人| 欧美日韩一区二区三区四区在线观看 | 欧美日韩国产高清| 亚州精品视频| 日韩深夜视频| 丝袜国产日韩另类美女| 老牛国内精品亚洲成av人片| 亚洲精品99| 欧美精品99| 亚洲一区不卡| 精品一区二区三区四区五区| 伊人久久成人| 国产成人精品亚洲线观看| 怡红院精品视频在线观看极品| 欧美日韩亚洲三区| 午夜久久影院| 欧美xxxx中国| 四虎成人精品一区二区免费网站| 国产精品99久久免费| 亚洲一区二区三区免费在线观看| 麻豆精品在线| 中文字幕一区二区三区日韩精品| 欧洲av不卡| 国产精品www.|