目录
本章内容更多是概括性的,主要介绍了统计学习的定义、研究对象与基本的研究方法;此外重点介绍了监督学习,这是本书介绍的主要统计学习方法;随后提出了统计学习方法的三要素:模型、策略和算法;还有模型选择,包括正则化、交叉验证与模型泛化能力等;最后是生成模型与判别模型以及监督学习方法的应用:分类问题、标注问题与回归问题。
1.1 统计学习
1 统计学习的特点
统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,也称为统计机器学习,现在人们所说的机器学习往往就是指统计机器学习。
统计学习的主要特点是:
- 统计学习以计算机及网络为平台,是建立在计算机及网络之上的;
- 统计学习以数据为研究对象,是数据驱动的科学。
- 统计学习的目的是对数据进行预测与分析;
- 统计学习以方法为中心,统计学习方法构建并应用模型进行预测与分析;
- 统计学习是概率论、统计学、信息论、计算理论、最优化理论及计算机科学等多个领域的交叉学科。
引用Herbert A. Simon对于“学习”的定义:如果一个系统能够通过执行某个过程改进它的性能,这就是学习。因此,统计学习就是计算机系统通过运用数据及统计方法提高系统预测和分析性能的过程。
2 统计学习的对象
统计学习的对象是数据,它从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析和预测中去。数据可以是各式各样的,包括存储在计算机及网络上的数字、文字、图像、视频、音频数据等,以及他们的组合。
统计学习对于数据的基本假设是同类数据一定具有一定的统计规律性,这是统计学习的前提,这里的同类数据是指具有某种共同性质的数据,例如文章、网页等。由于其具有的统计规律性,我们可以用概率统计的方法加以处理。例如,使用随机变量描述数据的特征,用概率分布描述数据的统计规律。
统计学习过程中的数据以变量和变量组表示,数据可以分为连续变量和离散变量。本书以对离散变量的统计为主,此外本书只涉及使用数据构建模型及利用模型对数据进行分析与预测,对数据的观测和收集等问题不做讨论。
3 统计学习的目的
统计学习用于对数据进行预测与分析,特别是对未知新数据进行与分析。对数据的预测可以使计算机更加智能化,提升其某些方面的性能。
对数据的预测与分析是通过构建概率统计模型实现的。统计学习总的目标是考虑学习什么样的模型和如何学习模型,以使模型能对数据进行准确的预测与分析,与此同时尽可能地提高学习效率。
4 统计学习的方法
统计学习的方法是基于数据构建统计模型从而对数据进行预测与分析。统计学习由监督学习、非监督学习、半监督学习和强化学习等组成。
本书重点讨论监督学习,在该情况下统计学习的方法可以概括为:从给定的、有限的、用于学习的训练数据集合出发,假设数据空间是独立同分布(independently identically distribution,i.i.d.)产生的;并且假设要学习的模型属于某个函数的集合(称为假设空间);应用某个评价标准,从假设空间中选取一个最优的模型,使它对已知的的训练数据及未知的测试数据在给定的评价标准下有最优的预测;最优模型的选取由算法实现。
这样,统计学习方法包括模型的假设空间、模型的选择准则以及模型学习的算法。这是统计学习方法的三要素,简称为模型、策略和算法。这部分原文总结的真的超级好!强烈推荐在阅读下面的内容之前好好理清楚一个统计学习方法的三要素。这样你会更加清楚自己在做些什么,目的性会明确许多。
实现统计学习方法的步骤如下:
- 得到一个有限的训练数据集合;
- 确定包含所有可能性的模型的假设空间,即学习模型的集合;
- 确定模型选择的准则,即策略;
- 实现求解最优模型的算法,即算法;
- 通过学习方法运转计算机来选择最优模型;
- 利用学习到的模型对新数据进行预测与分析。
在运行一个真正的统计机器学习模型时,请仔细思考一下你的模型是否遵循了上述步骤。如果没有的话,请务必小心,随着代码量的提升,你可能会渐渐忘记自己已经做了什么,以及接下来应该做什么。(来自真实体验)在代码中针对每一个步骤进行注释是不错的方法,可以帮助你更好的理清思路。
5 统计学习的研究
统计学习研究一般包括统计学习方法、统计学习理论以及统计学习应用三方面。
- 统计学习方法的研究旨在开发新的学习方法;
- 统计学习理论的研究在于探求统计学习方法的有效性和效率,以及统计学习的基本理论问题;
- 统计学习应用的研究主要考虑将统计学习方法应用到实际问题中,以解决实际问题。
1.2 监督学习
监督问题的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个很好的预测(这里的输入输出是被学习的系统的输入输出,而不是统计学习模型的输入输出)。
1 基本概念
(1) 输入空间、特征空间与输出空间
在监督学习中,输入与输出所有可能取值的集合分别称为输入空间与输出空间。输入与输出空间可以是有限元素的集合也可以是整个欧氏空间,可以是同一个空间也可以是不同空间,通常来说输出空间远远小于输入空间。
某个具体的输入是一个实例,通常由特征向量表示,这时,所有特征向量存在的空间称为特征空间。特征空间的每一个维度都对应于一个特征。值得注意的是,有时假设输入空间与特征空间为相同的空间,对他们不予区分;而有时假设输入空间与特征空间为不同的空间,将实例从输入空间映射到特征空间。模型实际上都是定义在特征空间上的。
在监督学习过程中,将输入与输出看作是定义在输入(特征)空间与输出空间上的随机变量的取值。输入、输出变量用大写字母表示,习惯上输入变量为写作X,输出变量写作Y。输入、输出变量所取的值用小写字母表示,输入变量的取值写作x,输出变量的取值写作y。变量可以是标量或向量,都用相同类型字母表示。原书中的向量均采用列向量。例如输入实例x的特整向量记作
x
=
(
x
(
1
)
,
x
(
2
)
,
⋯
,
x
(
i
)
,
⋯
,
x
(
n
)
)
T
x=(x^{(1)},x^{(2)},\cdots,x^{(i)},\cdots,x^{(n)})^T
x=(x(1),x(2),⋯,x(i),⋯,x(n))T
x
(
i
)
x^{(i)}
x(i)表示
x
x
x的第
i
i
i个特征。与之区分的是,
x
i
x_i
xi表示多个输入变量中的第
i
i
i个。
监督学习从训练数据集合中学习模型,对测试数据进行预测,训练数据由输入与输出组成。训练数据集通常表示为
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}
T={(x1,y1),(x2,y2),⋯,(xN,yN)}
测试数据也由相应的输入与输出对组成。输入与输出对又称为样本或样本点。
输入变量
X
X
X和输出变量
Y
Y
Y有不同的类型。根据输入输出变量的不同类型,预测任务有着不同的名字:
名称 | 输入变量 | 输出变量 |
---|---|---|
回归问题 | 连续 | 连续 |
分类问题 | 连续 | 离散 |
标注问题 | 变量序列 | 变量序列 |
(2) 联合概率分布
监督学习假设输入与输出的随机变量 X X X和 Y Y Y遵循联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)。在学习过程中,我们假定该分布是存在的,但对于学习系统是未知的。训练数据与测试数据依照联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)独立同分布产生。 X X X与 Y Y Y具有联合概率分布是监督学习关于数据的基本假设。
(3) 假设空间
监督学习的目的在于学习一个由输入到输出的映射从而对数据进行分析和预测,这一映射由模型表示,也就是说,学习的目的就是在于找到这样的模型。模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间。假设空间的确定意味着学习范围的确定。
监督学习的模型可以是概率模型或非概率模型,由条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)或决策函数
Y
=
f
(
X
)
Y=f(X)
Y=f(X)表示,对具体的输入进行相应的输出预测时,写作
P
(
y
∣
x
)
P(y|x)
P(y∣x)或
y
=
f
(
x
)
y=f(x)
y=f(x)。
2 问题的形式化
监督学习利用训练数据集学习一个模型,再用模型对测试样本集进行预测。由于该过程需要训练数据集,且该数据集由人工给出,所以称为监督学习。监督学习分为学习和预测两个过程,由学习系统和预测系统构成。其结构如下图所示。
首先给定一个训练数据集
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}
T={(x1,y1),(x2,y2),⋯,(xN,yN)}
其中,
(
x
i
,
y
i
)
,
i
=
1
,
2
,
⋯
,
N
(x_i,y_i),i=1,2,\cdots,N
(xi,yi),i=1,2,⋯,N称为样本或样本点。
x
i
∈
X
⊆
R
n
x_i\in X \subseteq\mathbb{R}^n
xi∈X⊆Rn是输入的观测值。
y
i
∈
Y
y_i\in Y
yi∈Y是输出的观测值。
监督学习中,学习系统利用给定的训练数据集通过,学习得到模型,模型可表示为条件概率分布
P
^
(
Y
∣
X
)
\hat{P}(Y|X)
P^(Y∣X)或决策函数
Y
=
f
^
(
X
)
Y=\hat{f}(X)
Y=f^(X),模型描述了输入与输出随机变量之间的映射关系。
在预测过程中,预测系统对于给定的测试样本集中的输入
x
N
+
1
x_{N+1}
xN+1,由模型
y
N
+
1
=
arg
max
y
N
+
1
P
^
(
y
N
+
1
∣
x
N
+
1
)
y_{N+1}=\arg{\max\limits_{y_{N+1}}\hat{P}(y_{N+1}|x_{N+1})}
yN+1=argyN+1maxP^(yN+1∣xN+1)或
y
N
+
1
=
f
^
(
x
N
+
1
)
y_{N+1}=\hat{f}(x_{N+1})
yN+1=f^(xN+1)给出相应的输出
y
n
+
1
y_{n+1}
yn+1。
在学习过程中,学习系统利用给定的训练数据集中的样本带来的信息来学习模型。具体地说,对于输入
x
i
x_i
xi,一个具体的模型
y
=
f
(
x
)
y=f(x)
y=f(x)可以产生一个输出
f
(
x
i
)
f(x_i)
f(xi),而训练数据集中对应的真实输出为
y
i
y_i
yi,学习系统需要做的就是尽可能地降低
f
(
x
i
)
f(x_i)
f(xi)与
y
i
y_i
yi间地差距,同时尽可能地在与训练数据独立同分布地数据上有很好的推广。