高斯过程描述了函数的分布 ,是机器学习里面的主流手段。在普遍的监督学习中(分类或者是回归),我们一般采取两种手段。第一种是限定函数的种类,比如规定寻找一个输入与输出的线性关系。另一种是给每一个函数一个先验概率,更有可能出现的函数有更高的先验概率,比如光滑的函数会比上下波动的函数更有可能出现。
第一种方法的问题是,假如实际的函数与我们训练时所用的函数不一样,那么预测将会失准;另一方面,假如训练时采用了过于复杂的模型,又会产生overfitting(过度拟合),即噪声也被拟合到函数之中。第二种方法的问题是,可能的函数种类是无限的,怎么能算出其中一个出现的概率呢?高斯过程就是解决这样问题的一个工具,它给出了函数的分布。
最基本的模型仍然是线性模型。带有高斯噪声的线性回归可以表达为
其中噪声服从的正态分布。并假设w服从的正态分布。给出训练数据{X,y}后(X为D*n的矩阵,表示n个训练数据,每条数据有D维,y为n长度的向量),那么根据贝叶斯公式不难求出以下概率分布均为正态分布。其中
给出了线性函数的分布概率。那么给定一个测试数据x0,其预测结果y0也服从一个正态分布
经过一些基本的代数变换,可以发现,这些正态分布都可以写成基于一系列的函数,也就是说这些概率分布完全取决于输入数据空间内积的定义k(xi,xj)。这就引出了kernel trick的经典做法: 假如一个算法仅取决于输入空间的内积定义,那么我们可以将 输入空间映射到另一个特征空间,改变内积的定义k(xi,xj). 比如,当输入数据不能采用线性模型时,可以先将x映射到,并在新的空间中寻找线性模型此时只改变了内积的定义。
Face Localization
在V. Jain 等人的《Online Domain Adaptation of a Pre-Trained Cascade of Classifiers》中,人脸探测是基于ada-boost的分类器实现。但是在很多情况下,新出现的照片中的人脸通常会和训练中的人脸有很大差异(光线,阴影等),也就是说测试数据属于另一种分布,如果我们无法对新数据进行训练,并且也无法获取旧训练数据,就需要一种在线自适应的机制(online adaption)。于是,在对新的数据进行分类时,首先选择出那些明显分类正确的数据,即ada-boost最后的score离分割线远于一定的阈值(类似svm的score,离分割平面越远,说明分类结果的信任度越高),而在阈值内的那些数据(接近于分割平面)属于信任度不高的那类,需要重新分类。第二次分类并不是重新训练一个ada-boost,而是用之前的公式给出了一个概率。因为前者即耗时,又容易出现overfitting。
2D/3D Image Registration
在图像引导放射治疗(IGRT)时,一个重要理念是学习图像灰度值与由呼吸引起的形变系数的线性关系(参考CLARET 和 REALMS算法)。但是问题是在诊疗时刻(treatment time),这个线性关系会被消化形变影响。可以想象这个线性关系可以通过某种高斯过程有效率的更新.