`

机器学习&数据挖掘笔记_11(高斯过程回归)

阅读更多
原帖地址:http://www.cnblogs.com/tornadomeet/archive/2013/06/15/3137239.html

 

  前言:

  高斯过程回归(GPR)和贝叶斯线性回归类似,区别在于高斯过程回归中用核函数代替了贝叶斯线性回归中的基函数(其实也是核函数,线性核)。采用核函数可以定义高斯过程回归是一个比贝叶斯线性回归更通用的模型,应用非常广泛。本文参考的资料为视频http://www.youtube.com/playlist?list=PLD0Z06AA0D2E8ZZBA中相关的部分以及论文Gaussian Processes for Regression A Quick Introduction.

 

  基础知识:

  首先来看看Bayesian linear regression(贝叶斯线性回归)模型:

   

  其中的D为已知的有监督的训练样本。Yi为样本标签,由可知,yi可以表示为一个高斯过程和一个随机变量的和。公式中的w是一个多维高斯分布。

  而  是一个高斯分布,并且它属于线性高斯分布。有上一篇博文机器学习&数据挖掘笔记_10(高斯过程简单理解)可知,如果高斯过程为线性的,即它的sample是在高维空间中的平面,要求它的核函数需满足k(xi,xj)=xi’*xj的形式,且均值函数为0,下面是它的证明过程:

   

  既然已经得知yi的中心是在一个高维空间的平面上,所以当新来的数据后,就可以预测它的均值也在该平面对应的位置上,这就达到了回归的目的。

  在将BLR(贝叶斯线性回归)扩展到GPR(高斯过程回归)前,来看看多维高斯分布的一些重要性质,第一个性质为两个相互独立的多维高斯分布A和B的和也是一个多维高斯分布C,且C的均值和方差都为A和B均值方差的和。第二个性质为:两个多维高斯分布之和构成的分布C而言,在已知一部分观察值C1的条件下,另一部分观察值C2的概率分布是一个多维高斯分布,且可以用A和B中对应的信息来表示。这2个性质的介绍如下:

   

  

  接下来就是要怎样利用高斯过程进行回归运算了。高斯过程回归的模型如下:

   

  其中的ya为需要预测的值,yb为观察到的值,当然了,xa和xb也是观察值。由前面博文机器学习&数据挖掘笔记_10(高斯过程简单理解)中介绍的高斯过程存在性定理可知,一旦我们确定了x上的u和k,就可以得到一个高斯过程Zx,此时的样本值Yi可以写成:  即两个独立的多维高斯变量之和。而利用上面多维高斯变量的性质,可推导出需要预测的ya在yb条件下的概率:

   

  上面的m和D有解析表达式,因此可以直接求,里面的的变量都是已知的。其中的m就是我们回归预测的值,而D就是此时预测的误差,两者表达式和前面类似,如下:

     

  由贝叶斯线性回归和高斯过程回归的对比可知,贝叶斯线性回归是高斯过程回归中的一个子集,只是它用的是线性核而已,通过两者的公式就可以看出它们之间的关系:

   

  上面是贝叶斯线性回归,下面是高斯过程回归。

 

  简单例子:

  假设现在已经观察到了6个样本点,x为样本点特征(一维的),y为样本输出值。现在新来了一个样本点,要求是用高斯回归过程来预测新来样本点的输出值。这些样本点显示如下;

   

  其中前面6个点是已知输出值的训练样本,其值为:

  第7个点是需要预测的样本,红色的垂直条形线表示观察输出值的误差,绿色的垂直条形线为用高斯过程回归的误差。

  用GPR解该问题的流程大概如下(对应前面讲的一些基础知识):

  1. 选择适当的u(均值函数)和k(核函数),以及噪声变量σ,其中核函数的选择尤其重要,因为它体现了需处理问题的先验知识,应根据不同的应用而选择不同的核。

  2. 计算出训练样本的核矩阵(6*6),如下:

   

  3. 计算需预测的点  与训练样本6个点的核值向量,如下:

  4. 自己和自己的核值为  且此时整个样本的多维高斯分布表达式为: 

  5. 通过前面m和D的公式,求得m=0.95,D=0.21.

  6. 画出最终结果如下:

  

  这个例子来源于论文Gaussian Processes for Regression A Quick Introduction中,它的核函数等参数选择和基础知识部分的不同,但这里主要是对GPR的应用有个简单的宏观上的理解,让大脑对GPR应用有个初步的印象,否则有了那么多的公式推导但不会应用又有什么用呢?

 

  参考资料:

     http://www.youtube.com/playlist?list=PLD0Z06AA0D2E8ZZBA

     Gaussian Processes for Regression A Quick Introduction, M.Ebden, August 2008.

     机器学习&数据挖掘笔记_10(高斯过程简单理解)

 

 

 

 

本文链接

分享到:
评论

相关推荐

    傻瓜机器学习笔记,简单例子&手推题目

    "傻瓜机器学习笔记,简单例子&手推题目" 本文档总结了机器学习的重要算法、技术和概念,涵盖了线性回归、逻辑回归、决策树、集成学习、支持向量机、朴素贝叶斯、GDA、高斯判别分析、BP 误差逆传播算法、卷积神经...

    吴恩达 Andrew Ng 机器学习 笔记翻译中英文都有

    【标题】"吴恩达 Andrew Ng 机器学习 笔记翻译中英文都有" 提供了我们今天要讨论的主题,这是关于机器学习的笔记,由知名学者吴恩达(Andrew Ng)教授讲授,并且包括了中英文两种语言的翻译。吴恩达是人工智能和机器...

    斯坦福大学机器学习课程个人学习笔记(下).zip

    在本压缩包中,我们可以看到一系列与机器学习和数据挖掘相关的个人学习笔记,特别是关注了高级技术如核方法、多组数据分析以及预测模型。以下是这些主题的详细解释: 1. **Kernel 矩阵与效率问题**:在机器学习中,...

    斯坦福大学机器学习.rar

    最后,(15)典型关联分析和(16)偏最小二乘法回归(PLSR)讨论了数据挖掘和回归分析的技术,前者用于发现变量之间的关系,后者则在高维数据中寻找简化模型的方法。 整体来看,这份笔记是全面的机器学习教程,不仅覆盖了...

    斯坦福大学机器学习课程个人笔记完整版.zip

    这份名为“斯坦福大学机器学习课程个人笔记完整版.zip”的压缩包文件包含了对斯坦福大学机器学习课程的全面笔记。这是一份宝贵的学习资源,涵盖了机器学习领域的主要概念、算法和理论,对于想要深入理解机器学习的...

    scikit-learn学习笔记.pdf

    Scikit-learn是Python编程语言中的一个强大机器学习库,被广泛用于数据挖掘、数据分析以及机器学习项目。这个库提供了一系列高效且易于使用的工具,帮助数据科学家进行预处理、建模、评估等任务。 **主要特点:** 1...

    scikitlearn学习笔记

    scikit-learn提供了简单而高效的工具用于数据挖掘和数据分析。它遵循商业开源协议(BSD许可证),意味着任何人都可以在没有任何访问限制的情况下重新使用和分发它。scikit-learn适用于监督学习和无监督学习,可以...

    《概率论与数理统计》讲义笔记

    贝叶斯定理则提供了一种更新先验概率为后验概率的方法,这在数据挖掘、推荐系统和诊断系统中有着广泛应用。 其次,数理统计是利用样本数据推断总体特性的学科。它包括参数估计和假设检验两大核心内容。参数估计通过...

    Data-Science-Skills-Practice

    数据科学是现代信息技术领域的一个重要分支,它涵盖了广泛的知识领域,包括编程、统计学、机器学习、数据分析等。"Data-Science-Skills-Practice"这个项目显然旨在帮助人们通过实践来提升这些技能。从描述来看,它...

    Mathematica.rar_数值算法/人工智能_Others_

    3. **人工智能**:Mathematica不仅限于基础的数值计算,它也包含了一些机器学习和人工智能的功能。例如,`Classify`和`Predict`函数可用于训练分类和回归模型,`NearestFunction`可以创建近邻搜索器,而`Machine...

Global site tag (gtag.js) - Google Analytics