PRML绪论笔记

绪论

  绪论中首先指出“寻找数据中的模式问题是一个基本问题”。作者通过手写数字识别举了一个例子:手写体变化多端,我们如何正确的将手写数字识别出来呢?
  可能有人说,我们直接写程序给它设定规则就可以了,然而,由于总有我们考虑不到的手写体,每当发现新的程序识别不了的字符,我们必须增加新的规则,这就导致了规则的激增。比如下面的两个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的形式相同。

  1. 训练阶段:确定函数 f ( x ) f(x) f(x)的精确形式,通过数字图像和已知标签来训练。
  2. 测试阶段:使用函数 f ( x ) f(x) f(x)预测新的图像(测试集)图像的标签。
  3. 泛化问题:对训练集之外的数据的预测性能。
      另外原始的数字图像可能需要转换为新的变量空间(预处理)。如将图像转换为向量。如果训练图像进行了预处理,测试图像也需要进行相同的预处理。
    训练数据的样本包含输入向量以及对应目标向量的应用叫做有监督学习(supervised learning)问题。训练数据由一组输入向量 x x x组成,没有任何对应的目标值。这叫无监督问题。反馈学习技术关注的问题是在给定的条件下,找到合适的动作,使得奖励达到最大值。
      绪论主要介绍本书中最重要的三个工具:概率论、决策论、信息论。

多项式曲线拟合

  从 s i n ( 2 π ) sin(2pi) sin(2π)这个函数在0到1之间均匀取样,取样过程附加符合高斯分布的噪声,训练数据集由 x x x N N N次观测组成 x ≡ ( x 1 , ⋯   , x N ) T xequiv(x_1,cdots,x_N)^T x(x1,,xN)T,观测值 t t t记作 t ≡ ( t 1 , ⋯   , t N ) tequiv(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=0Mw其中 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=1N{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这个向量取多长。

  1. M = 0 M=0 M=0 水平直线
  2. M = 1 M=1 M=1 直线
  3. M = 3 M=3 M=3 拟合结果比较接近
  4. 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)=Yp(X,Y)
  乘积规则: p ( X , Y ) = p ( Y ∣ X ) p ( X ) p(X,Y)=p(Y|X)p(X) p(X,Y)=p(YX)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(YX)p(X)=p(XY)p(Y)p(YX)=p(X)p(XY)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(YX)=Yp(X,Y)p(XY)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(Dw)表达,使用贝叶斯定理来表示多项式曲线拟合问题:
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(wD)=p(D)p(Dw)p(w)它让我们能够通过后验概率 p ( w ∣ D ) p(boldsymbol{w} | D) p(wD),在观测到 D D D之后估计 w boldsymbol{w} w的不确定性。