【问题标题】:Plotting decision boundary for a neural network with two layers?绘制具有两层的神经网络的决策边界?
【发布时间】:2019-06-21 06:46:28
【问题描述】:

所以我目前已经制作了一个带有一层的神经网络(我不知道你是否称它为神经网络或只是感知器)。我的问题是我现在正在尝试将其扩展为两层网络,并且我想绘制此决策边界。我将第一层的权重存储在 $W$ 中,将第二层的权重存储在 $V$ 中。我一直用于感知器的代码如下:

def plotting(classA, classB, tot_class):
    w = perceptron2(X,t,100)
    print(w)
    area = np.pi*3
    plt.scatter(classA[:,0], classA[:,1], s = area, c='b', alpha=0.5)
    plt.scatter(classB[:,0], classB[:,1],s=area, c= 'r', alpha = 0.5)
    grid = np.linspace(np.amin(tot_class),np.amax(tot_class))
    y = []
    for x in grid:
        slope = -(w[0][0] / w[0][2]) / (w[0][0] / w[0][1])
        intercept = -w[0][0] / w[0][2]
        y.append((slope*x) + intercept)
    plt.plot(grid,y, color = 'black')
    plt.show()

但是说实话,如果我希望我的数据集是线性可分的,我就没有任何理由实现神经网络,所以显然我不能将方程用于直线,但我该如何处理呢?我的第一个想法是绘制我的目标为 0 的函数(即,它有 50% 的机会被限定为 -1 或 +1),但这真的是我应该采用的方式吗?

【问题讨论】:

    标签: python matplotlib neural-network


    【解决方案1】:

    一种解决方案是在绘图区域上定义一个网格,并让感知器预测每一个值。然后你可以用一种颜色绘制所有的 A 类预测,用另一种颜色绘制 B 类预测。 两种颜色之间的线就是决策边界。

    看看this answer

    【讨论】:

    • 抱歉回复晚了,我觉得这个答案很有帮助,我想我已经解决了!
    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 2014-02-26
    • 2017-02-03
    • 1970-01-01
    • 2013-10-03
    • 2021-07-30
    相关资源
    最近更新 更多