从原理到代码之线性模型 (3)

从原理到代码之线性模型

我们预期目标是似然函数越大越好,即对数似然也越大越好,因为对于一个模型来说,样本数、误差的标准差、圆周率都是常数,则对于上式的因子:

从原理到代码之线性模型

应该越小越好。

 

可以看到,在这里,我们在数学中找到了“用平方损失函数作为模型优化目标”依据,其数学本质上是参数估计方法中的“最大似然估计”。

 

如果对于一个机器学习模型,我们知道了参数优化目标,似乎我们就可以利用梯度下降方法求解参数估计值了,但是我们在这里还是再深扒一步,因为对于线性模型的优化目标来说,较为简单,在数学中是可以直接用最小二乘法求解解析解,该问题称为多元线性回归。

我们的目标是损失函数最小化,即:

从原理到代码之线性模型

令:

从原理到代码之线性模型

则有:

从原理到代码之线性模型

令:

从原理到代码之线性模型

则:

从原理到代码之线性模型

令:

从原理到代码之线性模型

求它的极小值(PS:其中涉及到机器学习领域中有关矩阵运算和求导法则,随后会上传一份资源,以便大家学习使用),对

从原理到代码之线性模型

求导,并令导数为零,得到解析解:

从原理到代码之线性模型

a. 当

从原理到代码之线性模型

为满秩矩阵或者正定矩阵时,可得:

从原理到代码之线性模型

于是学到的多元线性回归模型为:

从原理到代码之线性模型

b. 当

从原理到代码之线性模型

不是满秩矩阵时:比如N<n(样本数量小于特征种类的数量),根据

从原理到代码之线性模型

的秩小于等于(N,n)中的最小值,即小于等于N(矩阵的秩一定小于等于矩阵的行数和列数);因为两矩阵相乘得到的矩阵,它的秩是小于等于两个因子矩阵的秩的最小值(即,若C=AB,则R(C)<=min(R(A),R(B)。)

而矩阵

从原理到代码之线性模型

是n*n大小的,它的秩一定小于等于N,因此它不是满秩矩阵。此时存在多个解析解。常见的做法是引入L1或L2正则项。以L2正则化为例:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyxwdd.html