使用 2 层 BDN 网络学习逻辑功能 - 手动权重设置规则问题?

数据挖掘 神经网络 初学者 理论
2021-09-27 22:06:36

因此,我正在尝试构建一个由 McCullough 和 Pitts (1943) 提出的二元决策神经元的 2 层网络,以学习逻辑函数(AND 和 OR 的组合),例如: ((¬x1x3)(¬x2x1x3))

我已经尝试构建一个 2 层网络,我相信它应该能够学习这个功能,每个神经元 h1 通过 h3 执行单个逻辑操作。

网络架构

然而,我对逻辑和 BDN 作为一个整体缺乏理解,导致我在考虑 McCullough Pitts 提出的权重设置规则时认为我的网络是不正确的(j 是神经元索引,k 是输入索引):

wjk=1 如果 F(xk)=¬xk

wjk=1 如果 F(xk)=xk

据我了解,如果该输入在神经元的公式中被否定,则将每个输入的权重设置为 -1,否则设置为 1。我能够轻松地计算出第一层的这些值,但在我对第二层如何工作的知识上却出现了一个漏洞。我以为h3 需要 y1y2 作为输入,而不是 xk,所以我看不到如何应用上述规则。

我希望也许对神经网络有更深入了解的人可以向我解释如何将权重设置规则应用于第二层,我目前认为这意味着 w=1 如果 F(yi)=yi 反之亦然,但我认为这是错误的。

0个回答
没有发现任何回复~