绪论
绪论中首先指出“寻找数据中的模式问题是一个基本问题”。作者通过手写数字识别举了一个例子:手写体变化多端,我们如何正确的将手写数字识别出来呢?
可能有人说,我们直接写程序给它设定规则就可以了,然而,由于总有我们考虑不到的手写体,每当发现新的程序识别不了的字符,我们必须增加新的规则,这就导致了规则的激增。比如下面的两个2,我们很难通过人工设定规则。
或者这么理解,我们希望有一个映射,可以将输入的图像,映射成对应的数字。人工方法设定的映射函数可能会非常庞大,因此我们需要探索更省力、效率更高的方法,那就是机器学习。
机器学习方法中,由N个数字图像
{
x
1
,
⋯
,
x
N
}
\{x_1,\cdots,x_N\}
{x1,⋯,xN}组成的集合叫做训练集(training set),用来调节映射的参数。每个图像对应的数字都是已知的,使用目标向量(target vector)
t
t
t来表示数字的类别标签。机器学习方法同样可以成是一个映射函数
f
(
x
)
f(x)
f(x),他以图像
x
x
x为输入,以向量
y
y
y为输出。这里输出的
y
y
y向量形式与目标向量
t
t
t的形式相同。
- 训练阶段:确定函数 f ( x ) f(x) f(x)的精确形式,通过数字图像和已知标签来训练。
- 测试阶段:使用函数 f ( x ) f(x) f(x)预测新的图像(测试集)图像的标签。
- 泛化问题:对训练集之外的数据的预测性能。
另外原始的数字图像可能需要转换为新的变量空间(预处理)。如将图像转换为向量。如果训练图像进行了预处理,测试图像也需要进行相同的预处理。
训练数据的样本包含输入向量以及对应目标向量的应用叫做有监督学习(supervised learning)问题。训练数据由一组输入向量 x x x组成,没有任何对应的目标值。这叫无监督问题。反馈学习技术关注的问题是在给定的条件下,找到合适的动作,使得奖励达到最大值。
绪论主要介绍本书中最重要的三个工具:概率论、决策论、信息论。
多项式曲线拟合
从
s
i
n
(
2
π
)
sin(2\pi)
sin(2π)这个函数在0到1之间均匀取样,取样过程附加符合高斯分布的噪声,训练数据集由
x
x
x的
N
N
N次观测组成,
x
≡
(
x
1
,
⋯
,
x
N
)
T
x\equiv(x_1,\cdots,x_N)^T
x≡(x1,⋯,xN)T,观测值
t
t
t记作
t
≡
(
t
1
,
⋯
,
t
N
)
t\equiv(t_1,\cdots,t_N)
t≡(t1,⋯,tN)。
现在假如我们只有训练数据集
x
x
x和观测值集合
t
t
t,如何预测新的
x
^
\hat{x}
x^的目标变量
t
^
\hat{t}
t^。由于数据采样存在干扰,因此对于一个给定的
x
^
\hat{x}
x^,
t
^
\hat{t}
t^具有不确定性。作者使用多项式函数来进行曲线拟合。
y
(
x
,
w
)
=
w
0
+
w
1
x
+
w
2
x
2
+
⋯
+
w
M
x
M
=
∑
j
=
0
M
w
y(x,w)=w_0+w_1x+w_2x^2+\cdots+w_Mx^M=\sum_{j=0}^{M}w
y(x,w)=w0+w1x+w2x2+⋯+wMxM=j=0∑Mw其中
M
M
M是多项式的阶数,
x
j
x^j
xj表示
x
x
x的
j
j
j次幂。多项式系数
w
0
,
⋯
,
w
M
w_0,\cdots,w_M
w0,⋯,wM整体记作向量
w
\boldsymbol{w}
w。注意:虽然多项式函数
y
(
x
,
w
)
y(x,\boldsymbol{w})
y(x,w)是
x
x
x的一个非线性函数,但它是系数
w
\boldsymbol{w}
w的一个线性函数。
要想找到合适的
w
\boldsymbol{w}
w的值,需要使用最小化误差函数(error function)实现。例如每个数据点
x
n
x_n
xn的预测值
y
(
x
n
,
w
)
y(x_n,\boldsymbol{w})
y(xn,w)与目标值
t
n
t_n
tn差的平方和。最小化error function就可以找到合适的
w
\boldsymbol{w}
w。
E
(
w
)
=
1
2
∑
n
=
1
N
{
y
(
x
n
,
w
)
−
t
n
}
2
E(\boldsymbol{w})=\frac{1}{2}\sum_{n=1}^N\{y(x_n,\boldsymbol{w})-t_n\}^2
E(w)=21n=1∑N{y(xn,w)−tn}2这是一个非负量,如果所有值都预测正确,误差函数
E
(
x
)
=
0
E(x)=0
E(x)=0。
误差函数是
w
\boldsymbol{w}
w的二次函数,求导可得一个唯一解,这个解就是误差函数的最小值解
w
∗
\boldsymbol{w^*}
w∗。
下面还有一个问题需要解决,那就是多项式阶数
M
M
M的取值,也就是
w
\boldsymbol{w}
w这个向量取多长。
- M = 0 M=0 M=0 水平直线
- M = 1 M=1 M=1 直线
- M = 3 M=3 M=3 拟合结果比较接近
-
M
=
9
M=9
M=9 拟合的曲线剧烈震荡,完全通过所有点,误差函数为0,过拟合。
按理说应该是 M M M越大越好,为什么会出现震荡呢?作者说,直觉上讲,有着更大的 M M M值的多项式被过分的调参,使得多项式被调节成了与目标值的随机噪声相符。我个人感觉应该是调节的时候把随机噪声也拟合进去了,因此震荡较大。然而随着训练数据集的增大 M M M阶数增大后也有很好的性能,这个结果令人无法满意的一点是,我们不得不根据可得到的训练集的规模限制参数的数量。更加合理的解释是,根据待解决的问题的复杂性来选择模型的复杂性。因此后面会提到一个方法,使用贝叶斯模型,参数的有效数量会自动根据数据集的规模调节。
概率论
加和规则:
p
(
X
)
=
∑
Y
p
(
X
,
Y
)
p(X)=\sum_Yp(X,Y)
p(X)=Y∑p(X,Y)
乘积规则:
p
(
X
,
Y
)
=
p
(
Y
∣
X
)
p
(
X
)
p(X,Y)=p(Y|X)p(X)
p(X,Y)=p(Y∣X)p(X)
根据乘积规则,以及对称性
p
(
X
,
Y
)
=
p
(
Y
,
X
)
p(X,Y)=p(Y,X)
p(X,Y)=p(Y,X),可以得到两个条件概率之间的关系:
p
(
X
,
Y
)
=
p
(
Y
,
X
)
p
(
Y
∣
X
)
p
(
X
)
=
p
(
X
∣
Y
)
p
(
Y
)
p
(
Y
∣
X
)
=
p
(
X
∣
Y
)
p
(
Y
)
p
(
X
)
p(X,Y)=p(Y,X)\\ p(Y|X)p(X)=p(X|Y)p(Y)\\ p(Y|X)=\frac{p(X|Y)p(Y)}{p(X)}
p(X,Y)=p(Y,X)p(Y∣X)p(X)=p(X∣Y)p(Y)p(Y∣X)=p(X)p(X∣Y)p(Y)
这就是贝叶斯定理,根据加和规则上述结果可以写作:
p
(
Y
∣
X
)
=
p
(
X
∣
Y
)
p
(
Y
)
∑
Y
p
(
X
,
Y
)
p(Y|X)=\frac{p(X|Y)p(Y)}{\sum_Yp(X,Y)}
p(Y∣X)=∑Yp(X,Y)p(X∣Y)p(Y)
在多项式曲线拟合例子中的参数
w
\boldsymbol{w}
w,我们观察到数据之前,对
w
\boldsymbol{w}
w有一些假设,这以先验概率
p
(
w
)
p(\boldsymbol{w})
p(w)的形式给出。观测数据
D
=
{
t
1
,
⋯
,
t
N
}
D=\{t_1,\cdots,t_N\}
D={t1,⋯,tN}的效果可以通过条件概率
p
(
D
∣
w
)
p(D|\boldsymbol{w})
p(D∣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
(
D
∣
w
)
p(D|\boldsymbol{w})
p(D∣w)(称做似然函数)是一个很有意思的量,它表示给定参数
w
\boldsymbol{w}
w观测数据出现的可能性大小,关于
w
\boldsymbol{w}
w的积分不一定等于一。公式中所有的量都是关于
w
\boldsymbol{w}
w的函数,其中
p
(
D
)
=
∫
p
(
D
∣
w
)
p
(
w
)
d
w
p(D)=\int{p(D|\boldsymbol{w})p(\boldsymbol{w})d\boldsymbol{w}}
p(D)=∫p(D∣w)p(w)dw。频率学派和贝叶斯学派对与
w
\boldsymbol{w}
w的值有不同看法,频率学派认为
w
\boldsymbol{w}
w是一个固定的参数,常用最大似然估计,而贝叶斯学派认为
w
\boldsymbol{w}
w通过概率分布表达,如自助法(bootstrap)。
下面考虑最大似然估计高斯分布的情况,对于一元实值变量
x
x
x,高斯分布被定义为:
N
(
x
∣
μ
,
σ
2
)
=
1
(
2
π
σ
2
)
1
2
e
x
p
{
−
1
2
σ
2
(
x
−
μ
)
2
}
\mathcal{N}(x|\mu,\sigma^2)=\frac{1}{(2\pi\sigma^2)^\frac{1}{2}}exp\{-\frac{1}{2\sigma^2}(x-\mu)^2\}
N(x∣μ,σ2)=(2πσ2)211exp{−2σ21(x−μ)2}
直观理解就是,给定均值
μ
\mu
μ和方差
σ
2
\sigma^2
σ2,
x
x
x的分布。这里均值和方差也是未知的。
现在假定我们有一个观测数据集
t
=
(
t
1
,
⋯
,
t
N
)
T
\boldsymbol{t}=(t_1,\cdots,t_N)^T
t=(t1,⋯,tN)T,该数据集的各次观测结果是从一个符合高斯分布的数据集中独立取出来的,因此给定均值和方差,我们可以得到观测数据集
t
\boldsymbol{t}
t中各次结果的联合概率:
p
(
t
∣
μ
,
σ
2
)
=
∏
n
=
1
N
N
(
t
n
∣
μ
,
σ
2
)
p(\boldsymbol{t}|\mu,\sigma^2)=\prod_{n=1}^{N}\mathcal{N}(t_n|\mu,\sigma^2)
p(t∣μ,σ2)=n=1∏NN(tn∣μ,σ2)
通过最大似然估计方法我们可以得到均值的最大似然解:
μ
M
L
=
1
N
∑
n
=
1
N
t
n
\mu_{ML}=\frac{1}{N}\sum_{n=1}^Nt_n
μML=N1n=1∑Ntn
及方差的最大似然解:
σ
M
L
2
=
1
N
∑
n
=
1
N
(
t
n
−
μ
M
L
)
2
\sigma^2_{ML}=\frac{1}{N}\sum_{n=1}{N}(t_n-\mu_{ML})^2
σML2=N1n=1∑N(tn−μML)2因为
E
[
σ
M
L
2
]
=
(
N
−
1
N
)
σ
2
\mathbb{E}[\sigma^2_{ML}]=(\frac{N-1}{N})\sigma^2
E[σML2]=(NN−1)σ2,所以最大似然估计的缺点是低估方差(N较大时问题不大)。在实际问题中由于我们感兴趣的是参数很多的模型,所以最大似然的偏移问题会很严重。最大似然的偏移问题是上面多项式曲线拟合问题中遇到的过拟合问题的核心。
现在回到曲线拟合的问题上,有
N
N
N个输入
x
=
(
x
1
,
⋯
,
x
N
)
T
\boldsymbol{x}=(x_1,\cdots,x_N)^T
x=(x1,⋯,xN)T和它们对应的目标值
t
=
(
t
1
,
⋯
,
t
N
)
T
\boldsymbol{t}=(t_1,\cdots,t_N)^T
t=(t1,⋯,tN)T,假定给定
x
x
x的值,对应的
t
t
t值服从高斯分布,分布的均值为
y
(
x
,
w
)
y(x,\boldsymbol{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),其中
β
\beta
β为精度,它是分布方差的倒数,
β
−
1
\beta^{-1}
β−1为方差。通过最大似然方法决定未知参数
w
\boldsymbol{w}
w和
β
\beta
β的值,似然函数为:
p
(
t
∣
x
,
w
,
β
)
=
∏
n
=
1
N
N
(
t
n
∣
y
(
x
n
,
w
)
,
β
−
1
)
=
∏
n
=
1
N
1
(
2
π
)
1
2
β
−
1
2
e
x
p
(
t
n
−
y
(
x
n
,
w
)
)
2
−
2
β
−
1
p(\boldsymbol{t}|\boldsymbol{x},\boldsymbol{w},\beta)=\prod_{n=1}^N\mathcal{N}(t_n|y(x_n,\boldsymbol{w}),\beta^{-1})=\prod_{n=1}^N\frac{1}{(2\pi)^{\frac{1}{2}}\beta^{-\frac{1}{2}}}exp{\frac{(t_n-y(x_n,\boldsymbol{w}))^2}{-2\beta^{-1}}}
p(t∣x,w,β)=n=1∏NN(tn∣y(xn,w),β−1)=n=1∏N(2π)21β−211exp−2β−1(tn−y(xn,w))2,再次强调
β
−
1
\beta^{-1}
β−1为方差。两边取对数:
ln
p
(
t
∣
x
,
w
,
β
)
=
−
∑
n
=
1
N
(
t
n
−
y
(
x
n
,
w
)
)
2
2
β
−
1
−
∑
n
=
1
N
ln
(
2
π
)
1
2
−
∑
n
=
1
N
ln
β
−
1
2
=
−
β
2
∑
n
=
1
N
(
t
n
−
y
(
x
n
,
w
)
)
2
−
N
2
ln
(
2
π
)
+
N
2
l
n
β
\ln{p}(\boldsymbol{t}|\boldsymbol{x},\boldsymbol{w},\beta)=-\sum_{n=1}^{N}\frac{(t_n-y(x_n,\boldsymbol{w}))^2}{2\beta^{-1}}-\sum_{n=1}^N\ln(2\pi)^\frac{1}{2}-\sum_{n=1}^{N}\ln\beta^{-\frac{1}{2}}\\ =-\frac{\beta}{2}\sum_{n=1}^{N}(t_n-y(x_n,\boldsymbol{w}))^2-\frac{N}{2}\ln(2\pi)+\frac{N}{2}ln\beta
lnp(t∣x,w,β)=−n=1∑N2β−1(tn−y(xn,w))2−n=1∑Nln(2π)21−n=1∑Nlnβ−21=−2βn=1∑N(tn−y(xn,w))2−2Nln(2π)+2Nlnβ
由于
{
y
(
x
n
,
w
)
−
t
n
}
2
=
{
t
n
−
y
(
x
n
,
w
)
}
2
\{y(x_n,\boldsymbol{w})-t_n\}^2=\{t_n-y(x_n,\boldsymbol{w})\}^2
{y(xn,w)−tn}2={tn−y(xn,w)}2,因此对数似然函数为:
ln
p
(
t
∣
x
,
w
,
β
)
=
−
β
2
∑
n
=
1
N
{
y
(
x
n
,
w
)
−
t
n
}
2
+
N
2
ln
β
−
N
2
ln
(
2
π
)
\ln{p}(\boldsymbol{t}|\boldsymbol{x},\boldsymbol{w},\beta)=-\frac{\beta}{2}\sum_{n=1}^N\{y(x_n,\boldsymbol{w})-t_n\}^2+\frac{N}{2}\ln{\beta}-\frac{N}{2}\ln{(2\pi)}
lnp(t∣x,w,β)=−2βn=1∑N{y(xn,w)−tn}2+2Nlnβ−2Nln(2π)求多项式系数的最大似然解
w
M
L
\boldsymbol{w}_{ML}
wML,需要对
w
\boldsymbol{w}
w求导,而后面两项与
w
\boldsymbol{w}
w无关,只剩下对
−
β
2
∑
n
=
1
N
{
y
(
x
n
,
w
)
−
t
n
}
2
-\frac{\beta}{2}\sum_{n=1}^N\{y(x_n,\boldsymbol{w})-t_n\}^2
−2β∑n=1N{y(xn,w)−tn}2求最大值,
β
\beta
β只起到了缩放作用,因此等价与对
1
2
∑
n
=
1
N
{
y
(
x
n
,
w
)
−
t
n
}
2
\frac{1}{2}\sum_{n=1}^N\{y(x_n,\boldsymbol{w})-t_n\}^2
21∑n=1N{y(xn,w)−tn}2求最小值,有意思的是这就回到了最开始的最小化误差函数,在高斯噪声的假设下,平方和误差函数是最大化似然函数的一个自然结果。这时我们已经得到了类似刚开始多项式回归的参数
w
\boldsymbol{w}
w。
使用最大似然方法也可以得到方差
β
M
L
−
1
\beta_{ML}^{-1}
βML−1的最大似然解
β
M
L
−
1
=
1
N
∑
n
=
1
N
{
y
(
x
n
,
w
M
L
)
−
t
n
}
2
\beta_{ML}^{-1}=\frac{1}{N}\sum_{n=1}^{N}\{y(x_n,\boldsymbol{w}_{ML})-t_n\}^2
βML−1=N1n=1∑N{y(xn,wML)−tn}2跟高斯分布一样,还是需要先确定
w
M
L
\boldsymbol{w}_{ML}
wML再确定
β
M
L
−
1
\beta_{ML}^{-1}
βML−1。现在可以对新的
x
x
x进行预测了,预测结果通过给出
t
t
t的概率分布的预测分布来表示:
p
(
t
∣
x
,
w
M
L
,
β
M
L
)
=
N
(
t
∣
y
(
x
,
w
M
L
)
,
β
M
L
−
1
)
p(t|x,\boldsymbol{w}_{ML},\beta_{ML})=\mathcal{N}(t|y(x,\boldsymbol{w}_{ML}),\beta_{ML}^{-1})
p(t∣x,wML,βML)=N(t∣y(x,wML),βML−1)。