
4.1.2 回归问题
我们在前面指出:对于二元分类,目标变量可以取诸如的一组二元值,对于多元分类,可以将目标变量调整为一个维数为类别个数的向量,即
,回归分析问题处理的是目标变量取任何实数值的情形,即
。
这里蕴含着一个非常有意思的事实,因为有了回归模型和算法,我们可以从技术上实现二元分类,因为实数集包含了任何二元数集:

此外,如果我们将C={'Summer ','Fall','Winter ','Spring '}改为数值表示,例如,那么从技术上讲,也可以使用回归分析方法处理关于下列目标数据的分类问题:

尽管可以使用回归模型解决分类问题,但还是建议你使用专门用于分类的模型处理分类问题,回归模型仅用于解决回归任务。
甚至回归模型可以用于分类(Tan,X.,et.al.,2012),当目标变量为实数时,处理效果是比较理想的。下面列出若干回归问题:
·给定一张图像,指出其中有多少人(输出可以是任何不小于0的整数)。
·给定一张图像,指出该图像中包含猫的概率(输出可以是从0到1之间的任何实数)。
·给定一系列关于温度的读数,确定实际的温度值(输出可以是范围取决于温度单位的任何整数)。
·给定的一条推特文本,确定该文本具有攻击性的概率(输出可以是从0到1之间的任何实数)。
·给定一个人的图像,确定此人年龄(输出可以是任何正整数,通常小于100)。
·给定整篇文档,确定该文档可能的压缩率(输出可以是从0到1之间的任何实数)。
·给定光谱辐射计卫星读数,确定相应的红外光谱辐射值(输出可以是任何实数)。
·给定一些主要报纸的标题,确定石油的价格(产量可以是任何不小于0的实数)。
正如上述列表所示,回归模型有可能的应用领域。这是因为实数的范围包括所有整数和正负数,即使某个特定应用程序的数据变化范围非常大,回归模型也可以通过适当地调整以满足特定的数据变化范围。
为了解释回归模型的基本功能,让我们从基本的线性回归模型开始。后面的章节中将介绍基于深度学习的更加复杂的回归模型。
线性回归模型试图解决下列问题:

需要对于所有的求解。我们可以使用前述技巧将对b的计算隐含在线性模型之中。因此,可以说需要解决的是下列问题:

再一次,我们学习到对所有i满足等式的参数w。在线性回归的情况下,如果输入数据
呈现出一条完美的直线排列,那么预测值
应该比较理想地等于实际的目标值y。但这通常不会发生,所以必须要有一种方法即使在
的情况下,也可以学习到参数w的取值。为了实现这个目标,线性回归学习算法从对小错小罚和大错大罚的表示开始。这很有道理,而且很直观。
一种自然的惩罚错误的方法计算预测值和目标值之间误差的平方。下面是一个误差很小的例子:

当误差很大时,则有:

在这两个示例中,期望的目标值都是1。在第一种情况下,预测值0.98与目标值非常接近,误差的平方为0.0004,与第二种情况相比较小。第二个预测的误差是14.8,结果的误差的平方是219.4。对于建立一个学习算法来说,这似乎是合理,也很直观的,也就是说,根据误差的大小来实施对错误的惩罚。
可以将用于选择参数w的总体平均误差函数正式定义为所有误差平方和的平均值,也称之为均方误差(MSE):

如果根据当前w的取值来计算预测值,那么可以将误差函数改写为如下形式:

可以将其简化为范数(亦称欧几里得范数,
),首先定义一个数据矩阵,其元素为数据向量,并定义一个与该矩阵相对应的目标向量,如下所示:

此时,可以将上述误差函数简洁地表示为:

可以将上式展开为下列重要形式:

这种形式很重要,因为它便于计算误差E(w)关于参数w的导数,通常需要在这种导数的方向上按误差的比例优化调整参数w。现在,根据线性代数的基本性质,我们可以说误差的导数(也称为梯度,因为它产生了一个矩阵)如下:

因为我们想找到产生最小误差的参数,因此可以将梯度设置为0,然后求解w的取值。将梯度设置为0并忽略常量,我们可以得到如下结果:

上面的方程称为正规方程(Krejn,S.G.E.,1982)。如此一来,如果简单地使用,就得到关于伪逆的定义(Golub,G.,and Kahan,W.,1965)。这样做的好处在于不需要通过迭代计算梯度的方式获得最佳参数。事实上,由于梯度可以直接计算和解析,我们通过一次性计算获得最优参数值,如下列线性回归算法所示:
1)从,构建对(X, y)
2)计算伪逆
3)计算并返回
为了将上述求解过程图示化,假设有遵循线性函数发送信号的系统,由于信号传输时存在均值0和单位方差的正常噪声污染,因此只能观察到含有噪声的数据,如图4.3所示。
如果黑客读取了这些数据,并试图通过运行线性回归算法来确定数据被污染之前产生该数据的真实函数,那么该黑客将使用如图4.4所示的解决方案。
如图4.4所示,线性回归模型的解显然非常接近真实的线性函数。在这个特定的例子中,我们可以看到线性回归模型与真实函数之间具有非常高的拟合程度,这是因为数据被遵循白噪声模式的噪声污染。然而,对于其他类型的噪声,模型的拟合性能可能达不到这么好的效果。此外,大多数回归问题根本不是线性的,事实上,最有趣的回归问题通常都是高度非线性的。尽管如此,回归分析的基本学习原则是一样的:
·在每次学习迭代中减少误差值(或者通过直接的一次性计算,如线性回归)
·在尽可能少的迭代(步骤)中学习模型参数
·尽可能快地学习模型参数

图4.3 被随机噪声污染的数据读数

图4.4 噪声数据中估计真实函数的线性回归方法
指导学习过程的另一个主要要点是关于成功或错误的参数选择的计算方式。在PLA例子中,模型只是发现了一个错误,并据此进行了调整。对于多元分类来说,这是通过误差的梯度下降过程来实现;在线性回归分析中,则是通过使用MSE进行直接梯度计算。现在,让我们更加深入地研究其他类型的成功和错误的度量方法,这些方法可以是定量的,也可以是定性的。