java版 高斯过程,三维高斯过程回归
我对高斯过程和python也很陌生 . 我试图为3d模型生成一个非常简单的高斯回归 .
我有一个非常简单的函数Python代码:
import numpy as np
def exponential_cov(x, y, params):
return params[0] * np.exp( -0.5 * params[1] * np.subtract.outer(x, y)**2)
def conditional(x_new, x, y, params):
B = exponential_cov(x_new, x, params)
C = exponential_cov(x, x, params)
A = exponential_cov(x_new, x_new, params)
mu = np.linalg.inv(C).dot(B.T).T.dot(y)
sigma = A - B.dot(np.linalg.inv(C).dot(B.T))
return(mu.squeeze(), sigma.squeeze())
import matplotlib.pylab as plt
# GP PRIOR
tu = [1, 10]
Si_tu = exponential_cov(0, 0, tu)
xpts = np.arange(-5, 5, step=0.01)
plt.errorbar(xpts, np.zeros(len(xpts)), yerr=Si_tu, capsize=0, color='#95daed', alpha=0.5, label='error') #error
plt.plot(xpts, np.zeros(len(xpts)), linestyle='dashed', color='#3105b2', linewidth=2.5, label='mu'); #mu
# GP FOR 1ST POINT
x = [1.]
y = np.sin(x)+np.cos(np.sqrt(15)*x)
Si_1 = exponential_cov(x, x, tu)
def predict(x, data, kernel, params, sigma, t):
k = [kernel(x, y, params) for y in data]
Sinv = np.linalg.inv(sigma)
y_pred = np.dot(k, Sinv).dot(t)
sigma_new = kernel(x, x, params) - np.dot(k, Sinv).dot(k)
return y_pred, sigma_new
x_pred = np.linspace(-5, 5, 1000) #change step here!!
print "x_pred="
print(x_pred)
predictions = [predict(i, x, exponential_cov, tu, Si_1, y) for i in x_pred]
y_pred, sigmas = np.transpose(predictions)
print "y_pred ="
print(y_pred )
print "sigmas ="
print(sigmas )
# GP FOR 2ND POINT
m, s = conditional([-1], x, y, tu)
y2 = np.sin(-1)+np.cos(np.sqrt(15)*(-1))
x.append(-1)
y=np.append(y,y2)
Si_2 = exponential_cov(x, x, tu)
predictions = [predict(i, x, exponential_cov, tu, Si_2, y) for i in x_pred]
y_pred, sigmas = np.transpose(predictions)
print "y_pred ="
print(y_pred )
print "sigmas ="
print(sigmas )
通过使用这段代码,我得到函数 np.sin(x) + np.cos(np.sqrt(15) * x) 的非常好的拟合结果,但我真正想做的是为函数 Z = np.sin(2*X) * np.cos(2*Y) / 2 尝试相同的高斯过程 .
我知道这个想法基本相同,但是我无法将我的python代码调整到[x,y]输入以获得z .
我将非常感谢您的帮助,提示或链接!
java版 高斯过程,三维高斯过程回归相关推荐
- java版 高斯过程_高斯过程scikit-learn - 异常
我想使用高斯过程来解决回归任务 . 我的数据如下:每个X向量的长度为37,每个Y向量的长度为8 . 我正在使用 Python 中的 sklearn 包,但尝试使用高斯进程会导致 Exception : ...
- 我的世界中国版java版不更新_我的世界中国版PCJava版开测 正版玩家回归奖励公布...
欢迎冒险家回归 家族盛典福利不断<我的世界>中国版PC Java版不限号测试的开启,意味着回家的大门已经向所有玩家敞开.中国版大家庭也为回归的冒险家准备了丰富的活动和福利.所有8日当天回归 ...
- 3310复刻版 java_诺基亚3310复刻版评测:经典回归 情怀满满
诺基亚3310复刻版评测:经典回归 情怀满满转眼又到毕业季,一张张青春洋溢的笑脸挥别了高中生活,带着对未来的憧憬奔向了更美好的明天.对于00后来说,微信微博是他们的青春,智能手机更是伴随着他们长大的的 ...
- 程序设计天梯赛——T1(15分)java版
程序设计天梯赛--java版 文章目录 程序设计天梯赛--java版 3-个位数统计 输入格式: 输出格式: 输入样例: 输出样例: 5-考试座位号 输入格式: 输出格式: 输入样例: 输出样例: 1 ...
- 常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构)
常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构) 数据结构和算法作为程序员的基本功,一定得稳扎稳打的学习,我们常见的框架底层就是各类数据 ...
- 我的世界1.6.4java下载_我的世界Java版1.16.4
我的世界Java版1.16.4是一款结合创造与冒险两种元素的像素沙盒创造类游戏,这款游戏绝对是玩家锻炼想象力以及创造力的不错选择,因为这款游戏的工具非常多,玩家完全不需要担心材料不够的问题,如此自由的 ...
- pc java版手机_《我的世界》PCJava版不限号开测 手机版首度曝光
[17173独家专稿,转载请注明出处] 8月8日14点,<我的世界>中国版正式开启PC Java版不限号测试.对于这款风靡全球的沙盒游戏,国内玩家不必付费购买游戏,也无需邀请码,便可以直接 ...
- java福利游戏_《我的世界中国版》PC Java版开测 家族盛典福利不断
导 读 8月8日14点,<我的世界>中国版正式开启PC Java版不限号测试.从今日起,对于这款风靡全球的沙盒游戏,国内玩家不必付费购买游戏,也无需邀请码,便可以直接下载游戏,开启新的旅程 ...
- 我的世界电脑java版服务器,《我的世界》中国版PC Java版不限号 Hypixel闪电饥饿游戏...
随着<我的世界>中国版PC Java版不限号测试正式开启,喜欢探索与创造的冒险家们,终于能够零门槛地回归这片无比自由的方块世界. 除了基础的生存和创造模式,遍布全球的游戏玩家,基于< ...
- java和基岩版区别_我的世界基岩版与Java版有什么区别?
我的世界是一款受到非常多玩家喜爱的沙盒建造游戏,玩家可以在三维世界里做任何自己想做的事情.很多小白玩家分不清基岩版和Java版的区别.为此,小编特意收集了资料给大家分享一下本篇教程,希望能够帮助到大家 ...
最新文章
- 形状变化html,图形变换的三种方式是什么?
- ListView 与 它里面的Item 点击滑动冲突
- python uwsgi_Python Web 程序使用 uWSGI 部署
- 计算机应用基础抢答题,计算机应用基础问答题
- Windows常用快捷键整理
- linux下大文件裁剪,Linux系统裁剪(2)之Linux系统裁剪
- HIVE--数据倾斜解决办法
- Egret入门学习日记 --- 第十八篇(书中 8.5~8.7 节 内容)
- PHP问题 —— failed to open stream: HTTP request faile
- 计算机网络中的mac全称,计算机网络中MAC地址与IP地址
- 数据库同步功能要慎用
- Formtec.NCspeed.v5.1.0.4
- android运行微信小程序,【报Bug】微信小程序在Android真机运行时报错atob is not a function...
- leaflet 画扇形
- 计算机维护维修是干啥的,IT维护主要做些什么工作?
- AspectJ 切入点表达式
- 《带你学C带你飞》—— SE54位操作
- 删除数据库表中重复的记录
- 超级全的PCB LAYOUT高速信号走线指南
- 初试 Kubernetes 集群使用 CephFS 文件存储