中文翻译by楚之,仅供学习目的,转载或其它用途务必邮件联系 wangbiao225@foxmail.com
1 简介
1.1 机器学习: What and Why?
我们被信息淹没,但是却渴求着知识。— 约翰·奈斯比特(John Naisbitt)
我们正在进入大数据(big data) 的时代。举个简单的例子,因特网上目前大约有1万亿网页1 ;YouTube上每秒中就有1小时的视频上传,这意味着每天累计就有10年的内容2 ;1000人的基因组,每个有多达3.8亿组碱基对,已经由多个不同实验室排列出来;沃尔玛每小时处理多达100万宗交易,它的数据库含有多达2.5拍字(
2.5
×
1
0
15
2.5\times10^{15}
2.5×1015)的信息量(Cukier 2010);诸如此类。
数据的泛滥提出了对自动数据分析方法的需求,这正是机器学习(machine learning) 可以提供的。特别的,我们将机器学习定义为一组可以自动在数据中发现模式的方法,然后我们用发现的模式去对未来的数据进行预测,或者在一定不确定性条件下执行其它的决策操作(比如计划如何收集更多的数据!)。
本书采用如下观点: 最好的解决此类问题的方法是使用概率论的工具。 概率论可以应用在任何存在不确定性的问题上。在机器学习中,不确定性存在多种形式: 给定过往数据,什么是对未来的最好预测?什么是解释某些数据的最好模型?我们接下来要采取什么措施?等等。机器学习的概率方法比跟统计学领域比较相关,但在侧重点和技术术语上仍有略微的不同3。
我们将描述多种多样的概率模型,适合不同的数据及任务。我们也将描述多种学习及使用这些模型的算法。本书的目的不是给出一份专门的技术大全,而是试图给出一个透过概率建模及推断视角来观察整个领域的统一框架。尽管我们也会关注到计算效率,但如何将这些方法延展到大规模数据集的细节在其它书中会有更详尽的描述,例如 (Rajaraman and Ullman 2011; Bekkerman et al. 2011)。
但是,我们必须指出,即使我们有一个很明显的大规模数据集,对于某些特定兴趣的数据点来说,其有效样本数目依然可能非常小。事实上,许多领域的数据呈现出长尾(long tail) 特性,这意味着少部分事物(例如单词)非常常见,但是大部分事物则非常罕见 (更多细节参见 2.4.6)。例如,每天20%的谷歌搜索以前从未见过4。这意味着,我们在本书中讨论的核心统计问题,即如何从相对较小的样本规模获得泛化能力,在大数据时代已然非常重要。
1.1.1 机器学习类型
机器学习通常可以划分为两个主要类别。在预测性(predictive) 或者有监督学习(supervised learning) 方法中,我们的目标是学习一个从输入
x
\mathbf{x}
x到输出
y
y
y的映射,假设给定一组有标注的输入输出对
D
=
(
x
i
,
y
i
)
i
=
1
N
\mathcal{D}={(\mathbf{x}_i,y_i)}_{i=1}^\textit{N}
D=(xi,yi)i=1N。 这里
D
\mathcal{D}
D叫做训练集(training set),
N
\textit{N}
N为训练样本的数目。
在最简单的情况下,每个训练输入
x
i
\mathbf{x}_i
xi是一个
D
D
D维向量,表示,例如人的身高和体重。这被称为特征(features) ,属性(attributes) 或者协变量(covariates) 。通常,
x
i
\mathbf{x}_i
xi可以是具有复杂结构的目标,比如一幅图像,一个句子,一封邮件讯息,一个时间序列,一个分子形状,一张图等。
类似的,输出的形式或者叫响应变量(response variable) 也可以是任何东西,但大多数方法假设
y
i
y_i
yi是一个来自某个有限集合的类别(categorical) 或标称(nominal) 变量,
y
i
∈
{
1
,
.
.
.
,
C
}
y_i \in \{1,..., C\}
yi∈{1,...,C} (如男或女),或者
y
i
y_i
yi是一个实值的数量(如收入水平)。当
y
i
y_i
yi是类别变量时,这个问题是分类(classification) 或者模式识别(pattern recognition) ,当
y
i
y_i
yi是实值数量时,这个问题是回归(regression)。另外一个变种,被称为有序回归(ordinal regression),通常发生在标签空间
Y
\mathcal{Y}
Y有一定的自然顺序,比如等级A-F。
机器学习的第二个主要类型是描述性(descriptive) 或无监督学习(unsupervised learning) 方法。这里我们只有给定输入
D
=
(
x
i
)
i
=
1
N
\mathcal{D}={(\mathbf{x}_i)}_{i=1}^\textit{N}
D=(xi)i=1N,目标是找到数据中的"有趣模式"。这一过程又被称为知识发现(knowledge discovery) 。这远非是一个定义良好的问题,因为我们并不知道该去找寻什么样的模式,也没有明显的误差度量可以使用(不像有监督学习,我们可以将我们对于给定
m
a
t
h
b
f
(
x
)
mathbf(x)
mathbf(x)对应
y
y
y的预测与观测值进行比较)。
另外还有第三类机器学习,即强化学习(reinforce learning),通常用的略少。强化学习在给定激励或惩罚信号的情况下去学习如何决策非常有用。(比如,考虑一个婴儿如何学习走路。) 不幸的是,增强学习不在本书的关注范围内,尽管我们会在5.7节讨论一些决策理论,这是强化学习的基础。关于强化学习,读者可以参考文献如(Kaelbling et al. 1996; Sutton and Barto 1998;Russell and Norvig 2010; Szepesvari 2010; Wiering and van Otterlo 2012)以得到更多信息。