任务一 :线性回归算法梳理
1. 机器学习的一些概念
有监督学习:是机器学习任务的一种。 它从有标记的训练数据中推导出预测函数。 有标记的训练数据是指每个训练实例都包括输入和期望的输出。
无监督学习:训练数据没有标记信息的学习。
泛化能力:是指机器学习算法对新鲜样本的适应能力,学习的目的是学到隐含在数据对背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。
过拟合:过度拟合,貌似拟合几乎每一个数据,但是丢失了信息规律。
欠拟合:拟合程度不高,数据距离拟合曲线较远。
交叉验证:把特征分成几部分:一些作为训练集一些做验证集,下一次交换角色,用验证集数据做训练集,训练集做验证集,交替多次充份训练验证数据。
2. 线性回归的原理
线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。线性回归假设特征和结果满足线性关系。其实线性关系的表达能力非常强大,每个特征对结果的影响强弱可以由前面的参数体现,而且每个特征变量可以首先映射到一个函数,然后再参与线性计算。这样就可以表达特征与结果之间的非线性关系。
3. 线性回归损失函数、代价函数、目标函数
损失函数:
代价函数:
目标函数:
4. 优化方法(梯度下降法、牛顿法、拟牛顿法等)
梯度下降法:是一个一阶最优算法,通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。
牛顿法:是一种在实数域和复数域上近似求解方程的方法。方法使用函数{\displaystyle f(x)}的泰勒级数的前面几项来寻找方程{\displaystyle f(y)=0}
的根。
拟牛顿法:以牛顿法为基础设计的,求解非线性方程组或连续的最优化问题函数的零点或极大、极小值的算法。
5、线性回归的评估指标
MSE:均方误差
RMSE:均方根误差
MAE:平均绝对误差
6、sklearn参数详解
penalty:
正则化参数,L1和L2两种参数可选,仅LinearSVC有。
loss:
损失函数,有‘hinge’和‘squared_hinge’两种可选,前者又称L1损失,后者称为L2损失,默认是是’squared_hinge’,其中hinge是SVM的标准损失,squared_hinge是hinge的平方。dual:
是否转化为对偶问题求解,默认是True。
tol:
残差收敛条件,默认是0.0001,与LR中的一致。
C:
惩罚系数,用来控制损失函数的惩罚系数,类似于LR中的正则化系数。
multi_class:
负责多分类问题中分类策略制定,有‘ovr’和‘crammer_singer’ 两种参数值可选,默认值是’ovr’,'ovr'的分类原则是将待分类中的某一类当作正类,其他全部归为负类,通过这样求取得到每个类别作为正类时的正确率,取正确率最高的那个类别为正类;
‘crammer_singer’ 是直接针对目标函数设置多个参数值,最后进行优化,得到不同类别的参数值大小。
fit_intercept:
是否计算截距,与LR模型中的意思一致。
class_weight:
与其他模型中参数含义一样,也是用来处理不平衡样本数据的,可以直接以字典的形式指定不同类别的权重,也可以使用balanced参数值。
verbose:
是否冗余,默认是False。
random_state:
随机种子的大小。
max_iter:
最大迭代次数,默认是1000。