统计学习方法
监督学习
- 注意
x
(
i
)
x^{(i)}
x(i)和
x
i
x_{i}
xi不同
- X X X表示输入变量
- Y Y Y为输出变量
- x x x表示输入变量的取值
- y y y表示输出变量的取值
- x ( i ) x^{(i)} x(i)表示输入 x x x的第 i i i个特征
- x i x_{i} xi表示多个输入变量 x x x的第 i i i个变量
- x i = ( x i ( 1 ) , x i ( 2 ) , ⋯ , x i ( n ) ) T x_{i}=(x_{i}^{(1)},x_{i}^{(2)},\cdots,x_{i}^{(n)})^T xi=(xi(1),xi(2),⋯,xi(n))T这个将 x i x_{i} xi的特征进行展开
- { ( x 1 , y 1 ) , ⋯ , ( x i , y i ) , ⋯ , ( x N , y N ) } \{(x_{1},y_{1}),\cdots,(x_{i},y_{i}),\cdots,(x_{N},y_{N})\} {(x1,y1),⋯,(xi,yi),⋯,(xN,yN)}这个是训练数据or测试数据
- 假设空间是所有可能的输入到输出的映射的结合
- 模型可以是概率模型或者非概率模型
- 条件概率分布 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)
- 学习到的模型加帽子
- P ^ ( y ∣ x ) \hat{P}(y|x) P^(y∣x) 和 y = f ^ ( x ) y=\hat{f}(x) y=f^(x)
- 预测 y N + 1 = a r g m a x P ^ ( y ∣ x N + 1 ) y_{N+1} = argmax\hat{P}(y|x_{N+1}) yN+1=argmaxP^(y∣xN+1) 和 y N + 1 = f ^ ( x N + 1 ) y_{N+1}=\hat{f}(x_{N+1}) yN+1=f^(xN+1)
无监督学习
- 聚类或者降维 z N + 1 = a r g m a x z P ^ ( z ∣ x N + 1 ) z_{N+1} = \underset{z}{argmax}\hat{P}(z|x_{N+1}) zN+1=zargmaxP^(z∣xN+1) 和 z N + 1 = g ^ ( x N + 1 ) z_{N+1}=\hat{g}(x_{N+1}) zN+1=g^(xN+1)
- 概率估计 P ^ ( x N + 1 ∣ z N + 1 ) \hat{P}(x_{N+1}|z_{N+1}) P^(xN+1∣zN+1)
强化学习
-
强化学习的马尔可夫决策过程是状态、奖励、动作序列上的随机过程,由五元组 ⟨ S , A , P , r , γ ⟩ \langle S, A, P, r, \gamma\rangle ⟨S,A,P,r,γ⟩ 组成。
- S S S 是有限状态(state)的集合
- A A A 是有限动作(action)的集合
-
P
P
P 是状态转移概率(transition probability)函数:
P ( s ′ ∣ s , a ) = P ( s t + 1 = s ′ ∣ s t = s , a t = a ) P\left(s^{\prime} \mid s, a\right)=P\left(s_{t+1}=s^{\prime} \mid s_{t}=s, a_{t}=a\right) P(s′∣s,a)=P(st+1=s′∣st=s,at=a) - r r r 是奖励函数 (reward function) : r ( s , a ) = E ( r t + 1 ∣ s t = s , a t = a ) r(s, a)=E\left(r_{t+1} \mid s_{t}=s, a_{t}=a\right) r(s,a)=E(rt+1∣st=s,at=a)
- γ \gamma γ 是衰减系数 (discount factor): γ ∈ [ 0 , 1 ] \gamma \in[0,1] γ∈[0,1]
-
马尔可夫决策过程具有马尔可夫性, 下一个状态只依赖于前一个状态与动作, 由状态转移概率函数 P ( s ′ ∣ s , a ) P\left(s^{\prime} \mid s, a\right) P(s′∣s,a) 表示。
-
下一个奖励依赖于前一个状态与动作, 由奖励函数 r ( s , a ) r(s, a) r(s,a) 表示。策略 π \pi π 定义为给定状态下动作的函数 a = f ( s ) a=f(s) a=f(s) 或者条件概率分布 P ( a ∣ s ) P(a \mid s) P(a∣s) 。
-
给定一个策略 π \pi π, 智能系统与环境互动的行为就已确定(或者是确定性的或者是随机性的)。
-
价值函数(value function)或状态价值函数(state value function)定义为策略 π \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}\left[r_{t+1}+\gamma r_{t+2}+\gamma^{2} r_{t+3}+\cdots \mid s_{t}=s\right] vπ(s)=Eπ[rt+1+γrt+2+γ2rt+3+⋯∣st=s] -
动作价值函数(action value function)定义为策略 π \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}\left[r_{t+1}+\gamma r_{t+2}+\gamma^{2} r_{t+3}+\cdots \mid s_{t}=s, a_{t}=a\right] qπ(s,a)=Eπ[rt+1+γrt+2+γ2rt+3+⋯∣st=s,at=a] -
强化学习的目标就是在所有可能的策略中选出价值函数最大的策略 π ∗ \pi^{*} π∗, 而在实际 学习中往往从具体的策略出发, 不断优化已有策略。这里 γ \gamma γ 表示未来的奖励会有衰减。
-
强化学习方法中有基于策略的(policy-based)、基于价值的(value-based), 这两 者属于无模型的(model-free)方法, 还有有模型的(model-based)方法。
-
有模型的方法试图直接学习马尔可夫决策过程的模型, 包括转移概率函 P ( s ′ ∣ s , a ) P\left(s^{\prime} \mid s, a\right) 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 \mid s) P∗(a∣s), 这样也能达到在环境中做出最优决策的目的。学习通常从一个具体策略开始, 通过搜索更优的策略进行。
-
无模型的、基于价值的方法也不直接学习模型,而是试图求解最优价值函数, 特 别是最优动作价值函数 q ∗ ( s , a ) q^{*}(s, a) q∗(s,a) 。这样可以间接地学到最优策略, 根据该策略在给定的 状态下做出相应的动作。学习通常从一个具体价值函数开始,通过搜索更优的价值函 数进行。
半监督学习
- 少量标注,大量未标注
主动学习
- 机器主动给出需要标注的标签
模型分类
-
概率与非概率
- 概率:条件概率分布 P ( y ∣ x ) P(y|x) P(y∣x)
- 非概率:决策函数 y = f ( x ) y=f(x) y=f(x)
- 决策树、朴素贝叶斯、隐马尔可夫模型、条件随机场、概率潜在语义分析、潜在狄利克雷分配、高斯混合模型是概率模型。
- 感知机、支持向量机、k近邻、AdaBoost、k均值、潜在语义分析,以及神经网络是非概率模型。
- 逻辑斯谛回归既可看作是概率模型,又可看作是非概率模型。
- 条件概率分布
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)
- 决策函数 y = f ( x ) y=f(x) y=f(x) 归一化得到条件概率分布 P ( y ∣ x ) P(y|x) P(y∣x)
-
线性模型和非线性模型
- 统计学习模型, 特别是非概率模型, 可以分为线性模型(linear model)和非线性模型(non-linear model)
- 如果函数 y = f ( x ) y=f(x) y=f(x) 或 z = g ( x ) z=g(x) z=g(x) 是线性函数, 则称模型是线性模型, 否则称模型是非线性模型。
- 感知机、线性支持向量机、 k k k 近邻、 k k k 均值、潜在语义分析是线性模型。
- 核函数支持向量机、AdaBoost、神经网络是非线性模型。
- 深度学习(deep learning)实际是复杂神经网络的学习, 也就是复杂的非线性模型的学习。
-
参数化模型与非参数化模型
- 统计学习模型又可以分为参数化模型(parametric model)和非参数化模型(non-parametric model)。
- 参数化模型假设模型参数的维度固定,模型可以由有限维参数完全刻画;
- 非参数化模型假设模型参数的维度不固定或者说无穷大,随着训练数据量的增加而不断增大。
算法分类
- 在线学习
- 每次一个样本,预测后学习
- 批量学习
- 一次接受所有数据
技巧分类
-
贝叶斯学习
-
后验概率:给定数据条件下模型的条件概率
-
假设随机变量 D D D 表示数据, 随机变量 θ \theta θ 表示模型参数。根据贝叶斯定理, 可以用 以下公式计算后验概率 P ( θ ∣ D ) P(\theta \mid D) P(θ∣D) :
P ( θ ∣ D ) = P ( θ ) P ( D ∣ θ ) P ( D ) P(\theta \mid D)=\frac{P(\theta) P(D \mid \theta)}{P(D)} P(θ∣D)=P(D)P(θ)P(D∣θ)
其中 P ( θ ) P(\theta) P(θ) 是先验概率, P ( D ∣ θ ) P(D \mid \theta) P(D∣θ) 是似然函数。
模型估计时,估计整个后验概率分布 P ( θ ∣ D ) P(\theta \mid D) P(θ∣D) 。如果需要给出一个模型, 通常取后验概率最大的模型。 -
预测时, 计算数据对后验概率分布的期望值:
P ( x ∣ D ) = ∫ P ( x ∣ θ , D ) P ( θ ∣ D ) d θ P(x \mid D)=\int P(x \mid \theta, D) P(\theta \mid D) \mathrm{d} \theta P(x∣D)=∫P(x∣θ,D)P(θ∣D)dθ
这里 x x x 是新样本。 -
-
核方法
- 扩展线性模型为非线性模型
-
核方法技巧:不显式地定义从输入空间(低维)到特征空间(高维)的映射,简化计算,同样效果
- 假设
x
1
x_{1}
x1 和
x
2
x_{2}
x2 是输入空间的任意两个实例(向量), 其内积是
⟨
x
1
,
x
2
⟩
\left\langle x_{1}, x_{2}\right\rangle
⟨x1,x2⟩ 。假设从输 入空间到特征空间的映射是
φ
\varphi
φ, 于是
x
1
x_{1}
x1 和
x
2
x_{2}
x2 在特征空间的映像是
φ
(
x
1
)
\varphi\left(x_{1}\right)
φ(x1) 和
φ
(
x
2
)
\varphi\left(x_{2}\right)
φ(x2), 其内积是
⟨
φ
(
x
1
)
,
φ
(
x
2
)
⟩
\left\langle\varphi\left(x_{1}\right),\varphi\left(x_{2}\right)\right\rangle
⟨φ(x1),φ(x2)⟩ 核方法直接在输入空间中定义核函数
K
(
x
1
,
x
2
)
K\left(x_{1}, x_{2}\right)
K(x1,x2), 使其满足
K ( x 1 , x 2 ) = ⟨ φ ( x 1 ) , φ ( x 2 ) ⟩ K\left(x_{1}, x_{2}\right)=\left\langle\varphi\left(x_{1}\right), \varphi\left(x_{2}\right)\right\rangle K(x1,x2)=⟨φ(x1),φ(x2)⟩
- 假设
x
1
x_{1}
x1 和
x
2
x_{2}
x2 是输入空间的任意两个实例(向量), 其内积是
⟨
x
1
,
x
2
⟩
\left\langle x_{1}, x_{2}\right\rangle
⟨x1,x2⟩ 。假设从输 入空间到特征空间的映射是
φ
\varphi
φ, 于是
x
1
x_{1}
x1 和
x
2
x_{2}
x2 在特征空间的映像是
φ
(
x
1
)
\varphi\left(x_{1}\right)
φ(x1) 和
φ
(
x
2
)
\varphi\left(x_{2}\right)
φ(x2), 其内积是
⟨
φ
(
x
1
)
,
φ
(
x
2
)
⟩
\left\langle\varphi\left(x_{1}\right),\varphi\left(x_{2}\right)\right\rangle
⟨φ(x1),φ(x2)⟩ 核方法直接在输入空间中定义核函数
K
(
x
1
,
x
2
)
K\left(x_{1}, x_{2}\right)
K(x1,x2), 使其满足
统计学习方法三要素
-
模型
- 要学习的条件概率分布或者决策方法
-
策略
-
四种常用损失函数
-
0 − 1 0-1 0−1 损失函数 (0-1 loss function)
$ L(Y, f(X))= \begin{cases}1, & Y \neq f(X) \ 0, & Y=f(X)\end{cases} $
-
平方损失函数 (quadratic loss function)
$ L(Y, f(X))=(Y-f(X))^{2} $
-
绝对损失函数(absolute loss function)
$L(Y, f(X))=|Y-f(X)| $
-
对数损失函数(logarithmic loss function)或对数似然损失函数 (log-likelihood
loss function )
L ( Y , P ( Y ∣ X ) ) = − log P ( Y ∣ X ) L(Y, P(Y \mid X))=-\log P(Y \mid X) L(Y,P(Y∣X))=−logP(Y∣X)
-
-
风险
-
经验风险
模型关于训练数据集的平均损失
-
期望风险
模型关于联合分布的期望损失
-
结构风险
即正则化,减少模型复杂度,减少过拟合的风险
-
-
-
算法
- 学习模型的具体巨酸方法
- 最优化方法
常用模型选择方法
- 正则化
- 交叉验证
- 简单交叉
- K折(书中称之为S折)
- 留一(数据缺乏的时候)
泛化能力
-
泛化误差
- 如果学到的模型是
f
^
\hat{f}
f^, 那么用这个模型对未知数据预 测的误差即为泛化误差 (generalization error):
R exp ( f ^ ) = E P [ L ( Y , f ^ ( X ) ) ] = ∫ X × Y L ( y , f ^ ( x ) ) P ( x , y ) d x d y \begin{aligned} R_{\exp }(\hat{f}) &=E_{P}[L(Y, \hat{f}(X))] \\ &=\int_{\mathcal{X} \times \mathcal{Y}} L(y, \hat{f}(x)) P(x, y) \mathrm{d} x \mathrm{~d} y \end{aligned} Rexp(f^)=EP[L(Y,f^(X))]=∫X×YL(y,f^(x))P(x,y)dx dy
- 如果学到的模型是
f
^
\hat{f}
f^, 那么用这个模型对未知数据预 测的误差即为泛化误差 (generalization error):
-
分化误差上界(假设空间为有限个函数)(证明见书)
- 对二类分类问题,当假设空间是有限个函数的集合
F
=
{
f
1
,
f
2
,
⋯
,
f
d
}
\mathcal{F}=\left\{f_{1}, f_{2}, \cdots, f_{d}\right\}
F={f1,f2,⋯,fd} 时, 对任意一个函数
f
∈
F
f \in \mathcal{F}
f∈F, 至少以概率
1
−
δ
,
0
<
δ
<
1
1-\delta, 0<\delta<1
1−δ,0<δ<1, 以下
不等式成立:
R ( f ) ⩽ R ^ ( f ) + ε ( d , N , δ ) R(f) \leqslant \hat{R}(f)+\varepsilon(d, N, \delta) R(f)⩽R^(f)+ε(d,N,δ)
其中,
ε ( d , N , δ ) = 1 2 N ( log d + log 1 δ ) \varepsilon(d, N, \delta)=\sqrt{\frac{1}{2 N}\left(\log d+\log \frac{1}{\delta}\right)} ε(d,N,δ)=2N1(logd+logδ1)
- 对二类分类问题,当假设空间是有限个函数的集合
F
=
{
f
1
,
f
2
,
⋯
,
f
d
}
\mathcal{F}=\left\{f_{1}, f_{2}, \cdots, f_{d}\right\}
F={f1,f2,⋯,fd} 时, 对任意一个函数
f
∈
F
f \in \mathcal{F}
f∈F, 至少以概率
1
−
δ
,
0
<
δ
<
1
1-\delta, 0<\delta<1
1−δ,0<δ<1, 以下
生成模型和判别模型
- 判别模型是直接基于后验条件概率进行建模
- 判别方法由数据直接学习决策函数 f ( X ) f(X) f(X) 或者条件概率分布 P ( Y ∣ X ) P(Y \mid X) P(Y∣X) 作为预测的 模型, 即判别模型。判别方法关心的是对给定的输入 X X X, 应该预测什么样的输出 Y Y Y 。
- 生成模型是对联合分布进行建模
- 生成方法可以还原出联合概率分布 P ( X , Y ) P(X, Y) P(X,Y)
分类问题的各种评价指标
T
P
⟶
\mathrm{TP} \longrightarrow
TP⟶ 将正类预测为正类数;
F
N
⟶
\mathrm{FN} \longrightarrow
FN⟶ 将正类预测为负类数;
F
P
⟶
\mathrm{FP} \longrightarrow
FP⟶ 将负类预测为正类数;
T
N
⟶
\mathrm{TN}\longrightarrow
TN⟶将负类预测为负类数。
精确率定义为:
P
=
T
P
T
P
+
F
P
P=\frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FP}}
P=TP+FPTP
召回率定义为:
R
=
T
P
T
P
+
F
N
R=\frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FN}}
R=TP+FNTP
F
1
F_{1}
F1 值, 精确率和召回率的调和均值, 定义为:
2
F
1
=
1
P
+
1
R
\frac{2}{F_{1}}=\frac{1}{P}+\frac{1}{R}
F12=P1+R1
F
1
=
2
T
P
2
T
P
+
F
P
+
F
N
F_{1}=\frac{2 \mathrm{TP}}{2 \mathrm{TP}+\mathrm{FP}+\mathrm{FN}}
F1=2TP+FP+FN2TP
精确率和召回率都高时,
F
1
F_{1}
F1 值也会高。
标注问题
对比分类问题:标注是序列
回归问题
- 等价于函数拟合
- 按照输入 分为 多元回归和一元回归
- 按照输入和输出关系 分为 线性回归和非线性回归
ac{2}{F_{1}}=\frac{1}{P}+\frac{1}{R}
F_{1}=\frac{2 \mathrm{TP}}{2 \mathrm{TP}+\mathrm{FP}+\mathrm{FN}}
$$
精确率和召回率都高时,
F
1
F_{1}
F1 值也会高。
标注问题
对比分类问题:标注是序列
回归问题
- 等价于函数拟合
- 按照输入 分为 多元回归和一元回归
- 按照输入和输出关系 分为 线性回归和非线性回归