TensorFlow深度学习应用实践
上QQ阅读APP看书,第一时间看更新

3.4 回归算法

据说“回归”这个词最早出现于一位英国遗传学家的研究工作,他在平常的工作中发现一个奇怪的现象,一般的孩子身高与父母的身高并不成正比,即并不是父母越高,孩子越高。

他经过长时间的研究发现,若父母的身高高于一般的社会平均人群身高,则其子女具有较大可能变得矮小,即会比其父母的身高矮一些,更加向社会的普通身高靠拢。若父母身高低于社会人群平均身高,则其子女倾向于变高,即更接近于大众平均身高。此现象在其论文中被称为回归现象。

回归也是机器学习的基础。本节中将要介绍两种主要算法,即线性回归和逻辑回归。这是回归算法中最重要的部分,也是机器学习的核心算法。

3.4.1 函数逼近经典算法——线性回归

本书笔者在前面已经提到,在本书中将尽量少用数学公式而采用浅显易懂的方法去解释一些机器学习中用到的基本理论和算法。本节的难度略有提高。

首先对于回归的理论解释:回归分析(regression analysis)是确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法。按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。如果在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,则称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。

换句话说,回归算法是一种基于已有数据的预测算法,其目的是研究数据特征因子与结果之间的因果关系。举个经典的例子,表3-1表示某地区房屋面积与价格之间的一个对应表。

表3-1 某地区房屋面积与价格对应表

为了简单起见,在该表中只计算了一个特征值(房屋的面积)以及一个结果数据(房屋的价格),因此可以使用数据集构建一个直角坐标系,如图3-8所示。

图3-8 房屋面积与价格回归表

由图3-8中可知,数据集的目的是建立一个线性方程组,能够对所有的点距离无限地接近,即价格能够根据房屋的面积大小决定。

同时可以据此得到一个线性方程组:

hθ(x)=θ0+θ1x

更进一步,如果将其设计成为一个多元线性回归的计算模型,例如添加一个新的变量,独立卧室数,那么数据表可以表述为表3-2所示。

表3-2 某地区房屋面积与价格对应表

那么据此得到的线性方程组为:

hθ(x)=θ0+θ1x+θ2x

回归计算的建模能力是非常强大的。其可以根据每个特征去计算结果,能够较好地体现特征值的影响。同时从上面的内容可知,每个回归模型都可以由一个回归函数表现出来,较好地表现出特征与结果之间的关系。

以上内容为初等数学内容,读者可以较好地掌握,但是不要认为这些内容不重要,这是机器学习中线性回归的基础。

3.4.2 线性回归的姐妹——逻辑回归

我们在前面已经提到,在本书中将最少地使用数学公式而采用浅显易懂的方法去解释一些机器学习中用到的基本理论和算法。本小节难度较大,读者可以不看数学理论部分。

对于逻辑回归来说,逻辑回归主要应用在分类领域,主要作用是对不同性质的数据进行分类标识。逻辑回归是在线性回归的算法上发展起来的,它提供一个系数θ,并对其进行求值。基于这个,可以较好地提供理论支持和不同算法,轻松地对数据集进行分类。

图3-9表示房屋面积与价格回归表,在这里,使用逻辑回归算法对房屋价格进行了分类。可以看到,其被较好地分成了两个部分,这也是在计算时要求区分的内容。

图3-9 房屋面积与价格回归表

逻辑回归的具体公式如下:

与线性回归相同,这里的θ是逻辑回归的参数,即回归系数。如果再将其进一步变形,使其能够反映二元分类问题的公式,则公式为:

这里的y值由已有的数据集中的数据和θ共同决定,而实际上这个公式求的是在满足一定条件下最终取值的对数概率,即通过数据集的可能性的比值做对数变换得到。通过公式表示为:

通过这个逻辑回归倒推公式可以看到,最终逻辑回归的计算可以转化成由数据集的特征向量与系数θ共同完成,然后求得的加权和,得到最终的判断结果。

由前面的数学分析来看,最终逻辑回归问题又称为对系数θ求值的问题。这里读者只需要知道原理即可。