参考资料:
说说高斯过程回归
http://www.cnblogs.com/tornadomeet/archive/2013/06/15/3137239.html
机器学习&数据挖掘笔记_11(高斯过程回归)
?
在网上找了许久,终于找到几篇关于介绍这方面的文章,在第一篇文章的链接中,我们可以去下载一些demo
不过没看明白,程序也没调通。大神们,可以在试试。
?
何为高斯过程回归:
其实分为两个过程,高斯过程+回归。
高斯过程:其实就是在函数上的正态分布。它是由多个高斯函数组成的线性集合。
小知识:高斯分布其实就是正态分布,我们现在讲的高斯其实就是一个模型。高斯模型。
高斯模型具体是啥,大家可以想象一下高斯函数的分布,就是那个中间宽,两边窄的东东。
描述为:
回归:回归是一种关系。Xi与yi之间的关系。比如说线性回归分析,这里面就是指x与y存在线性关系,即一次函数关系。
?
看看下面的公式:
实例:
如何计算k?需要一个核函数,在高斯过程回归里面,我们最常见的kernel就是svm里面的高斯核,为了避免命名上的混淆,我们一般称之为平方指数核函数。
Squared exponential kernel .
?
现在我们继续分析上面的例子,假如我们通过高斯核函数,算出来K11—K33,这时x*又出来捣蛋了,它对应的f*是多少呢?
我们根据上面计算出来的f和K,可以对x*进行预测,因为它本身就是一个函数,是函数的话,知道x就一定可以算出y。此时,我们可以根据联合分布
的所有参数,算出其对应的p(f*),也就是说,此方法给出了预测值所隶属的整个后验概率分布,我们得到的是f*的整个分布,不是点估计。
?
在道路边缘检测算法当中,当我们对其进行GPR()的时候,你会发现我们计算出model后,需要对其进行评估,将不满足条件的点给干掉。
(对于每一块区域)先通过HT 霍夫变换得到种子点,然后利用种子点之间的关系,比如协方差K,利用这个关系去预测其他点是不是满足这个模型。(理解为直线模型),第二步,去eval,对于这里面的每个点,X属于test,计算k(x*,x*)和K(X,x*),未知点,测试的点。然后和我们自己定义的tmodel(测试点x*的方差的阈值)和tdata(测试点x*到它的预测均值f*)去比较。当满足的时候,我们认为其满足,并保留到sp当中,从初始选择的种子点的集合sp开始,每一次迭代都从Sc中,选择snew,满足就累加,直到Sc为空。也就是这一块区域都找到为止。
?
其实这种算法,和区域生长算法类似,都是将定义的点每个检测,然后增加其长度。
?