线性回归原理(二)

简介: **线性回归与梯度下降简介:**梯度下降是一种优化算法,常用于线性回归,模拟下山过程寻找函数最小值。在单变量线性回归中,以函数f(x)=x²为例,从初始点开始,每次迭代沿着负梯度(函数增快的方向相反)移动,通过学习率α控制步长。重复此过程,逐步逼近最小值x=0。在多变量情况下,梯度是一个向量,指向函数增长最快的方向。评估线性回归模型性能的指标有平均绝对误差(MAE)、均方误差(MSE)和均方根误差(RMSE),它们衡量预测值与实际值的差距,越小表示模型越准确。

线性回归原理(一)+https://developer.aliyun.com/article/1544053?spm=a2c6h.13148508.setting.20.1fa24f0eRBJGs5


梯度下降


梯度下降法的基本思想可以类比为一个下山的过程。


我们设想自己站在一座山(目标函数的等高线图)上,我们的目标是最小化这个函数值,也就是说,我们要找到这座山的最低点或山谷。


梯度代表了函数在当前位置的斜率或者方向导数,它指向函数增长最快的方向。


而梯度下降法则是沿着梯度的相反方向前进,这就好比我们在山上下行时选择最陡峭下降的路径。每一步,我们都根据当前位置的梯度调整步伐,以期逐步逼近最低点,即函数的最小值。


通过不断迭代更新参数,使得每次迭代后目标函数值逐渐减小,最终达到或接近全局最小值的位置,这就是梯度下降法的核心思想。我们重复利用这个方法,反复求取梯度,最后就能到达局部的最小值。


在多变量函数中,梯度是一个向量,有方向,梯度的方向就指出了函数在给定点的上升最快的方向


单变量函数的梯度下降


函数 f(x) = x^2。要找到这个函数的最小值,我们可以使用梯度下降法:



  1. 首先,选择一个初始点 x0(比如 x0 = 5)。


  1. 计算在该点的梯度(导数):f'(x0) = 2x0 = 25 = 10。


  1. 梯度下降法要求我们沿负梯度方向前进,也就是朝函数值减少的方向移动。通常会设置一个学习率(步长)α,用来控制每一步走的距离。比如 α = 0.1。


  1. 更新 x 的值:x1 = x0 - α * f'(x0) = 5 - 0.1 * 10 = 4。


  1. 在新的位置 x1 处重复步骤2-4,直到达到某个停止条件。



经过多次迭代后,我们会发现 x 的值逐渐接近于0,因为函数 f(x) = x^2 在 x=0 处取得全局最小值


在下山类比中,学习率α就好比我们每一步走的距离。如果α值设置得过大(步子迈得太大),可能会导致我们在函数曲面上“跨越”过最小值点,从而无法收敛到最优解,甚至可能使得损失函数值震荡加剧,不稳定性增加。


相反,如果α值设置得过小(步子迈得太小),虽然算法会更加稳定,但收敛速度会大大降低,需要更多次迭代才能找到最小值。


在二维或者三维图像中,学习率α体现在每次更新后沿负梯度方向移动的距离上,直观地表现为从一个点到下一个点的直线段长度。



多变量函数的梯度下降



回归评估


平均绝对误差Mean Absolute Error



n 为样本数量, y 为实际值, y^ 为预测值 ,越小模型预测约准确


from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_test,y_predict)


均方误差Mean Squared Error




越小模型预测约准确


from sklearn.metrics import mean_squared_error
mean_squared_error(y_test,y_predict)


均方根误差Root Mean Squared Error



越小模型预测约准确,RMSE 是 MSE 的平方根,有时候比MES更有用。


RMSE 会放大预测误差较大的样本对结果的影响,而 MAE 只是给出了平均误差,由于 RMSE 对误差的平方和求平均再开根号,大多数情况下RMSE>MAE。


数据中有少数异常点偏差很大,如果此时根据 RMSE 选择线性回归模型,可能会选出过拟合的模型来,数据中的异常点极少,选择具有最低 MAE 的回归模型可能更合适。


相关文章
|
6月前
|
机器学习/深度学习 算法 数据可视化
探索线性回归算法:从原理到实践
探索线性回归算法:从原理到实践【2月更文挑战第19天】
75 0
探索线性回归算法:从原理到实践
|
6月前
|
机器学习/深度学习 数据采集 算法
线性回归算法是什么
线性回归算法是什么
88 0
|
6月前
|
Python
使用Python实现基本的线性回归模型
使用Python实现基本的线性回归模型
224 8
使用Python实现基本的线性回归模型
|
1月前
|
机器学习/深度学习 算法 Python
使用Python实现简单的线性回归模型
【10月更文挑战第2天】使用Python实现简单的线性回归模型
19 1
|
1月前
|
机器学习/深度学习 API
机器学习入门(七):线性回归原理,损失函数和正规方程
机器学习入门(七):线性回归原理,损失函数和正规方程
|
5月前
|
机器学习/深度学习 API Python
线性回归原理(一)
线性回归用于预测,如房价、销售额和贷款额度。它通过回归方程连接自变量与因变量,例如房价可能依赖于距离和污染水平。在Python的`sklearn`库中,`LinearRegression`用于建模,`coef_`给出回归系数。损失函数衡量预测误差,用于模型优化。
|
机器学习/深度学习 人工智能 算法
回归算法|学习笔记
快速学习回归算法
165 0
回归算法|学习笔记
|
算法
线性回归的基本概念以及正规方程(二)
本文属于 线性回归算法【AIoT阶段三】(尚未更新),这里截取自其中一段内容,方便读者理解和根据需求快速阅读。
268 0
线性回归的基本概念以及正规方程(二)
|
机器学习/深度学习 算法 数据挖掘
线性回归的基本概念以及正规方程(一)
本文属于 线性回归算法【AIoT阶段三】(尚未更新),这里截取自其中一段内容,方便读者理解和根据需求快速阅读。
278 0
线性回归的基本概念以及正规方程(一)
|
机器学习/深度学习 算法 数据挖掘
线性回归算法推导与实战(一)
本文属于 线性回归算法【AIoT阶段三】(尚未更新),这里截取自其中一段内容,方便读者理解和根据需求快速阅读。本文通过公式推导+代码两个方面同时进行,因为涉及到代码的编译运行,如果你没有NumPy,Pandas,Matplotlib的基础,建议先修文章:数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解)
167 0
线性回归算法推导与实战(一)
下一篇
无影云桌面