1.1 统计学习
1. 统计学习的特点
统计学习是关于计算机基于数据构建概率模型并运用模型对数据进行预测与分析的一门学科
统计学习的主要特点是:
- 统计学习以计算机及网络为平台,是建立在计算机及网络上的
- 统计学习以数据为研究对象,是数据驱动的学科
- 统计学习的目的是对数据进行预测与分析
- 统计学习以方法为中心,统计学习方法构建模型并应用模型进行预测与分析
- 统计学习是概率论、统计学、计算理论、最优化理论及计算机科学等多个领域的交叉学科
统计学习就是计算机系统通过运用数据及统计方法提高系统性能的机器学习
2. 统计学习的对象
统计学习研究的对象是数据(data),同时统计学习关于数据的基本假设是同类数据具有一定的统计规律性
我们简单地认为,需要进行学习的数据之间是有关联的,比如说一些离散的点,或是一些内容相近的文本和图片
3. 统计学习的目的
统计学习用于对数据的预测与分析,特别是对未知新数据的预测与分析。对数据的预测与分析是通过构建概率统计模型实现的。统计学习总的目标就是考虑学习什么杨的模型以及如何学习模型。
我们使用统计学习,就是希望能找到一种方法,让机器学会这种方法,然后就可以按照我们的想法,去将不同的输入转化成输出。
4. 统计学习的方法
统计学习方法是基于数据构建概率统计模型从而对数据进行预测与分析。统计学习由监督学习(supervised learning)、无监督学习(unsupervised learning)和强化学习(reinforcement learning)等组成
统计学习方法可以概括如下:从给定的、有限的、用于学习的训练数据集合出发,假设数据是独立同分布产生的;并且假设要学习的模型属于某 个函数的集合,称为假设空间 (hypothesis space);应用某个评价准则,从假设空间中选取一个最优模型,使它对已知的训练数据及未知的测试数据,在给定的评价准则下有最优的预测;最优模型的选取由算法实现。这样, 统计学习方法包括模型的假设空间、模型选择的准则以及模型学习的算法。称其为统 计学习方法的三要素。
实现统计学习方法的步骤如下:
- 得到一个有限的训练数据集合
- 确定包含所有可能的模型的假设空间,即学习模型的集合
- 确定模型选择的准则,即学习的策略
- 实现求解最优模型的算法,即学习的算法
- 通过学习方法选择最优模型
- 利用学习的最优模型对新数据进行预测或者分析
1.2 统计学习的分类
1.2.1 基本分类
1. 监督学习
监督学习(supervised learning)是指从标注数据中学习预测模型的机器学习问题。标注数据表示输入输出的对应关系,预测模型对给定的输入产生相应的输出。监督学习的本质是学习输入到输出的映射的统计规律。
监督学习的本质可以理解为,通过一些已经标注好的数据,比如说一张图片上有猫,我把猫给圈出来,然后告诉计算机圈里面的东西叫猫,然后让机器学习圈里面的东西有什么特征。当机器学习了很多带有猫的照片之后,它就会对猫的特征进行大量记录,当下一次给一个没有圈出来猫的图片的时候,机器也能自己圈出来哪里是猫
(1)输入空间、特征空间和输出空间
在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间与输出空间。输入与输出空间可以是有限元素的集合,也可以是整个欧氏空间。输入空间与输出空间可以是同一个空间,也可以是不同的空间;但通常输出空间远远小于输入空间。
每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示。
这时,所有特征向量存在的空间称为特征空间。特征空间的每一维对应于一个特征。
在监督学习中,将输入与输出看作是定义在输入(特征)空间与输出空间上的随机变量的取值。输入输出变量用大写字母表示,习惯上输入变量写作X , 输出变量写作Y。输入输出变量的取值用小写字母表示,输入变量的取值写作 x x x , 输出变量的取值写作 y y y。变量可以是标量或向量,都用相同类型字母表示。除特别声明外,本书中向量均为列向量。输入实例 x x x的特征向量记作
x = ( x ( 1 ) , x ( 2 ) , … , x ( i ) , … , x ( n ) ) T x = (x^{(1)},x^{(2)},\dots,x^{(i)},\dots,x^{(n)})^T x=(x(1),x(2),…,x(i),…,x(n))T
监督学习从训练数据集合中学习模型,对测试数据进行预测。训练数据由输入(或特征向量)与输出对组成,训练集通常表示为
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } T = \{ (x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)\} T={(x1,y1),(x2,y2),…,(xN,yN)}
测试数据也由输入与输出对组成。 输入与输出对又称为样本或样本点。
每一个输入的x,都有一个对应的输出y或者叫标签,拿之前的猫的图片举例,输入的是带有圈的图片(当然我们的目的就是希望机器只看圈里面的东西,甚至你可以理解为圈里面的图片才是输入x),输出y是“猫”,表示说圈里面的东西是猫
输入变量X 和输出变量Y 有不同的类型,可以是连续的,也可以是离散的。人们根据输入输出变量的不同类型,对预测任务给予不同的名称:输入变量与输出变量均为连续变量的预测问题称为回归问题;输出变量为有限个离散变量的预测问题称为分类问题;输入变量与输出变量均为变量序列的预测问题称为标注问题。
像比如说我们要预测股票未来曲线,那输入数据和输出数据都是股票的曲线变换,而且是连续的,此时我们称为这个预测股票的问题是回归问题;像前面那个猫图片,每次都是一张一张的输入,输出也是一张一张的,不连续的输入输出,那就是分类问题了
(2)假设空间
监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。换句话说,学习的目的就在于找到最好的这样的模型。模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间(hypothesis space) 。假设空间的确定意味着学习的范围的确定。
监督学习的模型可以是概率模型或非概率模型,由条件概率分布
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) 。
我们进行监督学习的目的就是希望找到一个可以解决实际问题的条件概率分布或者是决策函数,当然实际情况可能不能完全一致,但训练模型的目的就是不断地靠近这个最终答案
(3)问题的形式化
监督学习利用训练数据集学习一个模型,再用模型对测试样本集进行预测。由于在这个过程中需要标注的训练数据集,而标注的训练数据集往往是人工给出的,所以称为监督学习。监督学习分为学习和预测两个过程,由学习系统与预测系统完成,可用图1.1 来描述。
监督学习分为学习和预测两个过程, 由学习系统与预测系统完成。在学习过程中, 学习系统利用给定的训练数据集, 通过学习 (或训练) 得到一个模型, 表示为条件概率分布
P
^
(
Y
∣
X
)
\hat{P}(Y \mid X)
P^(Y∣X) 或决策函数
Y
=
f
^
(
X
)
Y=\hat{f}(X)
Y=f^(X) 。条件概率分布
P
^
(
Y
∣
X
)
\hat{P}(Y \mid 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
P
^
(
y
∣
x
N
+
1
)
y_{N+1}=\arg \max {y} \hat{P}\left(y \mid x{N+1}\right)
yN+1=argmaxyP^(y∣xN+1) 或
y
N
+
1
=
f
^
(
x
N
+
1
)
y_{N+1}=\hat{f}\left(x_{N+1}\right)
yN+1=f^(xN+1) 给出 相应的输出
y
N
+
1
y_{N+1}
yN+1 。
学习系统(也就是学习算法)试图通过训练数据集中的样本 ( x i , y i ) (x_i,y_i) (xi,yi) 带来的信息学习模型。具体地说,对输入 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。如果这个模型有很好的预测能力,训练样本输出 y i y_i yi和模型输出 f ( x i ) f(x_i) f(xi)之间的差就应该足够小。学习系统通过不断地尝试,选取最好的模型,以便对训练数据集有足够好的预测,同时对未知的测试数据集的预测也有尽可能好的推广。
简单来说,拿股票预测的例子,系统一开始发现,这几年1月份股票都是涨的,那机器就认为每年1月股票都涨价,但实际的情况是恰好这几年春节都是在1月,所以股票涨了。于是当机器再学习到可能春节在2月的时候,机器就发现,之前1月股票一定涨的结论不适用了,有了偏差,于是它就需要调整,看看到底是什么导致了股票增长,发现不是1月就一定涨,而是春节一定涨,那这样机器就学习到了和实际情况更接近的预测结果
2. 无监督学习
无监督学习是指从无标注数据中学习预测模型的机器学习问题。无标注数据是自然得到的数据,预测模型表示数据的类别、转换或概率。无监督学习的本质是学习数据中的统计规律或潜在结构。
假设 X \mathcal{X} X是输入空间, Z \mathcal{Z} Z 是隐式结构空间。要学习的模型可以表示为函数 z = g ( x ) z=g(x) z=g(x), 条件概率分布 P ( z ∣ x ) P(z \mid x) P(z∣x), 或者条件概率分布 P ( x ∣ z ) P(x \mid z) P(x∣z) 的形式, 其中 x ∈ X x \in \mathcal{X} x∈X是输入, z ∈ Z z \in \mathcal{Z} z∈Z是输出。包含所有可能的模型的集合称为假设空间。无监督学习旨在从假设空间中选出在给定评价标准下的最优模型。
简单来说,无监督学习就是没有标注的数据,是一些自然的数据。同样以猫的图片举例,现在没有前面的那些圈了,但是给机器一组含有猫的图片,机器学习完这一组之后,发现这些带有猫的图片之间是有共性的,虽然机器仍然不知道这上面有猫,但是知道这些图片长得差不多,也就是说下次再给机器一张带有猫的照片,机器可以把新的照片进行归类,归类到刚刚那一堆有猫的照片里边
3. 强化学习
强化学习是指智能系统在与环境的连续互动中学习最优行为策略的机器学习问题。假设智能系统与环境的互动基于马尔可夫决策过程,智能系统能观测到的是与环境互动得到的数据序列。强化学习的本质是学习最优的序贯决策。
智能系统与环境的互动如图1. 3 所示。在每一步t , 智能系统从环境中观测到一个
状态
s
t
s_t
st 与一个奖励
r
t
r_t
rt采取一个动作
a
t
a_t
at。环境根据智能系统选择的动作,决定下一步t+l 的状态
s
t
+
1
s_{t+1}
st+1与奖励
r
t
+
1
r_{t+1}
rt+1。要学习的策略表示为给定的状态下采取的动作。智能系统的目标不是短期奖励的最大化,而是长期累积奖励的最大化。强化学习过程中,系统不断地试错,以达到学习最优策略的目的。
强化学习的马尔可夫决策过程是状态、奖励、动作序列上的随机过程,由五元组 < S , A , P , r , γ > <S,A,P,r,\gamma> <S,A,P,r,γ>组成
- S是有限状态的集合
- A是有限动作的集合
- P是状态转移概率函数
P ( s ′ ∣ s , a ) = P ( s t + 1 = s ′ ∣ s t = s , a t = a ) P(s'|s,a)=P(s_{t+1}=s'|s_t=s,a_t=a) P(s′∣s,a)=P(st+1=s′∣st=s,at=a)
- r r r是奖励函数: r ( s , a ) = E ( r t + 1 ∣ s t = s , a t = a ) r(s,a)=E(r_{t+1}|s_t=s,a_t=a) r(s,a)=E(rt+1∣st=s,at=a)
- γ \gamma γ是衰减系数: γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ∈[0,1]
策略
π
\pi
π定义为给定状态下动作的函数
a
=
f
(
s
)
a = f(s)
a=f(s) 或者条件概率分布
P
(
a
∣
s
)
P(a|s)
P(a∣s) 。给定
一个策略
π
\pi
π,智能系统与环境互动的行为就已确定(或者是确定性的或者是随机性
的),价值函数或状态价值函数定义为策略
π
\pi
π从某一个状态
s
s
s 开始的长期累积奖励的数学期望:
v π ( s ) = E π [ r t + 1 + γ r t + 2 + γ 2 r t + 3 + … ∣ s t = s ] v_\pi(s)=E_\pi[r_{t+1}+\gamma r_{t+2}+\gamma^2 r_{t+3}+\dots|s_t=s] vπ(s)=Eπ[rt+1+γrt+2+γ2rt+3+…∣st=s]
动作价值函数定义为策略 π \pi π从某一个状态 s s s 和动作 a a a开始的长期累积奖励的数学期望:
q π ( s , a ) = E π [ r t + 1 + γ r t + 2 + γ 2 r t + 3 + … ∣ s t = s , a t = a ] q_\pi(s,a)=E_\pi[r_{t+1}+\gamma r_{t+2}+\gamma^2 r_{t+3}+\dots|s_t=s,a_t=a] qπ(s,a)=Eπ[rt+1+γrt+2+γ2rt+3+…∣st=s,at=a]
强化学习的目标就是在所有可能的策略中选出价值函数最大的策略 π ∗ \pi^* π∗,而在实际学习中往往从具体的策略出发,不断优化己有策略。这里 γ \gamma γ 表示未来的奖励会有衰减。
关于强化学习的简单理解,我想举扫地机器人的例子。当一个扫地机器人到了一个陌生的房间,它需要做的事情是,第一不撞到障碍物,第二尽可能保证走过的路不再走一遍(地没必要托两次对吧),所以当它到了一个新位置的时候,下一时间该往哪里走呢,这个时候就是一个学习的过程,比如说往左边走,但是左边是一个桌子,往左走就会撞上,那此时的奖励系数就会很低很低,再比如说往右走,但是右边刚刚已经走过了,所以奖励系数不高,但肯定比往左走高。而强化学习就是希望能找到一条路线,该路线做出的选择的奖励分数之和是最高的。因此每一个时间的选择只和机器人在做选择的时候所处的位置有关,所以也就意味着机器人不断通过试错,最终找到了一条可以完整打扫整个房间的路径(当然,可能会出现走过重复的地方)
强化学习方法中有基于策略的、基于价值的,这两者属于无模型的方法,还有有模型的方法。
有模型的方法试图直接学习马尔可夫决策过程的模型,包括转移概率函数 P ( s ′ ∣ s , a ) P(s'|s,a) P(s′∣s,a) 和奖励函数 r ( s , a ) r(s,a) r(s,a) 。这样可以通过模型对环境的反馈进行预测,求出价值函数最大的策略 π ∗ \pi^* π∗。
无模型的、基于策略的方法不直接学习模型,而是试图求解最优策略 π ∗ \pi^* π∗ , 表示为函数 a = f ∗ ( s ) a=f^*(s) a=f∗(s)或者是条件概率分布 P ∗ ( a ∣ s ) P^*(a|s) P∗(a∣s) ,这样也能达到在环境中做出最优决策的目的。学习通常从一个具体策略开始,通过搜索更优的策略进行。
对于有模型和无模型的方法,我的理解是,有模型的方法就是走一步看一步,每一步都走的最稳妥,最终形成一个好的策略,而无模型的方法就是一开始就想好从头到尾该怎么走,通过计算,直接算出一条最优的策略
4. 半监督学习与主动学习
半监督学习是指利用标注数据和未标注数据学习预测模型的机器学习问题。通常有少量标注数据、大量未标注数据,因为标注数据的构建往往需要人工,成本较高,未标注数据的收集不需太多成本。半监督学习旨在利用未标注数据中的信息,辅助标注数据,进行监督学习,以较低的成本达到较好的学习效果
主动学习是指机器不断主动给出实例让教师进行标注,然后利用标注数据学习预测模型的机器学习问题。通常的监督学习使用给定的标注数据,往往是随机得到的,可以看作是"被动学习" , 主动学习的目标是找出对学习最有帮助的实例让教师标注,以较小的标注代价,达到较好的学习效果。
半监督学习和主动学习更接近监督学习。
1.2.2 按模型分类 1.2.3 按算法分类 1.2.4 按技巧分类
Skipped, not mentioned