赞
踩
- 回归任务
- 线性回归模型
- 回归模型中的预测残差
1回归任务的定义
训练:特点:y是连续值 属于R
学习/目标:
预测:
2回归任务举例 (预测的都是数值型)
根据全球经济形势和石油
产量预测石油价格
根据广告投入预测产品销量
根据房屋属性预测房屋价格
根据降雨量预测水果收成
根据雇员的工作年限和其他
属性预测其薪水
根据学生学习时长预测其成绩
3线性回归
线性回归就是假设输出y和输入x之间存在线性关系 即为样本x的每一个特征与对应权重相乘就和就是y的值
W0 代表线性模型中的截距项 在矩阵乘法中其对应的权重是1。
4预测残差
残差就是预测值和真实值之间的差值。
在线性回归图像中可以理解为数据到拟合直线之间的距离。
残差平方 残差计算之后有正负号 可以看残差的平方 而忽略掉正负号的影响
残差平方和: 在训练集上 所有的残差的平方的总和
- 掌握回归模型中的损失函数:L2损失、L1损失
和Huber 损失
- 理解上述损失的适用场景
1最佳模型
2 L2损失:残差平方
L2损失对噪声敏感
噪声:就是直线预测不准的一个数据点 可以理解为在图上 距离直线比较远的一个点
L2损失是根据 残差来计算的 由于本身拟合直线和噪声之间的残差比较大 而L2损失是在此基础上再平方考虑的
所以L2损失会更更大。
这样影响的结果就是 我们使用的拟合直线会更加“看重”噪声点 使拟合直线整体偏向噪声点的方向
L2损失的优点 :L2损失是根据残差平方计算的是二次项的函数 二次项的函数处处可导 方便优化计算
3 L1损失:残差绝对值
直观的在图像上面看就是点到线的距离大小(没有正负)。
优点L1损失是根据残差的绝对值计算的 是根据残差本身数值上的大小即不考虑正负号。
不会像L2损失那样对噪声敏感。L1损失对噪声点不敏感。
但是L1损失函数也有自身的缺点 因为是绝对值函数在原点是娶不到值的。这就不是处处可导,在之后的优化计算上面不是很方便。
4Huber损失
有一个损失函数结合了L1损失和L2损失的优点。是一个分段函数。
Scikit-Learn中回归模型的使用
Huber损失:
from sklearn.linear_model import HuberRegressor
huber = HuberRegressor()
huber.fit(X_train, y_train)
y_train_pred_huber = huber.predict(X_train)
L2损失:
from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(X_train, y_train)
y_train_pred_lr = lr.predict(X_train)
Huber损失:
L2损
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。