统计机器学习03:线性模型

前面说到机器学习中的任务主要是分类和回归,分类如前面的贝叶斯定理所展现的那样是输出一个类别(有限的离散数值),而回归的任务则是输出一个real value

线性回归的基本思路

对于n维的样本找到一系列线性函数使得,这个问题可以变形为n+1维使得其中,这样一来表达式的形式更加统一了,而我们的目标就是训练出这个函数f,使得对于训练数据,有,我们要求解的对象就是这个n+1维的向量

线性回归的loss函数和解

线性回归常见的loss函数定义是最小平方误差(MSE)

也会使用残差平方和(RSS),其形式如下: 我们对RSS的表达式求梯度有: 因此可以得到使得RSS最小的线性回归的解是:

我们需要注意到,每一个样本x是维的向量,因此X是维的矩阵,而y也是维的向量,所以当样本数n小于特征数d的时候,是不满秩的,求不出逆矩阵,此时的线性回归有多个解

其实这也很好理解,因为要求解的是n+1维的向量,有n+1个变量,因此至少需要n+1个样本才能确定n+1个参数,出现上述情况的时候所有可能的解都可以使得均方误差最小化,此时可以考虑引入正则化项来筛选出需要的结果。

线性回归的统计模型

真实情况下的数据样本往往会有噪声,比如 其中是一个随机噪声,服从的正态分布,此时可以通过极大似然法来估计,定义 根据极大似然法有 我们的求解目标变成了: 取对数似然之后有 到这一步为止我们又回到了RSS,因此解的表达式依然和上面推出的是一样的。

岭回归 Ridge Regression

我们发现普通的线性回归很容易出现overfitting的情况,比如一些系数的值非常极端,仿佛就是为了拟合数据集中的点而生的,对测试集中的数据表现就非常差。为了控制系数的size,让表达式看起来更像是阳间的求解结果,我们可以引入正则化的方法。 这实际上就是拉格朗日算子,则我们跟之前一样可以将其写成矩阵形式: 对其求梯度可以得到 则其最终的解就是: 这就是岭回归(Ridge Regression)的方法,其中参数是可以自己确定的,我们可以保证矩阵是满秩的矩阵。

贝叶斯线性回归

现在我们重新考虑实际样本中可能会出现的噪声,即,其中服从的正态分布。 根据贝叶斯定理可以得到: 即posterior正比于prior和likelihood的乘积,即,而在线性回归问题中,我们已经 知道了likelihood就是 我们可以用如下方法选择:

因此在贝叶斯理论下的岭回归模型需要优化的目标可以等价于:

逻辑回归 Logistic Regression

基本概念

逻辑回归往往选择通过一个sigmod函数将样本映射到某个区间上,以此来估计样本属于某种类别的概率从而达到分类的目的。我们经常选用的sigmod函数是: 比如对于二分类问题,可以将样本映射到区间(-1,1)上,此时如果计算结果为正数则说明样本属于正例,反之就是反例,可以表示为: 上面的两个式子也可以统一写为:

参数估计

我们可以用极大似然法来估计参数,依然用D表示数据集,具体的过程如下所示: 因此我们可以将逻辑回归的极大似然法参数估计的loss函数定义成: 对于一个二分类问题,我们如果用0和1而不是+1和-1来代表两种分类,那么上面的表达式又可以写为: 我们可以证明是一个关于的凸函数,根据凸函数的可加性,我们只需要证明是关于的凸函数,我们令则对其求一阶梯度可以得到: 能得到这个结果是因为我们有这样一个结论:对于一个n维的向量,我们有

进一步地,我们对上面求的一阶梯度再求二阶梯度,可以得到: 因此我们证明了损失函数是一个凸函数,因此可以用梯度下降的方法求得其最优解,即: 根据上面求得的一阶梯度,可以得到基于梯度下降法的逻辑回归参数求解迭代方程: 其中是sigmod函数,而是自己选择的学习率,一半是一个比较小的数字,并且应该不断减小。