深度学习是机器学习的一个特定分支。我们要想充分理解深度学习,必须对机器学习的基本原理有深刻的理解。
5.1 学习算法
5.1.1 任务 T
5.1.2 性能度量 P
5.1.3 经验 E
监督学习算法(supervised learning algorithm)训练含有很多特征的数据集,不过数据集中的样本都有一个 标签(label)或 目标(target)。例如,Iris 数据集注明了每个鸢尾花卉样本属于什么品种。监督学习算法通过研究 Iris 数据集,学习如何根据测量结果将样本划分为三个不同品种。
目前为止,我们讨论的是一个简单的优化问题。机器学习和优化不同的地方在于,我们也希望 泛化误差(generalization error)(也被称为 测试误差(test error))很低。
泛化误差被定义为新输入的误差期望。这里,期望的计算基于不同的可能输入,这些输入采自于系统在现实中遇到的分布。通常,我们度量模型在训练集中分出来的 测试集(test set)样本上的性能,来评估机器学习模型的泛化误差。
1. 降低训练误差。
2. 缩小训练误差和测试误差的差距。
定性地生成 y 来合成的。(左) 用一个线性函数拟合数据会导致欠拟合——它无法捕捉数据中的曲率信息。(中) 用二次函数拟合数据在未观察到的点上泛化得很好。这并不会导致明显的欠拟合或者过拟合。(右) 一个 9 阶的多项式拟合数据会导致过拟合。在这里我们使用 Moore-Penrose 伪逆来解这个欠定的正规方程。得出的解能够精确地穿过所有的训练点,但可惜我们无法提取有效的结构信息。在两个数据点之间它有一个真实的函数所不包含的深谷。在数据的左侧,它也会急剧增长,而在这一区域真实的函数却是下降的。
capacity)。
5.2.1 没有免费午餐定理
机器学习的没有免费午餐定理(no free-lunch theorem)表明,在所有可能的数据生成分布上平均之后,每一个分类算法在未事先观测的点上都有相同的错误率。换言之,在某种意义上,没有一个机器学习算法总是比其他的要好。我们能够设想的最先进的算法和简单地将所有点归为同一类的简单算法有着相同的平均性能(在所有可能的任务上)。
幸运的是,这些结论仅在我们考虑所有可能的数据生成分布时才成立。在真实世界应用中,如果我们对遇到的概率分布进行假设的话,那么我们可以设计在这些分布上效果良好的学习算法。
这意味着机器学习研究的目标不是找一个通用学习算法或是绝对最好的学习算法。反之,我们的目标是理解什么样的分布与人工智能获取经验的 “真实世界” 相关,什么样的学习算法在我们关注的数据生成分布上效果最好。
5.2.2 正则化
5.3超参数和验证集
大多数机器学习算法都有超参数,可以设置来控制算法行为。超参数的值不是通过学习算法本身学习出来的。
5.3.1 交叉验证
5.4.3 方差和标准差
深度学习是机器学习的一个特定分支。我们要想充分理解深度学习,必须对机器学习的基本原理有深刻的理解。
5.1 学习算法
5.1.1 任务 T
5.1.2 性能度量 P
5.1.3 经验 E
监督学习算法(supervised learning algorithm)训练含有很多特征的数据集,不过数据集中的样本都有一个 标签(label)或 目标(target)。例如,Iris 数据集注明了每个鸢尾花卉样本属于什么品种。监督学习算法通过研究 Iris 数据集,学习如何根据测量结果将样本划分为三个不同品种。
目前为止,我们讨论的是一个简单的优化问题。机器学习和优化不同的地方在于,我们也希望 泛化误差(generalization error)(也被称为 测试误差(test error))很低。
泛化误差被定义为新输入的误差期望。这里,期望的计算基于不同的可能输入,这些输入采自于系统在现实中遇到的分布。通常,我们度量模型在训练集中分出来的 测试集(test set)样本上的性能,来评估机器学习模型的泛化误差。
1. 降低训练误差。
2. 缩小训练误差和测试误差的差距。
定性地生成 y 来合成的。(左) 用一个线性函数拟合数据会导致欠拟合——它无法捕捉数据中的曲率信息。(中) 用二次函数拟合数据在未观察到的点上泛化得很好。这并不会导致明显的欠拟合或者过拟合。(右) 一个 9 阶的多项式拟合数据会导致过拟合。在这里我们使用 Moore-Penrose 伪逆来解这个欠定的正规方程。得出的解能够精确地穿过所有的训练点,但可惜我们无法提取有效的结构信息。在两个数据点之间它有一个真实的函数所不包含的深谷。在数据的左侧,它也会急剧增长,而在这一区域真实的函数却是下降的。
capacity)。
5.2.1 没有免费午餐定理
机器学习的没有免费午餐定理(no free-lunch theorem)表明,在所有可能的数据生成分布上平均之后,每一个分类算法在未事先观测的点上都有相同的错误率。换言之,在某种意义上,没有一个机器学习算法总是比其他的要好。我们能够设想的最先进的算法和简单地将所有点归为同一类的简单算法有着相同的平均性能(在所有可能的任务上)。
幸运的是,这些结论仅在我们考虑所有可能的数据生成分布时才成立。在真实世界应用中,如果我们对遇到的概率分布进行假设的话,那么我们可以设计在这些分布上效果良好的学习算法。
这意味着机器学习研究的目标不是找一个通用学习算法或是绝对最好的学习算法。反之,我们的目标是理解什么样的分布与人工智能获取经验的 “真实世界” 相关,什么样的学习算法在我们关注的数据生成分布上效果最好。
5.2.2 正则化
5.3超参数和验证集
大多数机器学习算法都有超参数,可以设置来控制算法行为。超参数的值不是通过学习算法本身学习出来的。