数学模型之线性回归

前言废话

    最近机器学习、数据分析非常火,我们学校也开了类似的课程。但是,不得不说,其研究对数学的要求比较高,我自知我的数学能力达不到深究的高度,所以只是把这些内容当做数学模型、以能达到实际应用为目的来学习。( 就我现在理解很多内容都和数学建模有关)
    估计以后还应该有类似的感谢,暂且开一个专题,命名为数学建模。打头的就是较为简单的线性回归。

一、何为回归?

所谓回归,简单来说就是一个自变量和因变量之间的函数关系。而回归分析或者说回归模型存在的理由就是利用观测到的数据去建立这样一个函数关系,然后利用这个函数关系进行预测。

对于回归来说,其根据不同的指标可以对其进行不同的分类。一般来说,大多数的回归由3个指标所衡量(自变量的数目,因变量的类型以及回归线的形状)。如下图所示。
回归的分类
而这里的线性会就就是函数回归线的形状进行分类的。即自变量和因变量之间是线性的关系。这也是这篇博客需要论述的。

二、简单线性回归(一元线性回归)

先上的点数据:
数据
如果我们拿到上面的一批数据,画出散点图之后,我们从直觉上可以感觉这很可能是个线性关系。所以,我们可以建立一个线性回归的模型(说的简单点,就是建立一个线性函数),对其进行研究、分析、或者预测。

说到这儿,有两个问题需要解决:
1、你说是线性关系就是线性关系,我还觉得是多项式关系呢,难道没看到图像并不是“一马平川”,“一路顺风”中总 有些“起起伏伏的数据”?
2、如果用线性回归模型,这老多数据该怎么处理呢?老师告诉我们一元线性函数只需要用两个点就可以解出来了啊?

先说第一点:

2.1 使用线性模型的理由

第一,我们要知道,在实际生活中的大部分场景下,数据都不是“严丝合缝”的正好匹配我们理论数学上学到的那些公式、定理的。有一种东西,叫做误差。这种误差可能是有很多种情况产生的,可能是测量误差、也可能是系统本身的误差,还可能是统计时的误差…比如说,上面那些“起起伏伏”不安分的数据点就有可能是数据产生的。

第二、如果上面说的还不能让你满意的话,还有个说法。在实际生活中很多情况都是复杂的,有些东西可能无法用一个特定的模型去描述。很多情况下我们只是尽可能用好的、简单点模型来描述客观的现实的世界。这里面有个概率上的问题。即使已有数据点位于一条直线上,你也不能保证,下一个测量的点就是位于这条直线上,只是有非常大的程度上位于这条直线上。
说点题外话,我觉得,现实中的很多问题谈论“精确”是无意义的,你说你有一米八,我去,你怎么测量的,整整好好一米八吗?一分一毫、一丝一粒都不差吗?不可能的。我们说一米八只是在我们所考虑的大部分范围内的问题。一言以蔽之,合适至上,够用就好,。

2.2 如何得到线性模型

那么如何建立线性回归的模型呢?就像上面问题中所叙述的,两个点确定一条直线,那这么多点,岂不是确定很多很多条直线了,现实生活中如果你时间紧、任务重又不懂线性回归,而且要求很不精确。那么你可以找两个相聚较远而且不那么特殊的点,确定这条直线。但,这,是在是太粗略了,完全没考虑其他所有的点。

实际上,我们采用的是叫做最小二乘法的算法。
最小二乘法示意图
这个最小二乘法,说简单点也挺简单的。就是是所有预测点的结果和我们将要确定的线性函数的结果之差的均方和最小。

在这里插入图片描述
利用是均方误差和最小这个条件,可以列个方程组,如果人品还过得去的话就可以解出线性函数的系数。

这个时候,又冒出来两个问题?
1、为什么要用最小二乘法来估计线性函数的参数?
2、如何利用最小二乘法来估计线性函数的参数?

篇幅所限,关于第一个问题,请参照下面这个博客,讲的相当不错。
如何理解最小二乘法?
关于第二个问题,我会在下一篇博客《数学模型之最小二乘法》中论述。

解出来之后,回归直线方程如下所示。
回归直线

三、多元线性回归

一元线性回归是线性回归中的基础,而实际中更常用的而是多元线性回归。所谓多元线性回归,即是因变量和多个自变量有关系,按照吴恩达视频中的例子,房价可能和房子的大小、房子的位置、房子有几个卧室等等有关系。
模型函数如下:
在这里插入图片描述
多元线性函数的参数确定(参数训练)也是和一元线性函数的差不多。本质上都是利用是最小二乘法。
均方误差和
使均方误差和(即预测值和观测值差的平方和)最小,然后可以解出对应的参数值。具体的解法也和上面的类似,按照我的叫法主要有多元求导求最小值、利用线代的几何意义以及梯度下降法进行求解。在这就不赘述了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章