Linear Regression--自我实现和学习笔记

本文详细探讨了线性回归,包括代价函数、梯度下降算法、特征缩放、学习速率、特征选择、多项式回归以及正规方程。通过实例介绍了如何在实际问题中应用线性回归,并提到了sklearn库的使用,以及正规方程的局限性和解决策略。

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

Linear Regression

最近在Github上学习机器学习,主要是在黄海广博士的项目下学习吴恩达的机器学习教程,做下笔记。
如有需要:链接自取(click)

代价函数 Cost Function

又称误差平方和函数,是指当前所拟合的直线与各点误差的平方和.这里使用单变量做下解释。
x为一特征,y为正确答案,直线h(x)是预测值
图中的x为一特征,y为正确答案,直线h(x)是预测值,代价函数J(x)就是这些蓝色线段距离平方的和。
h ( x ) = θ 0 + θ 1 ∗ x h(x)=\theta_0+\theta_1*x h(x)=θ0+θ1x
J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h ( x ( i ) ) − y ( i ) ) 2 J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^{m}(h(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=2m1i=1m(h(x(i))y(i))2
其中m表示数据的份数, x ( i ) x^{(i)} x(i)表示第i份数据,单变量可以采用 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1,而对于多变量多个特征时主要采用矩阵的方法计算,这时代价函数记为 J ( θ ) J(\theta) J(θ)

对于不同的模型参数( θ 0 , θ 1 … \theta_0,\theta_1\dots θ0,θ1),代价函数会有不同的值,但是总存在一个最小值。对于上面的单变量代价函数,可以知道,在 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1的取值范围下, J ( θ ) J(\theta) J(θ)的图像总是会成为一种弓形结构(bow shape)
bow shape

梯度下降算法 Batch Gradient Descent

算法的目的是找到代价最小的点。
算法的含义:一开始任意取一点,每次向低处靠近,最终到达局部最低点(而对于线性回归,是一种弓形结构,只存在全局最低点)
batch gradient descent
在每次下降中都是改变了 θ \theta θ使得拟合直(曲)线发生变化。
算法公式 α \alpha α是学习率
单变量
在这里插入图片描述
多变量
在这里插入图片描述
唯一不同就是在于模型参数的增多,但是不影响算法本身,因为算法实现利用了矩阵的思想,加快了速度,也简化了算法。
数学表达:
J ( θ ) = 1 2 m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值