第二讲_线性回归
线性回归模型 linear regression
第一步:数据集 dataset 维度-->自变量的个数
维度大于等于三,统一叫超平面
,公式上很直观
第二步:parameters 参数-->权重和常数项
第三步:损失函数 loss function --> MSE 均方误差
损失函数其实就是复合函数
均方误差(Mean Squared Error,MSE)是一种常用的衡量估计量与被估计量之间差异程度的指标。
一、定义
均方误差是各数据偏离真实值的距离平方和的平均数,即:
\(MSE=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y_i})^2\)
其中,\(n\) 是样本数量,\(y_i\) 是 真实值,\(\hat{y_i}\) 是估计值。
二、特点
- 非负性:均方误差的值始终是非负的,当且仅当估计值与真实值完全相等时,均方误差为零。
- 对误差的放大作用:由于计算的是误差的平方,所以对较大的误差会给予更大的权重,这使得均方误差对异常值比较敏感。
三、应用场景
- 回归分析:在机器学习和统计学的回归问题中,均方误差常被用作损失函数,通过最小化均方误差来优化模型参数,使模型的预测值尽可能接近真实值。
- 信号处理:用于评估信号重建或滤波的效果。
- 质量控制:在工业生产中,可以用来衡量产品的质量与标准值之间的差异。
例如,在房价预测问题中,使用均方误差作为损失函数,通过不断调整模型参数,使得模型预测的房价与实际房价之间的均方误差最小化,从而提高房价预测的准确性。
模型
选择线性模型,一元一次方程
线性回归模型的损失函数是均方误差的一半

损失函数是针对每个样本点计算:
\(\frac{1}{2}MSE=\frac{1}{2}(y_i-\hat{y_i})^2\)
代价函数是损失函数求和并取均值(取均值消除样本数量的影响):
\(\frac{1}{2}MSE=\frac{1}{2}\times\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y_i})^2\)
损失函数
相对 代价函数
要重要一点!
因为损失函数是标准,损失函数更重要,损失函数确定好了,代价函数无非就是对于损失函数的求和
复习数学知识:
优化算法---梯度下降法
梯度下降法的思想是基于损失函数的梯度(或者说斜率)来更新参数,以达到最小化损失函数的目的
参数空间和特征空间的概念
学习率:https://blog.csdn.net/m17635262186/article/details/136134379 (【python机器学习】——梯度下降法)
学习率是超参数
,是人自己设置的,而不是机器自己学习能够得到的
梯度下降算法常见的三种类型:
- 全量梯度下降
- 随机梯度下降
- 小批量梯度下降
一、全量梯度下降:
每次迭代都使用整个训练数据集
来计算损失函数关于模型参数的梯度,内存需求量大
1 |
|

二、随机梯度下降:
梯度下降算法每次从训练集中随机选择一个样本
来进行学习,每次的学习是非常快的,并且可以进行在线更新,但是也有缺点,在于每次更新可能并不会按照正确的方向进行,带来优化波动。
- 当训练数据集非常大时,随机梯度下降是一种常用的优化算法。它可以在每次迭代中
快速处理少量样本
,从而减少计算时间
和内存需求
- 在在线学习场景中,数据不断地到来,随机梯度下降可以
实时地
根据新数据更新模型参数,适用于处理动态变化的数据集
1 |
|

三、小批量梯度下降算法
小批量梯度下降优化算法是一种优化算法,结合了全量梯度和随机梯度下降的优点,广泛应用于机器学习和深度学习中
- 第一步将数据集划分为若干个小的批量
mini-batch
,每个小批量包含一定数量的样本 - 小批量梯度下降算法在每次迭代中使用一个
小批量的样本
来进行计算,既不像全量梯度下降算法需要计算整个数据集的梯度,也不像随机梯度下降算法只使用一个样本(可能会导致更新方向的不稳定性)
2024年9月11日晚 实验课的作业:
1 |
|


梯度下降模型的局限
1、如果梯度在某点为0,则无法确定参数的更新方向,导致梯度下降算法无法收敛。
2、梯度下降算法在某些情况下可能无法收敛到最优解,例如在非凸函数上,或者当函数的梯度存在非线性项时。
线性回归模型总结
四个部分:
数据
模型
损失函数/代价函数
优化算法
对于后面的每一个模型,都需要按照这四个部分进行学习,非常重要,一定要掌握!!!
补充的内容:
最小二乘法与梯度下降算法辨析:
二者都是用于求解回归问题的常用方法,它们的主要区别如下:
一、原理
- 最小二乘法:通过最小化误差的平方和来确定数据的
最佳拟合直线或曲线
。它基于解析的方法
,直接求解
使误差平方和最小的参数值
。
对于线性回归问题,最小二乘法可以通过求解正规方程来得到参数的解析解。即对于线性模型 \(y = w_1x_1 + w_2x_2 +... + w_nx_n + b\),最小二乘法通过最小化实际值 \(y\) 与预测值 \(\hat{y}\) 之间的误差平方和 \(S=\sum_{i=1}^{m}(y_i-\hat{y}_i)^2\),其中 \(m\) 是样本数量,\(\hat{y}=w_1x_{1i}+w_2x_{2i}+...+w_nx_{ni}+b\),来确定参数 \(w_1,w_2,...,w_n,b\) 的值。
要点一:最小二乘法是直接求解参数
要点二:最小二乘法是解方程
- 梯度下降算法:是一种
迭代优化算法
,通过不断地沿着目标函数的负梯度方向更新参数,以逐渐减小目标函数的值。
在回归问题中,目标函数通常是误差平方和。对于线性回归,目标函数为 \(S=\sum_{i=1}^{m}(y_i-\hat{y}_i)^2\),其中 \(\hat{y}=w_1x_{1i}+w_2x_{2i}+...+w_nx_{ni}+b\)。梯度下降算法从初始的参数值开始,每次迭代计算目标函数关于参数的梯度,然后沿着负梯度方向更新参数,即 \(w_j = w_j-\alpha\frac{\partial S}{\partial w_j}\),其中 \(\alpha\) 是学习率,控制每次更新的步长。
梯度下降算法的目标函数的均方误差和,这样就与最小二乘法非常相似,但最小二乘法是直接求解参数,而梯度下降算法是迭代求解参数。
是一种迭代优化算法,线性非线性的回归问题都可以使用梯度下降算法。
二、二者的优缺点
- 最小二乘法:
- 优点:如果数据满足一定的条件(如线性独立、满秩等),可以直接得到全局最优解,计算速度快。
- 缺点:当数据量很大或特征维度很高时,计算正规方程的逆矩阵可能会非常
耗时
甚至不可行,并且对异常值比较敏感
。
- 梯度下降算法:
- 优点:适用于大规模数据和高维度问题,
可以通过调整学习率等参数来控制算法的收敛速度和性能
。对异常值相对不那么敏感。 - 缺点:
需要选择合适的学习率
,学习率过大可能导致算法不收敛,学习率过小则收敛速度会很慢。并且只能得到局部最优解,可能会陷入局部极小值。
- 优点:适用于大规模数据和高维度问题,