基本信息
源码名称:简单梯度上升法实现
源码大小:0.21M
文件格式:.ipynb
开发语言:Python
更新时间:2020-05-09
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
简单抛物线的梯度上升法
import numpy as np
import matplotlib.pyplot as plt
def f(x):
return -(x-50)**2
def dx(x):
return -2*(x-50)
x=np.linspace(0,100,20)
plt.plot(x,f(x))
plt.show()
x_start=90
egt=0.1
compare=1e-8
x_collection=[]
x_last=90
while True:
x_current_dx=dx(x_start)
x_start=x_start egt*x_current_dx
if(abs(x_start-x_last)<compare):
break
x_last=x_start
x_collection.append(x_last)
x_result=np.array(x_collection)
plt.plot(x,f(x))
plt.scatter(x_result,f(x_result),color='red',marker=' ')
plt.show()