线性回归法(Linear Regression) -1 简单线性回归

线性回归法有以下特点:

  • 主要用于解决回归问题(kNN主要用于解决分类问题)
  • 思想简单,容易实现(与其背后的数学性质有关,背后的数学推导复杂却不难,但由于有数学公式的支撑,使得计算机实现变得容易)
  • 是许多强大的非线性模型的基础(多项式回归、逻辑回归和SVM等可理解为线性回归法的拓展)
  • 得到的结果具有很好的可解释性(通过对数据的分析、模型的建立,学习到真实世界真正的知识,最后我会举一些例子。正因为此,许多学界领域的研究中都会先尝试使用线性回归法这样一个最基础的算法)
  • 可以看到蕴含机器学习中的很多重要思想

什么是线性回归算法?

看下图:

图中每一个点都表示一个房屋数据,横轴代表房屋面积,纵轴代表房屋价格,于是每一个房屋数据都在这个二维平面中形成了一个点。线性回归算法认为,房屋面积与房屋价格之间呈一定的线性关系,也就是说,随着房屋面积的增大, 房屋的价格也会增大,且这种增大的趋势是线性的。

于是,在这样的假设下,我们就想,可不可以有这样的一条直线,我们希望这条直线能最大程度的“拟合”样本特征和样本输出标记之间的关系。

而在这个例子中,每一个样本只有一个特征,就是房屋面积,而输出标记就是价格。

与分类问题中的二维平面的区别:

在此要注意,我们在这里画了一张二维平面图,但这与分类问题中的二维平面图有很大区别。

在分类问题中,横轴和纵轴都是样本的特征,而样本的输出标记是被点的颜色所表示的。

而我们这里说的房屋价格问题,样本特征只有横轴,而纵轴就已经是输出标记了。这是因为在回归问题中,我们真正要预测的是一个具体的数值,而这个具体的数值是在一个连续的空间里,而不是离散的,所以它需要占用一个坐标轴的位置。这也就是说,如果我们想要看有两个样本特征的回归问题的话,我们就需要在三维空间中进行观察了。

简单线性回归:

下面,对于回归问题可视化的说明,都使用只有一个特征的问题来讲解。而样本特征只有一个的线性回归,我们称为“简单线性回归”。通过对简单线性回归的学习,我们可以学到很多关于线性回归的知识,之后再将它推广到样本特征有多个的情况,也就是“多元线性回归”。

我们讲,我们想要找到一条直线,这条直线能最大程度拟合样本点。我们知道,在二维平面中,这条直线的可以表示成y=ax+b,其中a为斜率,b为截距。相应的,对于每一个点来说,它就对应一个样本特征xi和一个输出标记yi。如果我们把a和b找到了的话,那么相应的,我们就可以将特征值xi带入正方程中。我们的得到的就是利用简单线性回归预测出的,对于xi这个特征值来说,对应的预测值是多少。通常用\hat{y_i}表示。

有下面的推导思路:

不使用直接相减作为评判标准的原因是显而易见的,为什么也不使用绝对值呢?这是因为绝对值函数不是处处可导的,而我们找一个式子的最小值,是需要求它的极值的,这为我们今后的工作带来了不便。所以用平方和作为评判标准。不过,衡量线性回归法性能时,绝对值是可以应用的。

需要注意的是,在最后的式子中,只有a和b是未知量,xi和yi是已知数,因为我们是监督学习,所以我们首先提供了一组数据,这组数据中对于每一个样本特征,都有一个与之对应的样本输出。

一类机器学习算法的求解思路:

我们先不着急去求这个式子,我们先看看我们到这里推导出来的目标,就是找到某一些参数值,使某个函数尽可能的小。这是典型的机器学习算法的思路。

这也就是说,我们建模的过程,其实就是找到一个模型,使它最大程度地拟合我们的数据。而在线性回归算法中,这个模型就是一个直线方程。而所谓的最大程度拟合我们的数据,本质上就是使损失函数(loss function,用于度量我们的模型没有拟合住我们的样本的程度)最小,或使效用函数(utility function,用于度量我们的模型拟合住我们样本的程度)最大。我们统称这两类函数为目标函数。我们要做的就是最优化这个目标函数,对于损失函数来说,我们希望它尽可能小,对于效用函数来说,我们希望它尽可能大。

这里要注意,上面一段话,并不是针对某一种算法,而是一种求解思路。近乎所有的参数学习算法都是这样的套路:线性回归、SVM、多项式回归、神经网络、逻辑回归……区别在于模型不同、目标函数不同、优化的方式不同。

一门学科叫做最优化原理,无论是在经典的、传统的算法中还是当今的机器学习算法中,都发挥着重要的作用。实际上,我们使用计算机解决的问题大多数都是最优化问题。最优化原理中有一门分支,叫做凸优化问题。

最小二乘法:

发布了101 篇原创文章 · 获赞 26 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/liujh_990807/article/details/87837710