matlab contourf设置范围,如何使用matlab contourf绘制二维决策边界

我知道这已经有一段时间了,但我会试一试,以防其他人提出这个问题。

假设我们有一个2D训练集来训练SVM模型,换句话说特征空间是一个2D空间。我们知道,一个核SVM模型导致得分(或决定)的形式的函数:

F(X)=总和I = 1至N(一个我ý我 K(X,X我))+ b

其中N是支持向量的数目,X我是我个支持向量,一个我是估计的拉格朗日乘数以及ÿ我相关联的类别标签。决策函数的值(分数)描绘了从决策边界观察的距离x。

现在假设对于2D特征空间中的每个点(X,Y),我们都可以找到决策函数的相应得分。我们可以绘制在3D欧几里德空间,其中X对应于第一特征矢量的数值F ,Y至第二特征的数值F 的结果,以及Z到决策功能的返回为每个点(X,Y)。这个3D图形与Z = 0平面的交集为我们提供了二维特征空间的决策边界。换句话说,假设决策边界由分数等于0的(X,Y)点形成。似乎逻辑上的权利?

现在在MATLAB中,你可以很容易地做到这一点,首先创建在X网格,Y空间:

d = 0.02;

[x1Grid,x2Grid] = meshgrid(minimum_X:d:maximum_X,minimum_Y:d:maximum_Y);

d根据电网所需的分辨率选择。

那么对于一个训练有素的模型SVMModel找到每一个网格点的分数:

xGrid = [x1Grid(:),x2Grid(:)];

[~,scores] = predict(SVMModel,xGrid);

最后画出决策边界

figure;

contour(x1Grid,x2Grid,reshape(scores(:,2),size(x1Grid)),[0 0],'k');

轮廓给了我们一个2D图形,其中约3号信息尺寸在2D平面中以实线表示。这些线表示具有相同Z值的等响应值,换句话说(X,Y)点。在我们的场合,轮廓给了我们决定的界限。

希望我帮助让这一切变得更加清晰。您可以通过以下链接找到非常有用的信息和示例:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值