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

从原理到代码之线性模型

( 模型具体计算过程说明:参数向量的转置与某个样本列向量相乘,或者用样本列项量的转置与参数向量相乘,之后在加上偏置b,得到预测值)

即:根据已知的数据集T来计算参数 

从原理到代码之线性模型

从原理到代码之线性模型

 

在很多讲解机器学习的教程中,这一步就直接给出用平方损失函数作为模型优化目标,如下所示:

给定样本:

从原理到代码之线性模型

其预测值为:

从原理到代码之线性模型

在训练集T上,模型的损失函数为:

从原理到代码之线性模型

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

从原理到代码之线性模型

然后就使用梯度下降法求解上述最优化问题的数值解。(有关梯度下降法,参见第4节)

 

我们在这里就要深扒一下,为什么使用平方损失函数,在数学基础上找到使用平方损失函数的依据。

对于每个样本有如下误差分析:

从原理到代码之线性模型

参数向量的转置在上文“ 模型具体计算过程说明”中已介绍;此外,我们为了方便计算,我们可以把偏置当作一个特殊权重,且每一个样本在这一维上的特征值都为1,故上式可以简化为:

从原理到代码之线性模型

其中,在概率统计学中,绝大多数的误差可以看作是独立并且具有相同分布,并且服从均值为0,方差σ2的高斯分布,则有:

从原理到代码之线性模型

从而可以得到:

从原理到代码之线性模型

这样,我们对于样本集中的所有样本,就可以得到似然函数,即:

从原理到代码之线性模型

似然可以解释为:我们取什么样的参数与样本进行组合之后,得到的恰好是真实值。而上式就是这种情况在样本集上的概率函数。因为假设每个样本之间是不相关的,即独立同分布,所以我们需要把每个样本此情况下的概率函数累乘。

根据我们的模型预期,我们当然希望这种情况的概率越大越好。也就是说,能使出现这种情况的概率最大的参数向量,就是我们所要求得的参数估计值。这在数学上叫作“最大似然估计”。在概率学中,似然本质上是条件概率。(这里需要理解透彻,后续章节会讲到GMM(混合高斯模型)中,涉及到参数先验、后验、以及似然之间的关系,会进一步详细解释。)

因为计算机系统处理加法要比处理乘法容易得多,所以我们很有必要将似然通过对数乘法法则,转换为对数似然,即有:

从原理到代码之线性模型

我们对上式的对数似然进行化简,可以得到:

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

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