深度学习是机器学习的一个特定分支。我们要想充分理解深度学习,必须对机器学习的基本原理有深刻的理解。
1、学习算法
机器学习算法是一种能够从数据中学习的算法。我们所说的“学习”是什么意思呢?Mitchell(1997)提供了一个简洁的定义:对于某类任务T和性能度量P,一个计算机程序被认为可以从经验E中学习是指,通过经验E改进后,它在任务T上由性能度量P衡量的性能有所提升。
2、任务T
从 ‘‘任务’’ 的相对正式的定义上说,学习过程本身不能算是任务。通常机器学习任务定义为机器学习系统应该如何处理样本(example)。样本是指我们从某些希望机器学习系统处理的对象或事件中收集到的已经量化的特征(feature)的集合。常见的有:分类、输入缺失分类、回归、转录、机器翻译、结构化输出、异常检测、合成和采样、缺失值填补、去噪、密度估计或概率质量函数估计。
3、性能度量P
了评估机器学习算法的能力,我们必须设计其性能的定量度量。通常性能度量 P 是特定于系统执行的任务 T 而言的。
对于诸如分类、缺失输入分类和转录任务,我们通常度量模型的准确率(accuracy)。准确率是指该模型输出正确结果的样本比率。我们也可以通过错误率(errorrate)得到相同的信息。错误率是指该模型输出错误结果的样本比率。我们通常把错误率称为 0 − 1损失的期望。在一个特定的样本上,如果结果是对的,那么 0 − 1损
失是 0;否则是 1。
通常,我们会更加关注机器学习算法在未观测数据上的性能如何,因为这将决定其在实际应用中的性能。因此,我们使用测试集(test set)数据来评估系统性能,将其与训练机器学习系统的训练集数据分开。
4、经验E
根据学习过程中的不同经验,机器学习算法可以大致分类为无监督(unsupervised)算法和监督(supervised)算法。
无监督学习算法(unsupervised learning algorithm)训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。在深度学习中,我们通常要学习生成数据集的整个概率分布,显式地,比如密度估计,或是隐式地,比如合成或去噪。还有一些其他类型的无监督学习任务,例如聚类,将数据集分成相似样本的集合。监督学习算法(supervised learning algorithm)训练含有很多特征的数据集,不过数据集中的样本都有一个标签(label)或目标(target)。例如,Iris 数据集注明了每个鸢尾花卉样本属于什么品种。监督学习算法通过研究 Iris 数据集,学习如何根据测量结果将样本划分为三个不同品种。