在matplotlib中绘制最小二乘估计函数的等高线图

价过程

为了可视化线性回归模型的梯度下降,我正在尝试为以下mse函数绘制等高线图

import jax.numpy as jnp
import numpy as np

def make_mse(x, t):  
  def mse(w,b): 
    return np.sum(jnp.power(x.dot(w) + b - t, 2))/2
  return mse 

图的xy轴对应于wb参数。

xt是不相关的情节,因为值x只是被乘以单值w各一次。

我正在尝试执行以下操作:

x = np.linspace(-1.0,1.0,500)
t = 5*x + 1

xcoord = np.linspace(-10.0,10.0,50)
ycoord = np.linspace(-10.0,10.0,50)
w1,w2 = np.meshgrid(xcoord,ycoord)

Z = make_mse(x, t)(w1,w2)

但是,我发现点积出现明显错误:

/usr/local/lib/python3.7/dist-packages/jax/_src/lax/lax.py in dot(lhs, rhs, precision, preferred_element_type)
    634   else:
    635     raise TypeError("Incompatible shapes for dot: got {} and {}.".format(
--> 636         lhs.shape, rhs.shape))
    637 
    638 

TypeError: Incompatible shapes for dot: got (1000, 1) and (50, 50).

有什么pythonic有效的方法可以绘制此函数的轮廓图?

桑迪潘·戴(Sandipan Dey)

您不需要,np.sum()因为您想要每个网格点的MSE,而不是它们的总和。另外,和的尺寸x必须匹配。以下作品:

import numpy as np

def make_mse(x, t):  
  def mse(w,b): 
    return np.power(x.dot(w) + b - t, 2)
  return mse 

x = np.linspace(-1.0,1.0,500)
t = 5*x + 1

xcoord = np.linspace(-10.0,10.0,500)
ycoord = np.linspace(-10.0,10.0,500)
w1,w2 = np.meshgrid(xcoord,ycoord)

Z = make_mse(x, t)(w1,w2)
plt.contourf(w1,w2,Z)

具有以下输出轮廓

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R中自定义函数的等高线图

来自分类Dev

给定范围内的matplotlib等高线图

来自分类Dev

Matplotlib:如何为等高线图调整颜色栏中的线宽?

来自分类Dev

等高线图x标签

来自分类Dev

使用Matplotlib滑块更新等高线图级别

来自分类Dev

为什么绘制二维数组时matplotlib等高线图失败

来自分类Dev

Python Matplotlib等高线图中的非线性缩放

来自分类Dev

Matlab:用等高线填充等高线图

来自分类Dev

多元高斯的等高线图

来自分类Dev

等高线图二元对数正态密度函数python

来自分类Dev

从数据框创建等高线图

来自分类Dev

填充matplotlib等高线图

来自分类Dev

填充matplotlib等高线图

来自分类Dev

在给定范围内的matplotlib等高线图

来自分类Dev

从matplotlib等高线图中提取特定路径

来自分类Dev

八度等高线图

来自分类Dev

等高线图x标记

来自分类Dev

等高线图例-Matplotlib

来自分类Dev

Matlab:用等高线填充等高线图

来自分类Dev

Matplotlib等高线图上颜色栏的Python最小和最大范围

来自分类Dev

使用函数绘制等高线图

来自分类Dev

坏等高线图

来自分类Dev

在 matplotlib 等高线图中设置轴比例

来自分类Dev

条件等高线图

来自分类Dev

Gnuplot - 在二维等高线图上绘制数据点

来自分类Dev

平滑边缘等高线图

来自分类Dev

在海岸线上绘制等高线图的底图

来自分类Dev

Python 中 matplotlib 等高线图的 ValueError

来自分类Dev

散景中的等高线图