上一篇文章介绍了监督算法中的6个分类算法,这一篇文章作为延续,讲的是监督学习中的另一种主要算法:回归算法,它的目标变量是连续数值型。

线性回归
优点:结果易于理解,计算上不复杂。
缺点:对非线性的数据拟合不好
适用数据类型:数值型和标称型数据,最终算法需要的是数值型,可将标称型数据转换为二值型。
原理:寻找回归方程(回归系数),目标是使预测的y值与真实y值之间的差值最小化,采用平方误差计算。在书中利用正规方程的求解方法,利用矩阵求解w^=(XTX)−1XTy w ^ = ( X T X ) − 1 X T y .包含对矩阵求逆的过程,当矩阵XTX X T X 不存在逆时,可能有两个原因:1.矩阵之间的线性约束,比如x1=kx2 x 1 = k x 2 ;2.特征太多,也就是m≤n m ≤ n ,这时需要删除一些特征或者使用正则化方法。在得到拟合结果之后,计算预测值和真实值之间的相关系数可以来预测两者之间的匹配度。但是,线性回归的一个问题是可能出现欠拟合现象,因为它求的是具有最小均方误差的无偏估计(无偏估计是参数的样本估计值的期望等于样本真实值),有些方法允许在估计中引入一些偏差,从而降低预测的均方误差,比如说局部加权线性回归(LWLR)。在该算法中,我们给待测点附近的每个点赋予一定的权重,然后在该子集上基于最小均方差来进行普通的回归。与KNN一样,这种算法每次预测均需要事先选取出对应的数据子集,公式为w^=(XTWX)−1Wy w ^ = ( X T W X ) − 1 W y ,W是权重矩阵,LWLR使用“核”来对附近的点赋予更高的权重。因此LWLR的训练算法是针对每一个测试点进行的,计算复杂度高。
给出一个实例“预测鲍鱼的年龄”得到了不同核系数下的训练误差和预测误差,从这里我们知道当系数越小时,容易出现过拟合现象。那么当特征数大于样本数,也就是矩阵XTX X T X 不可逆时,可以采取什么方法呢。这里给出了两种缩减系数的方法:岭回归(ridge regression)和前向逐步回归。岭回归就是在矩阵XTX X T X 上加上一个λI λ I 从而使得矩阵非奇异,公式为w^=(XTX+λI)−1XTy w ^ = ( X T X + λ I ) − 1 X T y ,这里通过引入λ λ 来限制了所有w之和,通过引入该惩罚项,能够减少不重要的参数。通过观察岭回归中各特征的回归系数随着λ λ 的变化图就能知道哪些变量对结果预测最具影响力。
方差与偏差:方差指的是模型之间的差异,偏差指的是模型预测值与数据之间的差异。

树回归
优点:可以对复杂和非线性的数据建模
缺点:结果不易理解
适用数据类型:数值型和标称型
当数据拥有众多特征且特征之间关系十分复杂时,构建全局模型的想法就显得太难了,一种可行的方法是将数据集切分成很多份易建模的数据,然后利用线性回归技术来建模,如果首次切分后仍然难以拟合线性模型就继续切分。在这种切分方式下,树结构和回归法就相当有用。本节主要介绍了CART树和模型树,前者在每个叶节点上使用各自的均值做预测,后者需要在每个叶节点上都构造一个线性模型。
CART树与决策树的差别有:1.决策树只能解决分类问题,它不能直接处理连续性特征,必须将数据转换成离散型才能使用,而CART树采用二元切分来处理连续型变量;2.决策树中的特征使用一次之后将不再起作用,这种切分方式过于迅速,而CART树利用这个特征做二元切分之后还可以利用这个特征做接下来的切分。
CART回归使用的实例是一个样本数为200,特征数为2的数据集,数据集上都是连续的数据。决定最好特征及特征值的方法是:找到切分之后左右两棵树的方差总和最小的一种切分方式。整棵树的构建是:找到最好特征–如果是叶节点则返回,否则切割树–对切割之后的左右树分别找最好特征并重复该过程。停止划分的条件有:1.所有数据值相等;2.切分后误差减少不大,3.切分出的数据集很小。
剪枝:避免过拟合。有预剪枝和后剪枝,预剪枝对参数设置十分敏感,不好调节,而后剪枝需要用到测试集和训练集。后剪枝的原理是:对测试数据而言,如果将两个叶节点合并可以减小误差则将他们合并。
模型树:与回归树最大的不同在于每个叶节点都是一个线性模型,因此它寻找最好特征及特征值的方法需要改变,利用预测值与真实目标值之前的差值的平方和最小来确定。
个人思考:使用回归树建模的结果是:叶节点表示同一种类似,即相似度很高(方差小),而使用模型树建模的结果是:叶节点可以由一个线性模型表示。当绘出样本图之后可以判断采用哪一种算法。

总结:回归与分类的不同就在于目标是一组连续的数字,并且该范围不再是只在【0,1】之间。
回归算法这本书中介绍了线性回顾和树回归,其中前者解决线性拟合问题,后者可以解决非线性拟合问题。树回归中模型树实际上是多个线性回归的组成,对解决分段函数问题的拟合十分有效。