基础不牢,地动山摇。
首先,我认为我们需要先明确一下回归(Regression)与分类(Classification)的区别,这二者都是监督学习的核心问题,它们之间的区别总结如下:
① 回归问题通常是用来预测一个数值,比如预测房价,预测工程耗时等。如果一个产品的实际价格为500元,通过回归分析预测结果为499元,我们认为这是一个比较好的回归分析。回归是对真实值的一种逼近预测。
② 分类问题通常用于预测样本的标签,比如判断一张图片上的动物是一只猫还是一只狗。分类问题没有逼近的概念,最终输出的结果只有一个,“是”或者“否”。
1. 单一属性线性回归
让我们先考虑一种最简单的情形:每个样本只有一个输入属性(只有一维特征)。假设我们有个样本,每个样本有1维特征和1个结果输出,那么训练数据的形式可以如下表达(
代表第
个样本的输入特征,
代表第
个样本的真实结果):
单一属性线性回归的模型如下:
显而易见,单一属性线性回归的目标就是确定合适的和
,使得
(即让模型输出结果尽可能逼近真实结果)。想实现这个目标,关键在于如何最小化模型输出结果
和真实结果
的之间的差别。在这里,我们用均方误差来量化这种差别(均方误差也是回归任务中最常用的性能度量),均方误差表示为:
为了寻找使均方误差最小的
和
,我们将
分别对
和
求导,得到:
另上面两式都为0即可得到参数和
的最优解(其中
为
的均值):
计算过程如下图:
2. 多元线性回归
我们通过刚才的推导对单一属性线性回归的参数估计方法有了一定的了解,下面让我们推广到更一般、更复杂的情况。在一般情况下,样本的属性(特征)不会只有一维,而是会有多维。现在让我们假设我们有个样本,每个样本都有
维特征和1个结果输出,那么训练数据的形式可以如下表达(
代表第
个样本的第
维特征,
代表第
个样本的真实结果):
多元线性回归的模型如下:
为了便于描述,将权重和属性(特征)改写成向量形式:
,
则多元线性回归的模型可以改写成:
显然,多元线性回归的目标是确合适的向量和常数
,使得
(即让模型输出结果尽可能逼近真实结果)。与单一属性线性回归类似,我们可以最小化均方误差来对
和
进行估计。
为了便于描述,我们将所有样本写成一个大小的矩阵
,其中每行对应于一个样本,该行前
个元素对应于样本的
个属性值(特征),最后一个元素恒为1,即
此外,我们将参数和
写到一个向量
中,并且把所有
个样本的真实标记值写入一个向量
中,如下:
,
则,真实标记与模型输出的偏差可以表示为:
多元线性回归的均方误差可表示为:
将均方误差对求偏导,得到:
令上式为0可以求得最优的参数,但是由于涉及矩阵的运算,比单一属性的情况要复杂一些,简单讨论一下:
① 若为满秩矩阵或正定矩阵,令上式为0可得:
其中,是
的逆矩阵。
若令:,则原多元线性回归模型
可表示为
,
将上面求得的代入
,可以得到最终学到的线性回归模型:
② 然而,现实任务中往往不是满秩矩阵,例如在许多任务中,样本有大量的特征,特征数甚至超过样本数,导致
的列数多于行数,
显然不满秩,此时可解出多个
,它们都能使均方误差最小化,选择哪一个解作为输出,将由学习算法的归纳偏好决定(比如算法更加“信任”某个属性,则会选择该属性上权值较重的
)。
3. 广义线性回归
在上面讲到的单一属性线性回归和多元线性回归中,都是标记值与属性(特征)呈线性关系,我们可以记为:
现在让我们扩展一下这样的线性关系,假设现在标记值与属性不呈线性关系了,取而代之的是,标记值的自然对数与属性呈线性关系,即:
这就是对数线性回归,它实际上是在试图让去逼近
,虽然在形式上依然是线性回归,但是本质上已经是在求取输入空间到输出空间的非线性映射,如下图所示,这里对数函数起到了将线性回归模型的预测值与真实值联系在一起的作用。
更一般地,考虑单调可微函数,令
这样得到的模型称为广义线性模型,其中函数称为联系函数,显然,对数线性回归是广义线性模型在
时的特例。
参考:
《机器学习》西瓜书,周志华著
https://blog.csdn.net/monk1992/article/details/82346375
https://www.cnblogs.com/huangyc/p/9782821.html