第1章
1.1 统计学习
-
统计学习的特点
统计学习:计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析
现在人们提及机器学习时,往往指统计机器学习,所以可以认为本书介绍的是机器学习方法 -
统计学习的对象
统计学习研究的对象是数据(data),统计学习关于数据的基本假设是同类数据具有一定的统计规律性,这是统计学习的前提。
e.g.用随机变量描述数据的特征,用概率分布描述数据的统计规律
在统计学习中,以变量或变量组表示数据,数据分为连续变量或离散变量,本书主要讨论离散变量的方法且本书只关注利用数据构建模型及利用模型对数据进行分析与预测,对数据的观测和收集等问题不讨论 -
统计学习的目的
统计学习的总目标就是考虑学习什么样的模型和如何学习模型,使模型能对数据进行准确的预测与分析(也要考虑学习效率) -
统计学习的方法
统计学习方法可以概括如下:从给定的、有限的、用于学习的训练数据(training
data)集合出发,假设数据是独立同分布产生的;并且假设要学习的模型属于某
个函数的集合,称为假设空间(hypothesis space);
应用某个评价准则(evaluation criterion),从假设空间中选取一个最优模型,使它对已知的训练数据及未知的测试数据(test data)在给定的评价准则下有最优的预测;最优模型的选取由算法实现。
这样统计学习方法包括模型的假设空间、模型选择的准则以及模型学习的算法。称其为统计学习方法的三要素,简称为模型(model)、策略(strategy)和算法(algorithm)。
1.2 统计学习的分类
1.2.1 基本分类
统计学习或机器学习一般包括监督学习、无监督学习、强化学习。有时还包括半监督学习、主动学习。
- 监督学习
监督学习(supervised learning)是指从标注数据中学习预测模型的机器学习问
题。标注数据表示输入输出的对应关系,预测模型对给定的输入产生相应的输出。监督学习的本质是学习输入到输出的映射的统计规律。
我们要弄清楚以下几个名词
(1)输入空间、特征空间和输出空间
在监督学习中,把输入和输出所有可能取值的集合分别称为输入空间(input space)和输出空间(output space)
每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示。所有特征向量存在的空间称为特征空间(feature space),特征空间的每一维对应于一个特征。(有时是假设输入空间等同于特征空间,有的时候不是)
在监督学习中,把输入和输出看作是定义在输入(特征)空间与输出空间上的随机变量的取值。输入输出变量用大写字母表示(习惯上输入变量为X,输出变量为Y),输入输出变量的取值用小写字母表示(输入变量取值为x,输出变量取值为y),变量可以是标量或向量,都用相同类型的字母表示,本书中的向量除非特别声明,否则均为列向量
输入实例
x
x
x的特征向量记作
x
=
(
x
(
1
)
,
x
(
2
)
,
.
.
.
,
x
(
i
)
,
.
.
.
,
x
(
n
)
)
T
x=(x^{(1)},x^{(2)},...,x^{(i)},...,x^{(n)} )^T
x=(x(1),x(2),...,x(i),...,x(n))T
输入实例x的特征向量是指描述这个输入实例的特征的数值表示。在机器学习和深度学习中,我们通常将每个输入样本表示为一个特征向量,其中每个特征是样本的一个属性或特征。这些特征可以是任何与问题相关的信息,例如图像中的像素值、文本中的单词出现次数、声音信号中的频谱分布等等。
特征向量是一个数值列表,其中每个元素对应一个特征,并且特征的顺序通常是固定的。例如,如果我们正在处理手写数字识别任务,每个输入图像可以表示为一个特征向量,其中每个元素对应一个像素的灰度值。如果图像的大小是28x28像素,那么特征向量将包含28x28=784个元素,每个元素代表一个像素的灰度值。
在深度学习中,神经网络的输入通常是这些特征向量,网络的目标是学习从这些特征向量到相应的输出(例如,图像分类中的类别标签)的映射关系。因此,特征向量的选择和表示对于机器学习和深度学习任务至关重要,它们决定了模型的输入信息和性能。
x
(
i
)
x^{(i)}
x(i)表示
x
x
x的第
i
i
i个特征。注意
x
(
i
)
x^{(i)}
x(i)与
x
i
x_i
xi不同,本书通常用
x
i
x_i
xi表示多个输入变量中的第
i
i
i个变量
x
i
=
(
x
i
(
1
)
,
x
i
(
2
)
,
.
.
.
,
x
i
(
i
)
,
.
.
.
,
x
i
(
n
)
)
T
x_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(i)},...,x_i^{(n)} )^T
xi=(xi(1),xi(2),...,xi(i),...,xi(n))T
监督学习从训练数据(training data)集合中学习模型,对测试数据(test data)进行预测,训练数据由输入(或特征向量)与输出对组成,训练集通常表示为
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
}
T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}
T={(x1,y1),(x2,y2),...,(xN,yN)}
测试数据也由输入和输出对组成,输入和输出对又称为样本(sample)或样本点
根据输入变量X和Y的不同类型(连续或离散),预测任务有不同名称
X和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)表示分布函数或分布密度函数
训练数据与测试数据被看作是依概率分布
P
(
X
,
Y
)
P(X,Y)
P(X,Y)独立同分布产生的
分布函数(Distribution Function)和分布密度函数(Probability Density Function)是概率论和统计学中用于描述随机变量的两种不同方式。
1. **分布函数(Distribution Function)**:
- 分布函数通常表示为F(x),它描述了随机变量X小于或等于某个特定值x的概率。数学上,分布函数可以定义为:
```
F(x) = P(X <= x)
```
- 分布函数的值范围在0到1之间,且对于任何x,都有0 <= F(x) <= 1。
- 分布函数是一个累积概率函数,它可以用来计算随机变量X在某个范围内的累积概率。
2. **分布密度函数(Probability Density Function)**:
- 分布密度函数通常表示为f(x),它描述了随机变量X在某个特定值x处的概率密度,即概率密度函数在x处的导数。数学上,分布密度函数可以定义为:
```
f(x) = dF(x)/dx
```
- 分布密度函数的值通常用来表示概率密度,而不是概率本身。因此,对于连续随机变量,概率密度函数在某个点x处的值并不代表概率,而是在附近范围内的概率密度。
- 分布密度函数通常用于描述连续随机变量的概率分布,例如正态分布、指数分布等。
总的来说,主要区别在于随机变量是连续的还是离散的。对于离散随机变量,我们使用分布函数来描述概率分布,而对于连续随机变量,我们使用分布密度函数来描述概率分布。分布函数提供了累积概率信息,而分布密度函数提供了在某一点附近的概率密度信息。
(3)假设空间
模型属于有输入空间到输出空间的映射的集合,这个集合就是假设空间(hypothesis space),假设空间的确定意味着学习的范围的确定。
映射可以是多对一、一对多、一对一等不同类型的关系。
函数是映射的一种特例,它是一对一关系。
监督学习的模型可以是概率模型或非概率模型,由条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)或决策函数(decision function) 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)
这句话是在讨论监督学习模型的两种常见表示方式。
-
概率模型:在监督学习中,概率模型是一种常见的表示方式,它使用条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)来表示模型。这表示给定输入 X X X的情况下,目标变量 Y Y Y的概率分布。概率模型通常用于分类问题,其中 Y Y Y表示类别标签。例如,在图像分类任务中, X X X可以是图像数据, Y Y Y可以是图像所属的类别。模型通过学习 P ( Y ∣ X ) P(Y|X) P(Y∣X)的参数来进行预测和分类。
-
非概率模型:另一种常见的表示方式是使用决策函数(也称为预测函数或映射函数) Y = f ( X ) Y=f(X) Y=f(X)来表示模型。这表示模型直接映射输入 X X X到输出 Y Y Y,而不涉及概率分布。非概率模型通常用于回归问题,其中 Y Y Y表示连续数值。例如,在房价预测任务中, X X X可以是房屋的特征, Y Y Y可以是房价的预测值。模型通过学习适当的函数 f ( X ) f(X) f(X)来进行回归预测。
总之,监督学习的模型可以根据任务和问题的性质选择不同的表示方式。概率模型适用于分类和概率估计问题,而非概率模型适用于回归问题。选择哪种表示方式取决于具体的应用场景和建模需求。
(4)问题的形式化
监督学习的监督一词是由于标注的训练数据集往往是人工给出的
监督学习分为学习和预测两个过程
首先给定一个训练数据集
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
}
T=\{(x_1,y_1),(x_2,y_2),...,(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,...,N
(xi,yi),i=1,2,...,N称为样本或样本点。
x
i
x_i
xi是输入的观测值,也称为输入或实例,
y
i
y_i
yi是输出的观测值,也称为输出。
在学习过程中,学习系统通过给定的训练数据集,通过学习(或训练)得到一个模型,表示为条件概率分布
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
=
a
r
g
max
y
P
^
(
y
∣
x
N
+
1
)
y_{N+1} = arg \underset{y}{\text{max}} \hat{P}(y|x_{N+1})
yN+1=argymaxP^(y∣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 N + 1 x_{N+1} xN+1生成对应的输出 y N + 1 y_{N+1} yN+1,有两种不同的方式:
-
使用条件概率分布:
- 在第一种方式中,模型通过条件概率分布 P ^ ( y ∣ x N + 1 ) \hat{P}(y|x_{N+1}) P^(y∣xN+1)来生成输出。这表示系统会考虑给定输入 x N + 1 x_{N+1} xN+1的情况下,每个可能的输出 y y y的概率。然后,它会选择具有最高概率的 y y y作为输出。这个过程使用了"arg max"操作,表示选择使概率最大化的 y y y值。
- "arg max"是一个数学和计算机科学中常用的术语,它表示寻找一个函数或集合中能够使函数取得最大值的参数或元素。
- 例如,如果模型是一个文本分类器, x N + 1 x_{N+1} xN+1是一段文本,而 y N + 1 y_{N+1} yN+1是文本所属的类别,那么 P ^ ( y ∣ x N + 1 ) \hat{P}(y|x_{N+1}) P^(y∣xN+1)表示模型给出文本属于每个类别的概率分布。模型会选择具有最高概率的类别作为输出 y N + 1 y_{N+1} yN+1。
-
使用决策函数:
- 在第二种方式中,模型通过一个决策函数 f ^ ( x N + 1 ) \hat{f}(x_{N+1}) f^(xN+1)来生成输出。这表示系统会直接将输入 x N + 1 x_{N+1} xN+1传递给一个函数 f ^ \hat{f} f^,该函数会将 x N + 1 x_{N+1} xN+1映射到一个输出 y N + 1 y_{N+1} yN+1。
- 例如,如果模型是一个图像分类器, x N + 1 x_{N+1} xN+1是一张图像,而 y N + 1 y_{N+1} yN+1是图像所属的类别,那么 f ^ ( x N + 1 ) \hat{f}(x_{N+1}) f^(xN+1)可以是一个深度神经网络,它将图像作为输入并输出类别标签。
在监督学习中,假设训练数据与测试数据是依联合概率分布 P ( X ∣ Y ) P(X|Y) P(X∣Y)独立同分布产生的
对输入 x i x_i xi,通过模型可以产生一个输出 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之间的差应当足够小
- 无监督学习
无监督学习指从无标注数据中学习预测模型的机器学习问题
无监督学习的本质是学习数据中的统计规律或潜在结构
模型的输入与输出的所有可能取值的集合分别称为输入空间和输出空间,每个输入是一个实例,由特征向量表示,每一个输出是对输入的分析结果,由输入的类别、转换或概率表示(输出可以是类别标签,表示输入属于哪个类别;也可以是一种转换,表示输入数据的变换结果;还可以是一个概率分布,表示输入属于不同类别的概率)。模型可以实现对数据的聚类、降维或概率估计。
假设 X X X是输入空间, Z Z Z是隐式结构空间。要学习的模型可以表示为函数 z = g ( x ) z=g(x) z=g(x),条件概率分布 P ( z ∣ x ) P(z|x) P(z∣x),或者条件概率分布 P ( x ∣ z ) P(x|z) P(x∣z)的形式,其中 x x x是输入, z z z是输出。包含所有可能的模型的集合称为假设空间,无监督学习旨在从假设空间中选出在给定评价标准下的最优模型
2个问题:
1.为什么不叫输出空间,叫隐式结构空间?:
在无监督学习中,我们通常关注的是从输入数据中学习出的潜在结构或特征,这些潜在结构可能并不是直接可观察到的输出。因此,将其称为"隐式结构"强调了这些特征的隐藏性质,与常规的输出不同。输出通常是指直接可观察到的结果,而这里的
Z
Z
Z表示的是学习到的潜在表示。
2.为什么还有条件概率分布
P
(
x
∣
z
)
P(x|z)
P(x∣z)的形式?:
这表示模型可以在不同的角度进行建模。
P
(
z
∣
x
)
P(z|x)
P(z∣x)表示在给定输入
x
x
x的情况下
z
z
z的分布,通常用于表示数据的编码或降维过程。
P
(
x
∣
z
)
P(x|z)
P(x∣z)表示在给定
z
z
z的情况下,生成输入
x
x
x的分布,通常用于生成模型或数据重建。
这两种表示方式在不同的无监督学习任务中都有应用,取决于任务的性质和目标。
无监督学习通常用大量的无标注数据进行学习或训练,每一个样本都是一个实例。
训练数据表示为
U
=
{
x
1
,
x
2
,
.
.
.
,
x
N
}
U=\{x_1,x_2,...,x_N\}
U={x1,x2,...,xN},其中,
x
i
,
i
=
1
,
2
,
.
.
.
,
N
x_i,i=1,2,...,N
xi,i=1,2,...,N是样本。
- 强化学习
强化学习(reinforcement learning)是指智能系统在于环境的连续互动中学习最优行为策略的机器学习问题。