线性回归问题求解

线性回归问题求解

最小二乘法

定义数据及设置相关数值
在这里插入图片描述
进行线性回归。
在这里插入图片描述
在这里插入图片描述
线性结果绘制:
在这里插入图片描述
在这里插入图片描述

梯度下降法

在这里插入图片描述
在这里插入图片描述
代价函数定义及代价函数的梯度函数。

定义代价函数

#损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数
def cost_function(theta, X, Y):
diff = dot(X, theta) - Y # dot() 数组需要像矩阵那样相乘,就需要用到dot()
return (1/(2*m)) * dot(diff.transpose(), diff)

定义代价函数对应的梯度函数

定义代价函数

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

线性结果绘制:
在这里插入图片描述
在这里插入图片描述
再与最小二乘法的结果相比,其差值是及其小的,最小二乘法是直接调用 sklearn 中 linear_model.LinearR egression() 函数来进行求解的,相对于梯度下降的方法来说,会更加快计算出结果。通过这个方法,还是比较好理解梯度下降的整个原理过程的实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值