• 高斯分布


    高斯过程是定义在y上的高斯分布。高斯过程与核函数紧密相连,定义在y上的高斯分布正是通过核函数表示出来的。与线性回归相比,高斯过程没有建立y和x的直接关系,而是通过核函数的方式直接建立y之间的关系。在线性回归模型中,我们假设某个y的取值服从一个高斯分布,即y的均值是参数w的一个线性关系,之间的关系通过w的协方差表现出来。如果给定一个先验,那么可以计算出y的协方差矩阵,如下:

     (1)

    注意到上面的矩阵是一个N×M的设计矩阵,矩阵的每一行表示训练集中的一个特征向量,令,是一个N×N的矩阵,K矩阵的第m行第n列的元素是表示一个核函数。因此y的协方差矩阵可以通过核函数表示出来。那么什么是核函数呢?核函数是一个二元函数,定义为两个向量的内积:

    可以理解为两个点之间的相似关系。我们可以从核函数的角度重新理解线性回归。在线性回归中,我们认为,是一个特征向量,用最小二乘法的损失函数如下所示:

    (2)

    对其进行求导,并令导数等于0,我们可以得到如下等式:

      (3)

    其中:

    现在我们将公式(3)代入线性模型,得到

       (4)

    是一个核函数向量,它的每个元素,上述过程可以认为是由特征向量向核向量转化的过程,也可以看作一个新的特征向量。区别在于,原来的特征向量是一个有穷维的,而新的核向量是一个无穷维的。我们称公式(4)是原来线性模型的对偶形式,特点在于可以通过核函数的方法把y之间的关系表示出来,而没有引入额外的参数w,这种特性天然的和高斯过程联系在一起,高斯过程的优点也正在于我们可以定义各种各样的核函数表示y之间的协方差,而不必明确指定出x的特征向量。高斯过程摒弃了线性模型参数的思想,直接通过核函数建立y之间的关系,从一个有参模型过度到无参模型。

    上面讨论了高斯过程的定义以及高斯过程中用到的核函数,如何用高斯过程进行回归呢。这就要利用高斯分布的特点。如何y是一个服从高斯分布的M维向量,分别是y的两部分,那么它们各自的边缘分布也都是高斯分布,并且条件分布也服从高斯分布。现在我们假设有N个训练集,并且要预测第N+1个数据x对于的y。我们的做法是,假设这N+1个数据服务高斯分布,并给定一个核函数,那么我们就可以计算出N+1个数据的协方差矩阵记作。并且将该矩阵分解为两部分

    我们已知分布,因为协方差矩阵是由核函数给出的,当我们给定一个核,协方差就可以根据x得到。这样根据高斯分布的性质很容易得到:

    用核函数的方法表示协方差矩阵是高斯过程的重要的一部分,它避免了直接建立x和y的关系,从而解决了那些不能用确定特征向量表示的问题,如文本长度。高斯过程可以用于回归和分类并且可以用来进行特征提取,如ARD。

    1 Pattern recognition and machine learning (第六章)作者:Christopher M.Bishop

    2 machine learning a probabilistic perspective (第十四章、第十五章)作者Kevin P. Murphy

  • 相关阅读:
    python 面向对象编程
    用python写个快排
    函数(参数,作用域,返回函数,匿名函数,偏函数)
    SpringBoot学习4:springboot整合listener
    SpringBoot学习1:创建第一个SpringBoot项目
    SpringBoot学习2:springboot整合servlet
    SpringBoot学习3:springboot整合filter
    使用FreeMarker导出word文档(支持导出图片)
    MySQL中实现递归查询
    MySQL中find_in_set()函数的使用
  • 原文地址:https://www.cnblogs.com/lijiankou/p/3271769.html
Copyright © 2020-2023  润新知