从权重向量绘制决策边界

时间:2017-07-16 10:42:11

标签: r ggplot2

如何从权重向量绘制决策边界? 我的原始数据是二维的,但是非线性可分,所以我使用了阶数为2的多项式变换,因此我最终得到了一个6维权重向量。 这是我用来生成数据的代码:

polar2cart <- function(theta,R,x,y){
  x = x+cos(theta) * R
  y = y+sin(theta) * R
  c=matrix(x,ncol=1000)
  c=rbind(c,y)
}

cart2polar <- function(x, y)
{
  r <- sqrt(x^2 + y^2)
  t <- atan(y/x)
  c(r,t)
}

R=5
eps=5
sep=-5
c1<-polar2cart(pi*runif(1000,0,1),runif(1000,0,eps)+R,0,0)
c2<-polar2cart(-pi*runif(1000,0,1),runif(1000,0,eps)+R,R+eps/2,-sep)

data <- data.frame("x" = append(c1[1,], c2[1,]), "y" = append(c1[2,], c2[2,]))
labels <- append(rep(1,1000), rep(-1, 1000))

以及它的显示方式(使用ggplot2):

link

提前谢谢。

编辑:如果我没有提供有关权重向量的足够信息,我很抱歉。我使用的算法是pocket,它是感知器的变体,这意味着输出权重向量weight是确定特征空间中的超平面加上偏差{{0}的垂直向量。 }。因此,超平面方程是bias,其中equ是变量。现在,由于我使用2阶多项式变换从2维空间到5维空间,我的变量是:vars因此我的决策边界的等式是:newvars 所以基本上,我的问题是如何在给定neweq

的情况下绘制决策边界 PS:我在等待时找到了一个解决方案,它可能不是最好的方法,但是它给出了预期的结果。如果有人有兴趣,我会在完成项目后立即分享。与此同时,我喜欢听到更好的选择。

0 个答案:

没有答案