python-梯度下降核心代码

本文介绍了使用Python实现梯度下降算法的核心代码,包括三个关键部分,帮助理解如何在优化问题中应用该算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

核心代码1:

# 梯度下降
def cost(theta0, theta1, x, y):
     J = 0
     m = len(x)
     for i in range(m):
         h = theta1 * x[i] + theta0
         J += (h - y[i])**2
     J /= (2*m)
     return J

核心代码2:

# 更新的值
def partial_cost_theta1(theta0, theta1, x, y):
     h = theta0 + theta1 * x
     # h对theta1求偏导
     diff = (h - y) * x
     partial = diff.sum() / (x.shape[0])
     return partial
def partial_cost_theta0(theta0, theta1, x, y):
     h = theta0 + theta1 * x
     # h对theta0求偏导
     diff = (h - y)
     partial = diff.sum() / (x.shape[0])
     return partial

核心代码3:

def gradient_descent(x, y, alpha = 0.1, theta0 = 0, theta1 = 0):
     max_epochs = 1000     # 最大迭代次数
     counter = 0           # 初始化次数
     c = cost(theta1, theta0, pga.distance, pga.accuracy)  #目标函数(损失函数)
     costs = [c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值