1

我正在尝试绘制感知器算法的决策边界,并且对一些事情感到非常困惑。我的输入实例采用 [(x1,x2),target_Value] 的形式,基本上是一个二维输入实例和一个 2 类 target_value [1 或 0]。

因此,我的权重向量采用以下形式: [w1,w2] 现在我必须加入一个额外的偏置参数 w0,因此我的权重向量变成 3x1 向量?它是 1x3 向量吗?我认为它应该是 1x3,因为向量只有 1 行和 n 列。

现在假设我将 [w0,w1,w2] 实例化为随机值,我将如何为此绘制决策边界?这意味着 w0 在这里表示什么?w0/norm(w) 是决策区域到原点的距离吗?如果是这样,我如何捕获它并使用 matplotlib.pyplot 或其 matlab 等效项在 python 中绘制它?在这件事上,即使是一点点帮助,我也将不胜感激。

from pylab import norm
import matplotlib.pyplot as plt

n = norm(weight_vector) #this is of the form [w0,w1,w2], w0 is bias parameter
ww = weight_vector/n   #unit vector in the direction of weight_vector
ww1 = [ww[1],-ww[0]]
ww2 = [-ww[1],ww[0]]
plot([ww1[0], ww2[0]],[ww1[1], ww2[1]],'--k')

在这里,我想结合 w0 参数来指示权重向量与原点的位移距离,因为这就是 w0/norm(w) 所表示的?

当我绘制下面评论中提到的向量时,我得到一个长度非常小的向量,我怎么可能在两个方向上扩展这个决策边界?

4

1 回答 1

3

由于您的决策函数很简单sgn(w1*x+w2*y+w3),因此决策边界方程是一条具有规范形式的线w1*x + w2*y + w3 = 0

|w3|/||w||是到原点的距离,w3本身并没有很好的几何解释(只要w不是单位长度)。

为了用这样的方程画线,你可以简单地画一条线通过(0,-w3/w2)(-w3/w1,0)(假设两者w1都是w2非零的)

于 2013-09-28T16:21:54.127 回答