基本信息
源码名称:简单梯度上升法实现
源码大小:0.21M
文件格式:.ipynb
开发语言:Python
更新时间:2020-05-09
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 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()