吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1036|回复: 2
收起左侧

[Python 原创] 分享一个python梯度算法

[复制链接]
liwanbin 发表于 2024-2-22 15:47
忘了什么时候写的了。直接上代码,代码过于简单,适合数据挖掘的新手练手,不做过多解释了
[Python] 纯文本查看 复制代码
import matplotlib.pyplot as plt
import numpy as np


# fx的函数值
def fx(x):
    return x ** 2


# 定义梯度下降算法
def gradient_descent():
    times = 10  # 迭代次数
    alpha = 0.1  # 学习率
    x = 10  # 设定x的初始值
    x_axis = np.linspace(-10, 10)  # 设定x轴的坐标系
    fig = plt.figure(1, figsize=(5, 5))  # 设定画布大小
    ax = fig.add_subplot(1, 1, 1)  # 设定画布内只有一个图
    ax.set_xlabel('X', fontsize=14)
    ax.set_ylabel('Y', fontsize=14)
    ax.plot(x_axis, fx(x_axis))  # 作图

    for i in range(times):
        x1 = x
        y1 = fx(x)
        print("第%d次迭代:x=%f,y=%f" % (i + 1, x, y1))
        x = x - alpha * 2 * x
        y = fx(x)
        ax.plot([x1, x], [y1, y], 'ko', lw=1, ls='-', color='coral')
    plt.show()


if __name__ == "__main__":
    gradient_descent()

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
hualili + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sai609 发表于 2024-2-22 16:41
不是有第三方库可以自动化最优实现
 楼主| liwanbin 发表于 2024-2-23 13:03
sai609 发表于 2024-2-22 16:41
不是有第三方库可以自动化最优实现

可以调用第三方库的,个人习惯而已
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-11 22:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表