读书笔记 - 《深度学习》第五章 机器学习基础

机器学习基础

统计学的两种主要方法:频率派估计和贝叶斯推断。

基于梯度的优化方法

这一部分其实在第四章,但之前有老师拿这个为难我,所以还是写在笔记里:

我们把要最小化或最大化的函数称为目标函数(objective function)或准测(criterion)。当我们对其进行最小化时,我们也把它称为代价函数(cost function)、损失函数(loss function)或误差函数(error function)。

没有免费午餐定理

在所有可能的数据生成分布上平均后,每一个分类算法在未事先观测的点上都有相同的错误率。换言之,在某种意义上,没有一个机器学习算法总是比其他的要好。

不过这个结论仅在考虑所有可能的数据生成分布时才成立,而在应用中,我们通常对遇到的概率分布进行了假设,从而我们只关心什么样的学习算法在我们关注的数据生成分布上效果最好

正则化的意义

正则化是指我们修改学习算法,使其降低泛化误差而非训练误差。

方差

我们正常计算的方差是有偏估计,而无偏样本方差估计计需要乘上m/(m-1)(和原数据分布计算bias时bias=0)。

尽管无偏估计显然是令人满意的,但它并不总是“最好”的估计。我们将看到,经常会使用其他具有重要性质的有偏估计。

最大似然估计

最大似然估计简单来说就是我们的数据分布要在每个样本点上产生的概率最大

最大似然估计

而由于多个概率相乘不便于计算,取了对数以后就转换成了求和的形式:

最大似然估计求和

一种解释最大似然估计的观点是将它看作最小化训练集上的经验分布p_data和模型分布p_model之间的差异,两者之间的差异可以通过KL散度度量。

KL散度

而左边一项仅涉及到数据生成过程,和模型无关。所以只需最小化右边即可:

ML的代价函数

最小化KL散度其实就是在最小化分布之间的交叉熵。许多作者使用术语“交叉熵”特定表示伯努利或softmax分布的负对数似然,但那是用词不当的。任何一 个由负对数似然组成的损失都是定义在训练集上的经验分布和定义在模型上的概率分布之间的交叉熵。例如,均方误差是经验分布和高斯模型之间的交叉熵。

最大似然估计的性质

  • 一致性(训练样本数目趋向于无穷大时,参数的最大似然估计会收敛到参数的真实值);
  • 统计效率(当样本数量较大时,Cramer-Rao下界表明不存在均方误差低于最大似然估计的一致统计。

因为这些原因,导致最大似然估计通常是机器学习中的首选估计。

支持向量机SVM

不同于逻辑回归,SVM不输出概率,只输出类别。

在SVM中,点积替换为被称为核函数的函数。核函数是非线性的,但关于核函数是线性的,经过核函数之后的函数也是线性的。也就是说,核函数完全等价于用核函数预处理所有的输入,然后在新的转换空间学习线性模型

核技巧十分强大有两个原因:

  • 使我们能够使用保证有效收敛的凸优化技术来学习非线性模型
  • 核函数k的实现方法很高效。

最常用的是高斯核,也被称为径向基函数(radial basis function, RBF)核,可以认为高斯核在执行一种模板匹配。

当前深度学习的复兴始于Hinton表明神经网络能够在MNIST基准数据上胜过RBF核的SVM。

在深度学习兴起之前,学习非线性模型的主要方法是结合核技巧的线性模型。很多核学习算法需要构建一个m×m的矩阵,计算量是O(m^2)。当数据集很大时,计算量是不能接受的,深度学习在数以万计样本的中等规模数据集上,算法泛化效果更好,所以开始受到关注。