高斯核函数 python实现

高斯过程 Gaussian Processes 是概率论和数理统计中随机过程的一种,是多元高斯分布的扩展,被应用于机器学习、信号处理等领域。本文对高斯过程进行公式推导、原理阐述、可视化以及代码实现,介绍了以高斯过程为基础的高斯过程回归 Gaussian Process Regression 基本原理、超参优化、高维输入等问题。

一元高斯分布公式
其概率密度公式如下:
 

 核函数(协方差函数)
核函数是一个高斯过程的核心,核函数决定了一个高斯过程的性质。核函数在高斯过程中起的作用是生成一个协方差矩阵(相关系数矩阵),衡量任意两个点之间的“距离”。最常用的一个核函数为高斯核函数,也成为径向基函数 RBF。其基本形式如下其中 。σ 和 h 是高斯核的超参数。

一个向量的范数有0范数、1范数、2范数、p范数、无穷范数等等,通常在右边的“||”右下角用小标表示,在机器学习中,没有写出来就算就算默认为表示 2范数

设向量x=(a1,a2……,an), 则  || x ||   表示向量  x  的2范数, 计算公式如下:

    

现在设 xi = (a1,a2,……,an)

            xj = (b1,b2,……,bn)

则这两个向量的2范数

 

# 定义核函数
   def kernel(self,x1,x2):                   # x1,x2为输入空间
       m,n = x.shape[0], x.shape[0]           #获取行数
       dist_matrix = np.zeros((m,n), dtype=float)   #全零核矩阵
       for i in range(m):
           for j in range(n):
               dist_matrix[i][j] = np.sum((x1[i]-x2[j])**2)    #向量差的平方和
       return np.exp(-0.5/self.h**2*dist_matrix)               #计算结果核矩阵

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫Ycg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值