自己怎样建设淘宝返现网站,dedecms 网站安装教程,html网页制作代码大全免费,搜索推广 外贸线性回归
线性回归介绍
线性回归概念
线性回归(Linear regression)是利用 回归方程(函数) 对 一个或多个自变量(特征值)和因变量(目标值)之间 关系进行建模的一种分析方式。 注意事项#xff1a;
1 为什么叫线性模型#xff1f;因为求解的w#xff0c;都是w的零次幂
1 为什么叫线性模型因为求解的w都是w的零次幂常数项所以叫成线性模型
2 在线性回归中从数据中获取的规律其实就是学习权重系数w
3 某一个权重值w越大说明这个权重的数据对房子价格影响越大
线性回归分类 一元线性回归 y kx b 目标值只与一个因变量有关系 多元线性回归
线性回归问题的求解
预测6号体重
已知数据: 需求:6号身高是176请预测体重? 损失函数
需要设置一个评判标准 误差概念用预测值y – 真实值y就是误差
损失函数衡量每个样本预测值与真实值效果的函数
“红色直线能更好的拟合所有点”也就是误差最小误差和最小
损失函数数学如何表达呢又如何求损失函数的最小值呢
当损失函数取最小值时得到k就是最优解 想求一条直线更好的拟合所有点 y kx b 引入损失函数(衡量预测值和真实值效果) Loss(k, b) 通过一个优化方法求损失函数最小值得到K最优解 回归的损失函数 均方误差 (Mean-Square Error, MSE) 平均绝对误差 (Mean Absolute Error , MAE)
多元线性回归的解析解-正规方程法 梯度下降算法
梯度下降算法思想
什么是梯度下降法
• 求解函数极值还有更通用的方法就是梯度下降法。顾名思义:沿着梯度下降的方向求解极小值 • 举个例子:坡度最陡下山法
输入:初始化位置S;每步距离为a 。输出:从位置S到达山底步骤1:令初始化位置为山的任意位置S步骤2:在当前位置环顾四周如果四周都比S高返回S;否则执行步骤3步骤3: 在当前位置环顾四周寻找坡度最陡的方向令其为x方向步骤4:沿着x方向往下走长度为a到达新的位置S‘步骤5:在S‘位置环顾四周如果四周都比S‘高则返回S‘。否则转到步骤3
小结:通过循环迭代的方法不断更新位置S (相当于不断更新权重参数w) 最终找到最优解 这个方法可用来求损失函数最优解 比正规方程更通用
梯度下降过程就和下山场景类似
可微分的损失函数代表着一座山
寻找的函数的最小值也就是山底正规方程和梯度下降算法的对比 回归评估方法
为什么要进行线性回归模型的评估
我们希望衡量预测值和真实值之间的差距
会用到MAE、MSE、RMSE多种测评函数进行评价
平均绝对误差
Mean Absolute Error (MAE)
上面的公式中n 为样本数量, y 为实际值, y ^ \hat{y} y^ 为预测值MAE 越小模型预测约准确 Sklearn 中MAE的API
from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_test,y_predict)均方误差
Mean Squared Error (MSE)
上面的公式中n 为样本数量, y 为实际值, y ^ \hat{y} y^ 为预测值MSE 越小模型预测约准确
Sklearn 中MSE的API
from sklearn.metrics import mean_squared_error
mean_squared_error(y_test,y_predict)均方根误差
Root Mean Squared Error (RMSE)
上面的公式中n 为样本数量, y 为实际值, y ^ \hat{y} y^ 为预测值RMSE 越小模型预测约准确
三种指标的比较
我们绘制了一条直线 y 2x 5 用来拟合 y 2x 5 e. 这些数据点其中e为噪声 从上图中我们发现 MAE 和 RMSE 非常接近都表明模型的误差很低MAE 或 RMSE 越小误差越小。 但是MAE 和 RMSE 有什么区别为什么MAE较低 对比MAE 和 RMSE的公式RMSE的计算公式中有一个平方项因此大的误差将被平方因此会增加 RMSE 的值 可以得出结论RMSE 会放大预测误差较大的样本对结果的影响而 MAE 只是给出了平均误差 由于 RMSE 对误差的 平方和求平均 再开根号大多数情况下RMSEMAE 举例 (13)/2 2 ( 1 2 3 2 ) / 2 10 / 2 5 2.236 \sqrt{(1^23^2)/2 } \sqrt{10/2} \sqrt{5} 2.236 (1232)/2 10/2 5 2.236
我们再看下一个例子 橙色线与第一张图中的直线一样y 2x 5
蓝色的点为 y y sin(x)*exp(x/20) e 其中 exp() 表示指数函数
我们看到对比第一张图所有的指标都变大了RMSE 几乎是 MAE 值的两倍因为它对预测误差较大的点比较敏感
我们是否可以得出结论 RMSE是更好的指标 某些情况下MAE更有优势例如
假设数据中有少数异常点偏差很大如果此时根据 RMSE 选择线性回归模型可能会选出过拟合的模型来在这种情况下由于数据中的异常点极少选择具有最低 MAE 的回归模型可能更合适除此之外当两个模型计算RMSE时数据量不一致也不适合在一起比较 今天先分享到这里 坚持分享 共同进步