这个神经网络可以进行分离吗?
Can this neural network perform separation?
我有三个类点:
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 for j != i)
b) 将样本 (-1,6) 添加到 C1。现在,网络可以学习分离样本吗?
我不知道如何解决这个问题。我不需要指定实际权重,但我如何确定网络是否能够分离样本?这可以纯粹以图形方式完成吗,还是有书面证明?
从以下代码生成的图表可以看出
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()
数据可以很容易地用线性线分开,只有一层的感知器也就是神经网络可以学习分开线性数据
具有几层的完整神经网络,可以产生非线性分离,因此很容易做到
我有三个类点:
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 for j != i)
b) 将样本 (-1,6) 添加到 C1。现在,网络可以学习分离样本吗?
我不知道如何解决这个问题。我不需要指定实际权重,但我如何确定网络是否能够分离样本?这可以纯粹以图形方式完成吗,还是有书面证明?
从以下代码生成的图表可以看出
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()
数据可以很容易地用线性线分开,只有一层的感知器也就是神经网络可以学习分开线性数据
具有几层的完整神经网络,可以产生非线性分离,因此很容易做到