1.1 机器学习:什么和为什么?
我们淹没在信息中,渴望知识。 — John Naisbitt。
我们正在进入大数据时代。 例如,有大约1万亿个网页; YouTube一个小时的视频上传,每天相当于10年的内容;1000多人的基因组,每个人的长度为3.8×109个碱基对,已被各种实验室测序; 沃尔玛每小时处理超过1M笔交易,数据库包含超过2.5千兆字节(2.5×1015)的信息(Cukier 2010); 等等。
这种大量数据需要自动化的数据分析方法,这就是机器学习所提供的。特别是,我们定义机器学习为一组能够自动探测数据中潜在模式的方法,并且用这种模式来预测未来的数据,或在不确定性因素下执行其他类型的决策(例如规划如何收集更多数据!)。
本书采用的观点是,解决此类问题的最佳方法是使用概率论工具。 概率论可以应用于任何涉及不确定性的问题。 在机器学习中,不确定性有多种形式: 根据过去的一些数据,对未来的最佳预测是什么?什么是解释一些数据的最佳模型?下一步该进行什么样的度量? 等等。 机器学习的概率方法与统计学领域密切相关,但在重点和术语方面略有不同。
我们将描述适用于各种数据和任务的各种概率模型。 我们还将描述用于学习和使用此类模型的各种算法。我们的目标不是开发一种特殊技术的烹饪书,而是通过概率建模和推理来全面认识这一领域。虽然我们会关注计算效率,但是在其他书籍中更好地描述了如何将这些方法扩展到真正大规模数据集的细节,例如(Rajaraman和Ullman 2011; Bekkerman等人2011)。
然而,应该注意的是,即使拥有一个庞大的数据集,实际有效数据点也可能很小。事实上,许多领域的数据都表现出称为长尾的特点,这意味着一些事物(例如,单词)非常常见,但大多数事情都非常罕见(详见第2.4.6节)。例如,每天有20%的Google搜索从未见过。这意味着我们在本书中讨论关于从相对较小的样本尺寸进行推广的核心统计问题,即使在大数据时代也仍然非常相关。
1.1.1 机器学习的类型
机器学习通常分为两大类。第一种方法是预测性的或监督学习方法,目标是在给定一组有标记的输入-输出对 \(\mathcal{D} ={(x_i,y_i)}_{i=1}^N\) 的情况下学习从输入 \(x\) 到输出 \(y\) 的映射。 这里 \(\mathcal{D}\) 被称为训练集, \(N\) 是训练样本的数量。
在最简单的设置中,每个训练输入 \(x_i\) 是 \(D\) 维向量,例如表示人的身高和体重。这些被称为特征,属性或协变量。 然而,一般而言, \(x_i\) 可以是复杂的结构化对象,例如图像,句子,电子邮件消息,时间序列,分子形状,图形等。
类似地,输出或响应变量的形式原则上可以是任何形式,但是大多数方法假设 \(y_i\) 是来自某个有限集的分类或名称变量, \(y_i \in {1,\dots,C}\) (例如男或女) 或者 \(y_i\) 是一个实值标量(如收入水平)。当 \(y_i\) 是分类时,问题被称为分类或模式识别,并且当 \(y_i\) 是实值时,该问题被称为回归。另一种变体,称为序数回归(译者注: 也叫排名学习),发生在标签空间 \(\mathcal{Y}\) 具有某种自然顺序的地方,例如等级A-F。
第二种主要的机器学习类型是描述性的或无监督学习方法。 这里我们只给出输入, \(\mathcal{D} = \{ x_i \}_{i = 1}^N\) ,目标是在数据中找到“有趣的模式”。这有时被称为知识发现。这是一个定义不太明确的问题,因为我们没有被告知要查找哪种模式,并且没有明显的误差度量标准可供使用(与监督学习不同,我们可以将我们对给定 \(x\) 的 \(y\) 的预测进行比较 观察值)。
还有第三种类型的机器学习,称为强化学习,它在某种程度上不太常用。这对于学习如何在给予偶尔的奖励或惩罚信号时的动作或行为很有用。 (例如,考虑一个婴儿如何学会走路。) 不幸的是,RL超出了本书的范围,尽管我们在第5.7节讨论决策理论,这是RL的基础。参见(Kaelbling等人1996; Sutton和Barto 1998; Russell和Norvig 2010; Szepesvari 2010; Wiering和van Otterlo 2012)以获得关于RL的更多信息。