数据挖掘:模型选择——监督学习(回归)
在上一篇文章数据挖掘:模型选择——监督学习(分类)中介绍了分类相关的算法原理,这次来介绍回归的一些算法。回归主要是预测连续型数据的目标值。
本文来自:机器学习菜菜课堂
一、线性回归
简单介绍:
简答的线性回归如y=ax+b,这是只有一个特征时的情况,而对于多个特征,就变成了多元线性回归。公式如下:
这个θ为对应自变量的权重值,越大,证明该特征对结果的影响越重要。由此可以对特征进行筛选。而我们要求得就是这个参数。
工作原理:
一般遇到机器学习的问题,首先都是先定义损失函数。通过对损失函数的优化来求解参数。
这里用真实值和预测值的残差平方和作为要优化的损失函数,也就是θ取何值时,能让它最小。最小二乘法
这里有两种方法进行求解,利用矩阵求解,梯度下降法。
利用矩阵求解:
梯度下降法:
主要参数:
没有参数可以调。所以这个模型无法通过调整参数来优化模型,它只依靠数据。另外,LR需要做归一化/标准化。
算法特点:
优点:结果易于理解,计算上不复杂。
缺点:对非线性的数据拟合不好。易过拟合,因为寻求的是最优解。
因为线性回归假设特征和结果之间满足线性关系。
sklearn代码:
from sklearn.linear_model import LinearRegression as LR
reg = LR().fit(Xtrain,Ytrain)
yhat = reg.predict(Xtest)
二、岭回归和Lasso回归
岭回归:
简单介绍:
在多元线性的求解推导中,存在逆矩阵,而如果数据的逆矩阵不存在(数据间存在多重共线性,完全线性相关或高度线性相关)的话,那么模型的预测效果并不会很好。会求出很大的θ造成模型有偏差,或者不可用。
多重共线性可用VIF(方差膨胀因子来衡量)。另外,为了解决线性回归的多重共线性问题,可用岭回归和Lasso回归。
工作原理:
岭回归和Lasso回归都是在线性回归的损失函数上加上正则项。岭回归加的是系数的L2范数,Lasso加的是系数的L1范数。
岭回归:
岭回归的损失函数:
在加上a后,只要a不为0或与原矩阵的对角线上的不为相反数,可保证矩阵为可逆矩阵。a的值人为设定。