本篇文章介绍的回归主要是线性回归,就是输入项乘以常量然后求和。基本形式如下:
![]()
回归模型中我们最常想到的和最常用到的都是用于预测。回归模型也是相对容易理解的,计算也不算复杂,但是它对数据的依懒性相对较大,对于非线性的数据拟合不好;主要是适用于数值型和标称型的数据。
- 用线性回归找到最佳拟合直线
其实纵观机器学习的好多算法,基本思想都是先列出损失函数,然后最小化损失函数,求出对应的系数,然后这个系数就是最终模型的系数。在这个线性回归模型中,我们将模型的系数设为向量
,样本数据
,所以线性回归可以表达为两个基本向量的内积y= x。
一般采用平方误差对线性回归进行误差分析,表达式可以写作:

用矩阵表示
,y表示所有样本结果值的向量,X表示所有样本属性值的矩阵,ω表示为样本属性的向量系数。求极值下未知数的取值,我们都是先求导,令导数等于0,然后求对应的未知数,对于上式也是同样的求法:先对ω求导,求得表达式:
,令表达式等于0,求得:
![]()
推到过程以及运算中都涉及到了一些基本的矩阵运算知识,还是需要了解一下的。ω就是我们要求的最小值系数,最终公式中我们看到了都求矩阵的逆,但是不是所有的矩阵都是可逆的,因此在使用这个公式之前,必须对此作出判断。
其实说简单了,这里用的就是我们最熟悉的最小二乘法。
- 局部加权的线性回归
在现实世界中大多数问题都不是线性回归的,所以强行用线性回归的方式直接拟合,往往得不到理想的结果,专业点的说法就是欠拟合,所以有些方法允许在估计中引入一些偏差,从而降低预测的均方误差。
加权线性回归,就是给待测点附近的每个点都赋予了一定的权值,然后在这个子集上基于最小均方查来进行普通的回归。这种算法每次预测均需要事先选取出对应的数据子集。其基础回归系数ω的形式如下。
![]()
W是一个权重矩阵,用于给每个数据点赋予权重,为什么能得到上述公式,依据直线拟合的方法,增加一个权重项即可。
这是使用核函数来对附近的点赋予更高的权重,我们常用的核函数就是高斯核,对应的权重如下:

上式中的绝对值,有些地方也写成预测点与子集点的平方误差形式。
w需要是一个只含对角元素的权重矩阵w,并且点x和x(i)越近,w(i,i)将会越大。上述公式中,有个常数项k,这个k决定了对附近的点赋予多大的权重,参考下图:

通过上面这张图,我们可以看出,k值越小,越靠近的点取值相对越大,越远的点相对权值越小。至于为什么w是一个只含对角元素的矩阵,我觉得这个要参考矩阵的一些运算性质,增加权值,说明白了就是为原来矩阵的每一项乘以一个系数,不能改变原来矩阵的一些东西(性质),那么就必须是对角矩阵,可以参考
,其中I是单位矩阵,即对角线元素全部为1的矩阵。如果我们不适用高斯核,那么也可以看作是所有的样本点的权值都是1。那么直线线性回归也可以写为:
,这样看就好理解了。
- 总结
其实回归算法还是比较直观的,没有太过复杂的概念,容易明白和理解。但是这只是回归的基础内容,另一篇的文章《回归:缩减系数》一片文章中说的回归就相对比这里说的复杂一些了。
本文详细介绍了线性回归的基本原理,包括如何找到最佳拟合直线,以及采用平方误差作为损失函数进行误差分析。接着讨论了在非线性问题中,局部加权线性回归的应用,解释了权重矩阵和高斯核的作用,强调了选择合适权重对预测精度的影响。最后,文章指出回归算法虽直观易懂,但在实际应用中需要考虑数据的非线性特性。
5万+

被折叠的 条评论
为什么被折叠?



