文章目录
1.绪论
1.1 多项式曲线拟合
往往可以通过多项式来拟合数据:
y ( x , w ) = w 0 + w 1 x + w 2 x 2 + … + w M x M = ∑ j = 0 M w j x j y(x, \boldsymbol{w})=w_{0}+w_{1} x+w_{2} x^{2}+\ldots+w_{M} x^{M}=\sum_{j=0}^{M} w_{j} x^{j} y(x,w)=w0+w1x+w2x2+…+wMxM=j=0∑Mwjxj
其中M即为多项式的阶数(order),多项式系数 w = ( w 0 , w 1 , … , w M ) \boldsymbol{w}=(w_0,w_1,\ldots,w_M) w=(w0,w1,…,wM)往往通过最小化误差函数(error function)的方法确定(即最小二乘法),该方法就是最大似然法(Maximum Likelihood)的一种特殊情况(详见1.2.5)。误差函数往往就是真实值与拟合值之差的平方和,常称为残差平方和(residual sum of squares,SSE):
E ( w ) = 1 2 ∑ n = 1 N [ y ( x n , w ) − t n ] 2 E(\boldsymbol{w})=\frac{1}{2} \sum_{n=1}^{N}\left[y\left(x_{n}, \boldsymbol{w}\right)-t_{n}\right]^{2} E(w)=21n=1∑N[y(xn,w)−tn]2
其中系数 1 2 \frac{1}{2} 21是为了之后运算方便加入的。可以看出如果数据集大小只有10,则多项式到9阶(即M=9)就可以确定出一个多项拟合函数经过所有的数据点,即误差函数为0。但这样往往也就过拟合(over-fitting)了,泛化(generalization)能力很低,在这种情况下系数都会很大。
检验模型的泛化能力可以通过使用测试集数据的均方根(Root Mean Square, RMS)来检查。均方根定义如下:
E R M S = 2 E ( w ) / N E_{RMS}=\sqrt{2E(\boldsymbol{w})/N} ERMS=2E(w)/N
E ( w ) E(\boldsymbol{w}) E(w)为测试集的误差,N为测试集大小。对于同一阶的多项式拟合模型,随着训练集规模的扩大,过拟合现象会降低。但往往训练集规模都是有限的,有一种控制过拟合现象的技术叫正则化(Regularization)。就是在误差函数增加一个惩罚项:
E ( w ) = 1 2 ∑ n = 1 N [ y ( x n , w ) − t n ] 2 + λ 2 ∣ ∣ w ∣ ∣ 2 E(\boldsymbol{w})=\frac{1}{2} \sum_{n=1}^{N}\left[y\left(x_{n}, \boldsymbol{w}\right)-t_{n}\right]^{2} + \frac{\lambda}{2}{||\boldsymbol{w}||}^2 E(w)=21n=1∑N[y(xn,w)−tn]2+2λ∣∣w∣∣2
其中 ∣ ∣ w ∣ ∣ 2 = w T w = w 0 2 + w 1 2 + … + w M 2 {||\boldsymbol{w}||}^2=\boldsymbol{w}^T\boldsymbol{w}=w_0^2 + w_1^2 + \ldots + w_M^2 ∣∣w∣∣2=wTw=w02+w12+…+wM2, λ \lambda λ在0~1之间,控制了正则化项的权重,即 λ \lambda λ越大,过拟合现象就越被抑制。这种技术在统计学中称为“收缩”(Shrinkage)。二次正则项的一种特殊情况称为“山脊回归”(Ridge Regression)。神经网络中这种方法被称为“权值衰减”(Weight Decay)。
1.2 概率论
几个最重要的概率论的法则:
- 加和规则(sum rule): p ( X ) = ∑ Y p ( X , Y ) p(X) = \sum_Yp(X,Y) p(X)=∑Yp(X,Y)
- 乘积规则(product rule): p ( X , Y ) = p ( X ∣ Y ) p ( Y ) = p ( Y ∣ X ) p ( X ) p(X,Y) = p(X|Y)p(Y) = p(Y|X)p(X) p(X,Y)=p(X∣Y)p(Y)=p(Y∣X)p(X)
- 贝叶斯定理(Bayes’ theorem):
p ( X ∣ Y ) = p ( Y ∣ X ) p ( X ) p ( Y ) = p ( Y ∣ X ) p ( X ) ∑ X p ( Y ∣ X ) p ( X ) p(X|Y) = \frac{p(Y|X)p(X)}{p(Y)} = \frac{p(Y|X)p(X)}{\sum_Xp(Y|X)p(X)} p(X∣Y)=p(Y)p(Y∣X)p(X)=∑Xp(Y∣X)p(X)p(Y∣X)p(X) - 若X,Y互相独立,则:
p ( X ∣ Y ) = p ( X ) , p ( Y ∣ X ) = p ( Y ) , p ( X , Y ) = p ( X ) p ( Y ) p(X|Y) = p(X) ,\quad p(Y|X) = p(Y) ,\quad p(X,Y) = p(X)p(Y) p(X∣Y)=p(X),p(Y∣X)=p(Y),p(X,Y)=p(X)p(Y)
1.2.1 概率密度
对于连续型随机变量,有几个最基本也是最重要的定义和性质:
- 概率密度(probability density)或称概率质量函数(probability mass function, PMF)
p
(
x
)
p(x)
p(x):
p ( x ∈ ( a , b ) ) = ∫ a b p ( x ) d x p(x \in (a, b))=\int_{a}^{b} p(x) \mathrm{d} x p(x∈(a,b))=∫abp(x)dx -
p
(
x
)
p(x)
p(x)的几个基本性质:
p ( x ) ≥ 0 , ∫ − ∞ ∞ p ( x ) d x = 1 p(x) \ge 0 ,\quad \int_{-\infty}^{\infty} p(x) \mathrm{d} x=1 p(x)≥0,∫−∞∞p(x)dx=1 -
p
(
x
)
p(x)
p(x)同样符合加和规则和乘积规则:
p ( x ) = ∫ p ( x , y ) d y , p ( x , y ) = p ( x ∣ y ) p ( y ) = p ( y ∣ x ) p ( x ) p(x)=\int p(x, y) \mathrm{d} y ,\quad p(x,y) = p(x|y)p(y) = p(y|x)p(x) p(x)=∫p(x,y)dy,p(x,y)=p(x∣y)p(y)=p(y∣x)p(x) - 累积分布函数(cumulative distribution function, CDF)或称概率分布函数(probability distribution function, PDF)
P
(
x
)
P(x)
P(x):
P ( z ) = p ( X ≤ z ) = ∫ − ∞ z p ( x ) d x P(z) = p(X \le z) = \int_{-\infty}^{z} p(x) \mathrm{d} x P(z)=p(X≤z)=∫−∞zp(x)dx - 随机变量x的概率密度函数为
p
x
(
x
)
p_x(x)
px(x),对x进行一次变换
x
=
g
(
y
)
x=g(y)
x=g(y),对应的随机变量y的概率密度函数为
p
y
(
y
)
p_y(y)
py(y)。有:
p y ( y ) = p x ( g ( y ) ) ∣ g ′ ( y ) ∣ p_y(y)=p_x(g(y))|g'(y)| py(y)=px(g(y))∣g′(y)∣
即如果对随机变量X进行非线性变化,其概率密度取到最大值的位置会发生改变。结合练习1.4可以对此有更好的理解。
1.2.2 期望和协方差
- 期望的数学定义如下:
E [ f ] = ∑ x p ( x ) f ( x ) = ∫ p ( x ) f ( x ) d x E[f] = \sum_x p(x)f(x) = \int p(x)f(x) \mathrm{d}x E[f]=x∑p(x)f(x)=∫p(x)f(x)dx - 条件期望:
E x [ f ∣ y ] = ∑ x p ( x ∣ y ) f ( x ) = ∫ p ( x ∣ y ) f ( x ) d x E_x[f|y] = \sum_x p(x|y)f(x) = \int p(x|y)f(x) \mathrm{d}x Ex[f∣y]=x∑p(x∣y)f(x)=∫p(x∣y)f(x)dx - 方差的数学定义如下:
v a r [ f ] = E [ ( f ( x ) − E [ f ( x ) ] ) 2 ] \mathrm{var}[f] = E[(f(x) - E[f(x)])^2] var[f]=E[(f(x)−E[f(x)])2] - 方差的常用性质:
v a r [ f ] = E [ f ( x ) 2 ] − E [ f ( x ) ] 2 \mathrm{var}[f] = E[f(x)^2] - E[f(x)]^2 var[f]=E[f(x)2]−E[f(x)]2 - 协方差的数学定义如下:
c o v [ x , y ] = E [ ( x − E [ x ] ) ( y − E [ y ] ) ] = E [ x , y ] − E [ x ] E [ y ] \mathrm{cov}[x,y] = E[(x - E[x])(y-E[y])] = E[x,y] - E[x]E[y] cov[x,y]=E[(x−E[x])(y−E[y])]=E[x,y]−E[x]E[y] - x和y相互独立时,二者协方差为0。
1.2.3 贝叶斯概率
观测数据集为 D = { t 1 , t 2 , ⋯ , t N } D=\{t_1,t_2,\cdots,t_N\} D={t1,t2,⋯,tN},一组参数为 w \boldsymbol{w} w,根据贝叶斯定理有:
p ( w ∣ D ) = p ( D ∣ w ) p ( w ) p ( D ) p(\boldsymbol{w}|D)=\frac{p(D|\boldsymbol{w})p(\boldsymbol{w})}{p(D)} p(w∣D)=p(D)p(D∣w)p(w)
其中 p ( w ∣ D ) p(\boldsymbol{w}|D) p(w∣D)称为后验概率,用于在观测到数据集 D D D后估计 w \boldsymbol{w} w的不确定性。对应地, p ( w ) p(\boldsymbol{w}) p(w)则称先验概率。 p ( D ∣ w ) p(D|\boldsymbol{w}) p(D∣w)称似然函数(Likelihood Function),表示了在不同的参数向量 w \boldsymbol{w} w下观测到数据集 D D D的可能性。用自然语言描述即为“先验概率 正比于 似然函数 * 先验概率”。
常用的一种估计参数 w \boldsymbol{w} w的方法为最大似然估计(Maximum Likelihood Estimation, MLE),即寻找一组参数 w \boldsymbol{w} w使得似然函数 p ( D ∣ w ) p(D|\boldsymbol{w}) p(D∣w)取得最大值,对应于使得观测到的数据集出现的概率达到最大的参数。
1.2.4 高斯分布
-
一元变量的高斯分布定义:
N ( x ∣ μ , σ 2 ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 \mathcal{N}(x|\mu,\sigma^2)=\frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x-\mu)^2}{2\sigma^2}} N(x∣μ,σ2)=2πσ1e−2σ2(x−μ)2
其中 μ \mu μ为均值或期望, σ 2 \sigma^2 σ2为方差, β = 1 σ 2 \beta = \frac{1}{\sigma^2} β=σ21,称为精度(Precision)。 -
对于一个D维的向量 x \boldsymbol{x} x,其高斯分布的定义:
N ( x ∣ μ , σ ) = 1 ( 2 π ) D / 2 1 ∣ σ ∣ 1 / 2 e − 1 2 ( x − μ ) T σ − 1 ( x − μ ) \mathcal{N}(\boldsymbol{x}|\boldsymbol{\mu}, \boldsymbol{\sigma})=\frac{1}{(2\pi)^{D/2}} \frac{1}{|\boldsymbol{\sigma}|^{1/2}} e^{-\frac{1}{2} (\boldsymbol{x}-\boldsymbol{\mu})^T \boldsymbol{\sigma}^{-1} (\boldsymbol{x}-\boldsymbol{\mu})} N(x∣μ,σ)=(2π)D/21∣σ∣1/21e−21(x−μ)Tσ−1(x−μ)
其中 μ \boldsymbol{\mu} μ为D维均值向量, σ \boldsymbol{\sigma} σ为协方差矩阵, ∣ σ ∣ |\boldsymbol{\sigma}| ∣σ∣为协方差矩阵的行列式, σ − 1 \boldsymbol{\sigma}^{-1} σ−1为协方差矩阵的逆矩阵。 -
对于一个一元变量x的高斯分布,已经观察到一个数据集 x = { x 1 , x 2 , ⋯ , x n } x=\{x_1,x_2,\cdots,x_n\} x={x1,x2,⋯,xn},则这个数据集的似然函数即为:
p ( x ∣ μ , σ 2 ) = Π i = 1 n N ( x i ∣ μ , σ 2 ) p(x|\mu,\sigma^2)=\Pi_{i=1}^n \mathcal{N}(x_i|\mu,\sigma^2) p(x∣μ,σ2)=Πi=1nN(xi∣μ,σ2)
对似然函数取对数,之后按照最大似然法,可以求得 μ \mu μ和 σ 2 \sigma^2 σ2的最大似然解:
μ M L = ∑ i = 1 n x i n \mu_{ML} = \frac{\sum_{i=1}^n x_i}{n} μML=n∑i=1nxi
σ M L 2 = ∑ i = 1 n ( x i − μ M L ) 2 n \sigma_{ML}^2 = \frac{\sum_{i=1}^n (x_i - \mu_{ML})^2 }{n} σML2=n∑i=1n(xi−μML)2
可以看出方差的最大似然解是有偏差的,实际应该用样本方差 S 2 = 1 n − 1 ∑ i = 1 n ( x i − μ M L ) 2 S^2 = \frac{1}{n-1} \sum_{i=1}^n (x_i - \mu_{ML})^2 S2=n−11∑i=1n(xi−μML)2估计总体方差。
1.2.5 重新考察曲线拟合问题
现在假设1.1中的多项式拟合问题中,y是x的一个多项式线性映射
y
(
x
,
w
)
y(x,w)
y(x,w),在一个具体的x下目标变量t服从正态分布,其均值为
y
(
x
,
w
)
y(x,w)
y(x,w),即:
p
(
t
∣
x
,
w
,
β
)
=
N
(
t
∣
y
(
x
,
w
)
,
β
−
1
)
p(t|x, \boldsymbol{w}, \beta) = \mathcal{N}(t | y(x, \boldsymbol{w}), \beta^{-1})
p(t∣x,w,β)=N(t∣y(x,w),β−1)
上述假设等同于假设t等于x的一个多项式拟合值加上一个服从高斯分布的“噪声”,即 t = y ( x , w ) + ϵ , ϵ ∼ N ( 0 , σ 2 ) t = y(x,w) + \epsilon, \epsilon \sim N(0,\sigma^2) t=y(x,w)+ϵ,ϵ∼N(0,σ2)。
按照如上假设,对于一个训练数据集
{
x
,
t
}
\{\mathbf{x},\mathbf{t}\}
{x,t},可以获知该数据集的似然函数(即联合概率)为:
p
(
t
∣
x
,
w
,
β
)
=
∏
n
=
1
N
N
(
t
n
∣
y
(
x
n
,
w
)
,
β
−
1
)
p(\mathbf{t} | \mathbf{x}, \boldsymbol{w}, \beta)=\prod_{n=1}^{N} \mathcal{N}\left(t_{n} | y\left(x_{n}, \boldsymbol{w}\right), \beta^{-1}\right)
p(t∣x,w,β)=n=1∏NN(tn∣y(xn,w),β−1)
同样依照最大化似然函数的思路,可以获得与最小二乘法一致的参数向量 w \boldsymbol{w} w的解,也可以估计出高斯分布精度参数 β \beta β(即方差的倒数)。进而可以根据估计出的参数获得目标变量t针对不同x值的条件分布。
在此向贝叶斯方法更进一步,查看参数向量
w
\boldsymbol{w}
w的后验概率分布。为了计算后验概率,先假设参数的先验概率为如下的高斯分布:
p
(
w
∣
α
)
=
N
(
w
∣
0
,
α
−
1
I
)
=
(
α
2
π
)
M
+
1
2
e
−
α
2
w
T
w
p(\boldsymbol{w}|\alpha) = \mathcal{N}(\boldsymbol{w} | \boldsymbol{0}, \alpha^{-1} \boldsymbol{I}) = \left( \frac{\alpha}{2\pi} \right)^{\frac{M+1}{2}} e^{-\frac{\alpha}{2} \boldsymbol{w}^T\boldsymbol{w}}
p(w∣α)=N(w∣0,α−1I)=(2πα)2M+1e−2αwTw
α
\alpha
α为参数先验分布的精度(为一种超参数),M为多项式的最大阶数。则根据贝叶斯定理,可知后验概率正比于先验分布和似然函数的乘积:
p
(
w
∣
x
,
t
,
α
,
β
)
∝
p
(
t
∣
x
,
w
,
β
)
p
(
w
∣
α
)
p(\boldsymbol{w}| \mathbf{x}, \mathbf{t}, \alpha, \beta) \propto p(\mathbf{t} | \mathbf{x}, \boldsymbol{w}, \beta)p(\boldsymbol{w} | \alpha)
p(w∣x,t,α,β)∝p(t∣x,w,β)p(w∣α)
通过最大化该后验概率来估计参数向量
w
\boldsymbol{w}
w,该方法称为最大后验法(Maximum Posterior, MAP)。对该后验概率取负对数,则可以推知最大化该后验概率等同于最小化下式:
β
2
∑
n
=
1
N
{
y
(
x
n
,
w
)
−
t
n
}
2
+
α
2
w
T
w
\frac{\beta}{2} \sum_{n=1}^{N}\left\{y\left(x_{n}, w\right)-t_{n}\right\}^{2}+\frac{\alpha}{2} w^{T} w
2βn=1∑N{y(xn,w)−tn}2+2αwTw
在此可以看到通过MAP方法求得的参数与正则化后的最小二乘法一致,正则化参数即为
λ
=
α
β
\lambda = \frac{\alpha}{\beta}
λ=βα。
1.2.6 贝叶斯曲线拟合
机器学习中的问题往往是预测一个新的x的观测值对应的目标变量t的值。按照上一小节的思路,最大似然法(最大化似然函数)或最大后验法(最大化后验概率),都是对参数向量的点估计。可以将估计出的参数向量带入模型
t
=
y
(
x
,
w
)
+
ϵ
,
ϵ
∼
N
(
0
,
σ
2
)
t = y(x,w) + \epsilon, \epsilon \sim N(0,\sigma^2)
t=y(x,w)+ϵ,ϵ∼N(0,σ2)中计算对应的目标向量t。但不管哪种方法估计出的参数向量都是点估计,参数向量还是有可能取到其他值,而且会对目标向量的分布有所影响。因此真正的贝叶斯观点是在已知的训练集
{
x
,
t
}
\{\mathbf{x}, \mathbf{t}\}
{x,t}和要预测的新的x值的条件下,计算目标变量t的条件概率,即预测分布:
p
(
t
∣
x
,
x
,
t
)
=
∫
p
(
t
∣
x
,
w
)
p
(
w
∣
x
,
t
)
d
w
p(t | x, \mathbf{x}, \mathbf{t})=\int p(t | x, \boldsymbol{w}) p(\boldsymbol{w} | \mathbf{x}, \mathbf{t}) \mathrm{d} \boldsymbol{w}
p(t∣x,x,t)=∫p(t∣x,w)p(w∣x,t)dw
该条件分布也是高斯分布,3.3节会对其做详细说明。
1.3 模型选择
根据上面对多项式拟合的讨论就可以看到解决一个问题可以有多种模型,一个模型中也可能会有多种参数。比如最简单的多项式模型,其多项式阶数就是一个很重要的参数。正则化多项式模型中的正则化系数和高斯噪声模型中的精度。往往可以通过交叉验证(Cross Validation)方法对模型进行评估。即将数据集分成两部分,一部分作为训练集训练模型,另一部分作为测试集对模型进行测试,衡量泛化能力。再通过置换训练集和测试集反复进行训练和测试。从而对模型进行比较。
但往往数据是不够的,因此有一些信息准则被提出,可以仅通过训练数据估计模型的准确度。常用的有赤池信息准则(Akaike Information Criterionn, AIC),即在使用最大似然法训练模型的过程中使用如下量为模型评分:
l
n
p
(
D
∣
w
M
L
)
−
M
\mathrm{ln}p(D|\boldsymbol{w}_{ML}) - M
lnp(D∣wML)−M
其中
p
(
D
∣
w
M
L
)
p(D|\boldsymbol{w}_{ML})
p(D∣wML)即为似然函数,M为模型中可调节参数的数量(多项式回归中即为多项式的阶数加一)。AIC有个变体为贝叶斯信息准则(Bayesian Information Criterion, BIC),会在3.4节详细讨论。
1.4 维度灾难
上述多项式拟合的例子只有一个输入变量x,但实际问题往往需要根据更多的输入变量进行拟合。如有两个输入变量
x
1
,
x
2
x_1,x_2
x1,x2,对其进行二阶多项式拟合建模就如下:
y
(
x
,
w
)
=
w
0
+
w
1
x
1
+
w
2
x
2
+
w
11
x
1
2
+
w
12
x
1
x
2
+
w
21
x
2
x
1
+
w
22
x
2
2
y(\boldsymbol{x}, \boldsymbol{w})=w_0 + w_1x_1 + w_2x_2 + w_{11}x_1^2 + w_{12}x_1x_2 + w_{21}x_2x_1 + w_{22}x_2^2
y(x,w)=w0+w1x1+w2x2+w11x12+w12x1x2+w21x2x1+w22x22
对于D个输入变量,三阶多项式模型为:
y
(
x
,
w
)
=
w
0
+
∑
i
=
1
D
w
i
x
i
+
∑
i
=
1
D
∑
j
=
1
D
w
i
j
x
i
x
j
+
∑
i
=
1
D
∑
j
=
1
D
∑
k
=
1
D
w
i
j
k
x
i
x
j
x
k
y(\boldsymbol{x}, \boldsymbol{w}) = w_0 + \sum_{i=1}^Dw_ix_i + \sum_{i=1}^D\sum_{j=1}^D w_{ij}x_ix_j + \sum_{i=1}^D\sum_{j=1}^D\sum_{k=1}^D w_{ijk}x_ix_jx_k
y(x,w)=w0+i=1∑Dwixi+i=1∑Dj=1∑Dwijxixj+i=1∑Dj=1∑Dk=1∑Dwijkxixjxk
在此就可以看出,随着输入变量维度D的增加,和多项式阶数M的增加,系数参数
w
\boldsymbol{w}
w的长度就越来越多,而且其增长速度近似
D
M
D^M
DM。结合练习1.14~1.16,可以通过数学归纳法证明,对于D维输入向量,建立的M阶多项式模型,其系数参数的长度为:
N
(
D
,
M
)
=
(
D
+
M
)
!
D
!
M
!
N(D,M) = \frac{(D+M)!}{D!M!}
N(D,M)=D!M!(D+M)!
总之就是说明随着维度的增长,模型会越来越笨重,也越来越难解决。并且结合练习1.18~1.20,可以获知在高维空间中的很多几何性质与三维空间很不一样。比如高维空间中球体的体积绝大部分集中在最外面的薄球壳上,高纬高斯分布的概率密度也同样如此。这些均被统称为维度灾难(Curse of Dimensionality)。
1.5 决策论
对于分类问题,最后分类的结果往往对应某个决策。因此决策问题实际上就是统计推断问题。
1.5.1 最小化错误分类率
最常用的思路就是最小化错误分类的概率,对于二分类问题,假设x在区域
R
1
R_1
R1时被分在
C
1
C_1
C1类,在区域
R
2
R_2
R2时被分在
C
2
C_2
C2,则错误分类率为:
p
(
mistake
)
=
p
(
x
∈
R
1
,
C
2
)
+
p
(
x
∈
R
2
,
C
1
)
=
∫
R
1
p
(
x
,
C
2
)
d
x
+
∫
R
2
p
(
x
,
C
1
)
d
x
p(\text{mistake}) = p(x \in R_1, C_2) + p(x \in R_2, C_1) = \int_{R_1} p(x, C_2) \mathrm{d}x + \int_{R_2} p(x, C_1) \mathrm{d}x
p(mistake)=p(x∈R1,C2)+p(x∈R2,C1)=∫R1p(x,C2)dx+∫R2p(x,C1)dx
最小化上式即可获得对x进行分类的分界点。对于多分类问题,则往往通过最大化正确分类率。如对于将x分类至K个类别,其正确率为:
p
(
correct
)
=
∑
i
=
1
K
p
(
x
∈
R
i
,
C
i
)
=
∑
i
=
1
K
∫
R
i
p
(
x
,
C
i
)
d
x
=
∑
i
=
1
K
∫
R
i
p
(
C
i
∣
x
)
p
(
x
)
d
x
p(\text{correct}) = \sum_{i=1}^K p(x \in R_i, C_i) = \sum_{i=1}^K \int_{R_i} p(x, C_i) \mathrm{d}x = \sum_{i=1}^K \int_{R_i} p(C_i | x)p(x) \mathrm{d}x
p(correct)=i=1∑Kp(x∈Ri,Ci)=i=1∑K∫Rip(x,Ci)dx=i=1∑K∫Rip(Ci∣x)p(x)dx
由上式可以看出最大化正确率,也就等同于最大化后验概率 p ( C i ∣ x ) p(C_i | x) p(Ci∣x),即把每个x分到后验概率最大的类别中,正确率最高。
1.5.2 最小化期望损失
实际问题中,各种错误的分类造成的影响不一样。比如将癌症患者错分为正常人,和将正常人错分为癌症患者的影响显然是不一样的。因此常常通过损失矩阵(loss matrix)来对不同的分类结果给出损失的权重。如对于癌症诊断,可以给出如下的损失矩阵实例,每行代表真实情况,每列代表预测分类情况:
癌症 | 正常 | |
---|---|---|
癌症 | 0 | 1000 |
正常 | 1 | 0 |
即若实际为癌症患者,但分类到正常情况,损失为1000;若实际为正常人,但却分类到癌症患者,损失仅为1。当然,正常分类的话损失均为0。
据此可以构建损失函数(Loss Function),或称代价函数(Cost Function):
E
[
L
]
=
∑
k
∑
j
∫
R
j
L
k
j
p
(
x
,
C
k
)
d
x
=
∑
k
∑
j
∫
R
j
L
k
j
p
(
C
k
∣
x
)
p
(
x
)
d
x
E[L] = \sum_k \sum_j \int_{Rj} L_{kj}p(x,C_k) \mathrm{d}x = \sum_k \sum_j \int_{Rj} L_{kj}p(C_k | x)p(x) \mathrm{d}x
E[L]=k∑j∑∫RjLkjp(x,Ck)dx=k∑j∑∫RjLkjp(Ck∣x)p(x)dx
即加和每种输入和不同分类的联合概率 p ( x , C k ) p(x,C_k) p(x,Ck)与对应损失矩阵中的权重值的乘积,实际上就是损失的加权平均值,称为期望损失。最小化期望损失即获得x的分类界限。实际上也可以转化为最小化后验概率 p ( C i ∣ x ) p(C_i | x) p(Ci∣x)与对应损失权重的乘积。
1.5.3 拒绝选项
即使通过获取x对应的最大后验概率 p ( C i ∣ x ) p(C_i | x) p(Ci∣x)获取x所属类别,也有可能犯错。因此可以规定一个阈值 θ \theta θ,当最大的后验概率也小于该值时,认为该样本较难分类,拒绝对其进行分类,留待人工查看。对应不同的阈值,被拒绝的x所在的区域 R R R被称为拒绝域(Reject Region)。根据定义也比较容易推知,当 θ = 1 \theta = 1 θ=1时,所有的样本都会被拒绝(所有的概率都不会大于1);若有K个类别,则 θ < 1 K \theta \lt \frac{1}{K} θ<K1时,则没有样本会被拒绝(一个类别的后验概率变小的时候,肯定会有其他某个类别的概率增加)。
1.5.4 推断和决策
上述方法往往都需要计算后验概率 p ( C i ∣ x ) p(C_i | x) p(Ci∣x),则对于分类决策问题,可以分为三类方法:
- 根据每个类别确定类条件概率
p
(
x
∣
C
i
)
p(x|C_i)
p(x∣Ci),再根据训练数据集计算每个类别的先验概率
p
(
C
i
)
p(C_i)
p(Ci),最后根据贝叶斯定律计算后验概率:
p ( C i ∣ x ) = p ( x ∣ C i ) p ( C i ) p ( x ) p(C_i | x) = \frac{p(x|C_i)p(C_i)}{p(x)} p(Ci∣x)=p(x)p(x∣Ci)p(Ci)
该方法称为生成式模型(Generative Model)。 - 直接推断后验概率密度 p ( C i ∣ x ) p(C_i|x) p(Ci∣x),对x进行分类,该方法称为判别式模型(Discriminative Model)。
- 最简单的方法还是直接训练出一个函数 f ( x ) f(x) f(x),函数的值对应分类标签。如对二分类问题, f ( x ) = 0 f(x)=0 f(x)=0时分类为 C 1 C_1 C1; f ( x ) = 1 f(x)=1 f(x)=1时分类为 C 2 C_2 C2。该函数称为判别函数(Discriminant Function)。
小结这三类方法,明显复杂度和计算量是从上而下依次递减的,但对应的信息量也一样依次递减了。最后一种方法学习的函数直接对应分类结果,但其中的过程也自然成了“黑盒子”。而且在数据和模型发生细微变动时,三类方法需要调整的量也就依次递增了,最后一个判别函数则需要重新学习。
1.5.5 回归问题的损失函数
其实分类问题本质上等同于回归问题,只是回归的目标值为离散的(类别)。因此对于回归问题,可以采用类似于分类问题中最小化期望损失的思路,定义一个损失函数
L
(
t
,
y
(
x
)
)
L(t, y(\boldsymbol{x}))
L(t,y(x)),计算平均损失:
E
[
L
]
=
∫
∫
L
(
t
,
y
(
x
)
)
p
(
x
,
t
)
d
x
d
t
E[L] = \int\int L(t, y(\boldsymbol{x})) p(\boldsymbol{x},t) \mathrm{d}x\mathrm{d}t
E[L]=∫∫L(t,y(x))p(x,t)dxdt
然后最小化该平均损失来确定模型参数。其中最常用的一个损失函数即为平方损失函数
L
(
t
,
y
(
x
)
)
=
[
y
(
x
)
−
t
]
2
L(t, y(\boldsymbol{x})) = [y(\boldsymbol{x})-t]^2
L(t,y(x))=[y(x)−t]2。在将损失函数定义为平方损失函数时,通过最小化平均损失,获得回归函数(Regression Function)
y
(
x
)
y(\boldsymbol{x})
y(x)的最优解为:
y
(
x
)
=
∫
t
p
(
t
∣
x
)
d
t
=
E
[
t
∣
x
]
y(\boldsymbol{x}) = \int tp(t|\boldsymbol{x}) \mathrm{d}t = E[t|\boldsymbol{x}]
y(x)=∫tp(t∣x)dt=E[t∣x]
E [ t ∣ x ] E[t|\boldsymbol{x}] E[t∣x]称为条件均值,即在对应的x条件下,目标变量的均值。
平方损失函数有可能获得的结果并不准确,另一个常用的损失函数称为闵可夫斯基损失函数(Minkowski Loss Function),即 ∣ y ( x − t ) ∣ q |y(\boldsymbol{x} - t)|^q ∣y(x−t)∣q。当 q = 2 q=2 q=2时,即为平方损失函数,最优解为条件均值;当 q = 1 q = 1 q=1时,最优解是条件中位数;当 q → 0 q \rightarrow 0 q→0时,最优解为条件众数。
1.6 信息论
定义一个事件X的信息量即为在该事件发生时,让我们感到的“惊讶程度”。即事件发生的概率越小,信息量越大。在此定义信息熵以衡量事件的信息量。热力学中,熵表示一个系统的“混乱程度”;信息熵则在统计学角度衡量了一个事件的“不确定性”。一个事件发生的概率越小,也就越不确定,对应的信息熵也就越大。定义信息熵如下:
h
(
x
)
=
−
log
2
p
(
x
)
h(x) = -\log_2 p(x)
h(x)=−log2p(x)
根据定义就可以推知信息熵的几个特点:
- 信息熵位于0到正无穷: h ( x ) ∈ [ 0 , + ∞ ] h(x) \in [0, +\infty] h(x)∈[0,+∞];
- 信息熵为0表示该事件为必然事件(没有不确定性);
- 两个独立事件同时发生的信息熵等于两个事件信息熵的和: h ( x , y ) = h ( x ) + h ( y ) h(x,y) = h(x) + h(y) h(x,y)=h(x)+h(y)
以2作为对数底时,信息熵的单位是比特(binary digit, bit)。而以自然对数 e e e为底时,信息熵的单位为纳特(natural digit, nat)。
一个随机变量X的熵(Entropy),即为该随机变量在各个取值下的信息熵的期望:
H
[
X
]
=
−
∑
x
p
(
x
)
log
2
p
(
x
)
H[X] = - \sum_x p(x)\log_2 p(x)
H[X]=−x∑p(x)log2p(x)
随机变量的熵则表示了在传输该该随机变量时所需要的平均信息量。注意传输该随机变量所需的信息量越大,也就表示描述该随机变量所需要的信息量越多。这往往由于我们对其了解得很少,或其自身包含的信息量很少。往往通过自然对数为底表示信息熵,即:
H
[
X
]
=
−
∑
i
p
(
x
i
)
ln
p
(
x
i
)
H[X] = - \sum_{i} p(x_i)\ln p(x_i)
H[X]=−i∑p(xi)lnp(xi)
可以使用拉格朗日乘数法获知,一个离散型随机变量的熵取最大值时,所有的 p ( x i ) p(x_i) p(xi)相等。即对于离散型随机变量来说,均匀分布的熵值最大,其自身包含的信息量最少,因此描述均匀分布的随机变量所需要的信息量最大。
对于连续型随机变量X,把x分为宽度为
Δ
\Delta
Δ的区间,则其熵可以化为:
H
=
−
∑
i
p
(
x
i
)
Δ
ln
p
(
x
i
)
−
ln
Δ
H = - \sum_i p(x_i)\Delta \ln p(x_i) - \ln \Delta
H=−i∑p(xi)Δlnp(xi)−lnΔ
在
Δ
→
0
\Delta \rightarrow 0
Δ→0时,右侧第一项可以转化为:
lim
Δ
→
0
{
−
∑
i
p
(
x
i
)
Δ
ln
p
(
x
i
)
}
=
∫
p
(
x
)
ln
p
(
x
)
d
x
\lim_{\Delta \rightarrow 0} \left\{ - \sum_i p(x_i)\Delta \ln p(x_i) \right\} = \int p(x)\ln p(x) \mathrm{d}x
Δ→0lim{−i∑p(xi)Δlnp(xi)}=∫p(x)lnp(x)dx
这被称为微分熵(Differential Entropy),是有一个具体值的。不过当 Δ → 0 \Delta \rightarrow 0 Δ→0时,熵的第二项 − ln Δ -\ln \Delta −lnΔ则趋近于正无穷。这也就对应了一个事实:对于连续型随机变量,确定其为某个具体值的概率为0,往往关注的是其值落在某个区域内的概率。
同样通过拉格朗日乘数法,可以解得微分熵最大时,连续型随机变量的概率分布为高斯分布。也就是说对于连续型随机变量,正态分布是信息熵最大的。并且正态分布的微分熵为:
H
[
N
(
μ
,
σ
2
)
]
=
1
2
[
1
+
ln
(
2
π
σ
2
)
]
H[N(\mu, \sigma^2)] = \frac{1}{2} \left[ 1 + \ln(2\pi\sigma^2) \right]
H[N(μ,σ2)]=21[1+ln(2πσ2)]
可以看到微分熵与方差 σ 2 \sigma^2 σ2正相关,这也与直觉一致:分布越离散的分布不确定性越高。
在此提出自己的一些理解。根据热力学第二定律,一个孤立系统的熵是不会减少的。对应地,对于离散型随机变量,均匀分布熵值最大;对于连续型随机变量,高斯分布熵值最大。因此可以确定这两种分布不确定性最大,但也最稳定、最常见。我想这也就是为什么古典概型、正态分布也是最常用的基本假设。当我们对一个随机变量知道的越少时,我们就对它越不确定,描述它所需的信息量也就越大,熵也就越大。
现在考虑两个随机变量X和Y,在随机变量X取x的条件下,需要确定对应y值所需的附加信息量为
−
ln
p
(
y
∣
x
)
-\ln p(y|x)
−lnp(y∣x),因此定义条件熵如下:
H
[
y
∣
x
]
=
−
∫
∫
p
(
y
,
x
)
ln
p
(
y
∣
x
)
d
x
d
y
H[y|x] = -\int\int p(y,x) \ln p(y|x) \mathrm{d}x\mathrm{d}y
H[y∣x]=−∫∫p(y,x)lnp(y∣x)dxdy
条件熵满足如下关系:
H
[
x
,
y
]
=
H
[
y
∣
x
]
+
H
[
x
]
H[x,y] = H[y|x] + H[x]
H[x,y]=H[y∣x]+H[x]
其中 H [ x , y ] H[x,y] H[x,y]是联合分布 p ( x , y ) p(x,y) p(x,y)的微分熵, H [ x ] H[x] H[x]是边缘分布 p ( x ) p(x) p(x)的微分熵。这也符合直觉,即x和y共同发生所需要的信息量,是确定x的信息量,加上确定x条件下确定y的信息量。
1.6.1 相对熵和互信息
我们往往通过建模去估计随机变量的分布,但估计出的分布与真实分布往往存在差异。因此定义真实分布
p
(
x
)
p(x)
p(x)和近似分布
q
(
x
)
q(x)
q(x)之间的相对熵(Relative Entropy)来衡量传输该随机变量X时所需要平均附加的信息量(即二者信息量的差值):
K
L
(
p
∣
∣
q
)
=
−
∫
p
(
x
)
ln
q
(
x
)
d
x
−
(
−
∫
p
(
x
)
ln
p
(
x
)
d
x
)
=
−
∫
p
(
x
)
ln
[
q
(
x
)
p
(
x
)
]
d
x
KL(p||q) = - \int p(x) \ln q(x) \mathrm{d}x - \left( - \int p(x) \ln p(x) \mathrm{d}x \right) = - \int p(x) \ln \left[ \frac{q(x)}{p(x)} \right] \mathrm{d}x
KL(p∣∣q)=−∫p(x)lnq(x)dx−(−∫p(x)lnp(x)dx)=−∫p(x)ln[p(x)q(x)]dx
该值也称Kullback-Leibler散度(Kullback-Leibler Divergence),简称KL散度。注意该量并不对称,即 K L ( p ∣ ∣ q ) ≠ K L ( q ∣ ∣ p ) KL(p||q) \neq KL(q||p) KL(p∣∣q)=KL(q∣∣p)。KL散度有如下性质:
- K L ( p ∣ ∣ q ) ≥ 0 KL(p||q) \ge 0 KL(p∣∣q)≥0;
- 当且仅当 p ( x ) = q ( x ) p(x) = q(x) p(x)=q(x)时, K L ( p ∣ ∣ q ) = 0 KL(p||q) = 0 KL(p∣∣q)=0
KL散度衡量了两个分布之间信息量的差值,也就衡量了两种分布的不相似程度。因此可以利用KL散度来推断两个随机变量X和Y是否独立。若X和Y独立,则有
p
(
x
,
y
)
=
p
(
x
)
p
(
y
)
p(x,y) = p(x)p(y)
p(x,y)=p(x)p(y),联合概率和概率乘积对应的KL散度为:
I
[
x
,
y
]
=
K
L
(
p
(
x
,
y
)
∣
∣
p
(
x
)
p
(
y
)
)
=
−
∫
∫
p
(
x
,
y
)
ln
[
p
(
x
)
p
(
y
)
p
(
x
,
y
)
]
d
x
d
y
I[x,y] = KL(p(x,y) || p(x)p(y)) = - \int\int p(x,y) \ln \left[ \frac{p(x)p(y)}{p(x,y)} \right] \mathrm{d}x\mathrm{d}y
I[x,y]=KL(p(x,y)∣∣p(x)p(y))=−∫∫p(x,y)ln[p(x,y)p(x)p(y)]dxdy
这个定义称为随机变量X和Y之间的互信息(Mutual Information)。互信息越小则说明二者独立程度越高,互信息为0时表示二者完全相互独立。互信息和条件熵满足如下关系:
I
[
x
,
y
]
=
H
[
x
]
−
H
[
x
∣
y
]
=
H
[
y
]
−
H
[
y
∣
x
]
I[x,y] = H[x] - H[x|y] = H[y] - H[y|x]
I[x,y]=H[x]−H[x∣y]=H[y]−H[y∣x]
可以看出互信息体现出在已知y的条件下x的不确定性,比不知道y时x的不确定性的减少量;或在已知x的条件下y的不确定性,比不知道x时y的不确定性的减少量。