【问题标题】:Can this neural network perform separation?这个神经网络可以进行分离吗?
【发布时间】:2018-09-24 21:36:29
【问题描述】:

我分三类:

C1: {(4,1), (2,3), (3,5), (5,4), (1,6)}

C2: {(0,2), (-2,2), (-3,2), (-2,4)}

C3: {(1,-2), (3,-2)}

我还有一个带有 2 个输入、一个偏置项和三个输出的单层感知器。

a) 网络可以学会分离样本吗? (假设我们想要 yi = 1 如果 x ∈ Ci 并且 yj = -1 对于 j != i)

b) 将样本 (-1,6) 添加到 C1。现在,网络能学会分离样本吗?

我不知道如何解决这个问题。我不需要指定实际权重,但我如何确定网络是否能够分离样本?可以纯图形化,还是有书面证明?

【问题讨论】:

    标签: machine-learning neural-network classification perceptron


    【解决方案1】:

    从下面代码生成的图表可以看出

    import matplotlib.pyplot as plt
    
    C1 = [(4,1), (2,3), (3,5), (5,4), (1,6), (-1,6)]
    C2 = [(0,2), (-2,2), (-3,2), (-2,4)]
    C3 = [(1,-2), (3,-2)]
    
    plt.scatter([i[0] for i in C1],[i[1] for i in C1], c='b')
    plt.scatter([i[0] for i in C2],[i[1] for i in C2], c='r')
    plt.scatter([i[0] for i in C3],[i[1] for i in C3], c='g')
    plt.show()
    

    数据可以很容易地用线性线分离,感知器又名神经网络只有一层就可以学会分离线性数据

    一个只有几层的完整神经网络,可以产生非线性分离,所以很容易做到

    【讨论】:

    • 这很有意义,谢谢。为了证明这一点,你会画两条线并解释它们将数据分开吗?还是三行?
    • 老兄,我不会为你做整个硬件......你可以轻松地画两条线,让你完全分离
    猜你喜欢
    • 2018-02-19
    • 2021-08-24
    • 1970-01-01
    • 2019-08-23
    • 2020-11-01
    • 2020-05-16
    • 2013-08-03
    • 1970-01-01
    • 2016-11-20
    相关资源
    最近更新 更多