深度学习的数学基础-最优化问题和回归分析
在为了分析数据而建立数学模型时,通常模型是由参数确定的。在数学世界中,最优化问题就是如何确定这些参数。
从数学上来说,确定神经网络的参数是一个最优化问题,具体就是对神经网络的参数(即权重和偏置)进行拟合,使得神经网络的输出与实际数据相吻合。
为了理解最优化问题,最浅显的例子就是回归分析。下面我们就利用简单的回归分析问题来考察最优化问题的结构。
什么是回归分析
由多个变量组成的数据中,着眼于其中一个特定的变量,用其余的变量来解释这个特定的变量,这样的方法称为回归分析。回归分析的种类有很多。为了理解它的思想,我们来考察一下最简单的一元线性回归分析。
一元线性回归分析是以两个变量组成的数据为考察对象的。下图给出了两个变量x、y的数据以及它们的散点图。
*上表数据的散点图*
一元线性回归分析是用一条直线近似地表示右图所示的散点图上的点列,通过该直线的方程来考察两个变量之间的关系。
这条近似地表示点列的直线称为回归直线。
用一条直线近似地表示散点图上的点列,通过该直线的方程来考察两个变量的关系,这样的分析方法就是一元线性回归分析。这条直线称为回归直线。
这条回归直线用一次关系式表示如下:
这个式子称为回归方程。
x、y是为了将构成数据的各个值代入而设定的变量,右边的x称为自变量,左边的y称为因变量。常数p、q是这个回归分析模型的参数,由给出的数据来决定。
注:p称为回归系数,q称为截距。
通过具体例子来理解回归分析的逻辑
下面让我们通过具体的例子来看看回归方程(1)是如何确定的。
例题
下表是7个高中三年级女学生的身高与体重数据。根据这些数据,求以体重y为因变量、身高x为自变量的回归方程y=px+q(p、q为常数)。
解
设所求的回归方程如下所示。
将第k个学生的身高记为,体重记为
,可以求得第k个学生的回归分析预测的值(称为预测值),如下所示。
我们将这些预测值加以汇总,如下表所示。
y的实测值和预测值。在考虑数学上的最优化问题时,理解实测值和预测值的差异是十分重要的。
如下算出实际的体重与预测值的误差
。
用图说明式(3) 和式(4)的关系。第k个学生的的关系图。
这些的值既可以为正也可以为负。接下来我们来考虑下面的值
,这个值称为平方误差。
注:系数1/2是为了方便进行之后的处理,这个值对结论没有影响。
遍历全体数据,将它们的平方误差加起来,假设得到的值为。
根据之前的表以及式(5),用p、q的式子表示误差总和,如下所示。
我们的目标是确定常数p、q的值。回归分析认为,p、q是使误差总和式(6)最小的解。知道这个解的思路后,后面就简单了。我们利用以下的最小值条件即可。
式(7)的图形含义。
我们来实际计算一下式(6)。根据偏导数的链式法则,可得
整理后得到下式。
1113.4 p+7q=372.1,177312 p+1113.4q=59274
解这个联立方程,可得
p=0.41, q=-12.06
从而求得目标回归方程(2),如下所示。
注:这时。
y=0.41x-12.06
作为例题的解的回归直线。
以上就是一元线性回归分析中使用的回归直线的确定方法。这里的重点是最优化问题的求解思路。这里所考察的最优化方法在后面的神经网络的计算中也可以直接使用。
代价函数
在最优化方面,误差总和可以称为“误差函数”“损失函数”“代价函数”等。我们采用代价函数(cost function)这个名称。
注:之所以不使用误差函数(error function)、损失函数(lost function)的叫法,是因为它们的首字母容易与神经网络中用到的熵(entropy)、层(layer)的首字母混淆。
此外,除了这里所考察的平方误差的总和之外,根据不同的思路,代价函数还存在其他多种形式。利用平方误差的总和
进行最优化的方法称为最小二乘法。这里我们只考虑将平方误差的总和
作为代价函数。
模型参数的个数
我们再来看看之前的例题。模型有2个参数p、q,而已知的条件(数据的规模)有7个。也就是说,模型的参数的个数(2个)小于条件的个数(7个)。反过来说,回归方程是根据大量的条件所得到的折中结果。这里所说的“折中”是指,理想中应该取值0的代价函数只能取最小值。因此,模型与数据的误差
不为0也无须担心。不过,只要误差接近0,就可以说这是合乎数据的模型。
此外,模型的参数个数大于数据规模时又如何呢?当然,这时参数就不确定了。因此,要确定模型,就必须准备好规模大于参数个数的数据。
备注常数和变量
在回归方程中,x、y分别称为自变量、因变量,p、q为常数。不过,在代价函数
中,p、q是被作为变量来处理的。正因为这样,我们才能考虑式(6)的导数。
像这样,根据不同的角度,常数、变量是变幻不定的。从数据的角度来看,回归方程的x、y为变量,从代价函数的角度来看,p、q为变量。