Python机器学习算法实践——梯度上升算法

本文深入探讨了梯度上升算法在机器学习中的应用,通过理论部分解释了如何利用梯度上升优化参数以减少预测错误,并提供了Python核心代码实现。文章通过实例展示了如何根据样本数据调整权重,以提升模型预测的准确性。

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

一:理论部分

给定一个样本集,每个样本点有两个维度值(X1,X2)和一个类别值,类别只有两类,我们以0和1代表。数据如下所示:

样本

X1

X2

类别

1

-1.4

4.7

1

2

-2.5

6.9

0

...

...

...

...

机器学习的任务是找一个函数,给定一个数据两个维度的值,该函数能够预测其属于类别1的概率。
假设这个函数的模样如下:
h(x) =sigmoid(z)
z = w0 +w1*X1+w2*X2
问题转化成了,根据现有的样本数据,找出最佳的参数w(w0,w1,w2)的值

 

为进一步简化问题,我们假设样本集只有上表中的两个。
假设现在手上已经有一个wt,也就是有了一个函数h(x),那么我们可以把样本1和样本2的数据代进去,看看这个函数的预测效果如何,假设样本1的预测值是p1 = 0.8,样本2的预测值是:p2 = 0.4。

函数在样本1上犯的错误为e1=(1-0.8)= 0.2,在样本2上犯的错误为e2=(0-0.4)= -0.4,总的错误E为-0.20(e1+e2)。如下表所示:

样本

X1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WJWFighting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值