假设你有3个输入:A
、B
、C
。人工神经网络(不一定是前馈型)能学会这种模式吗?
if C > k output is Aelse output is B
有没有特定类型的网络适合解决这种问题,或者哪些网络在这类问题上表现得特别好?
回答:
是的,这对于前馈神经网络来说是一个相对容易学习的模式。
我认为你至少需要3层,假设使用的是Sigmoid函数:
- 第一层可以测试C是否大于k(并且可能还可以将A和B缩放到Sigmoid函数的线性范围内)
- 第二层可以根据第一层的输出计算A/0和0/B
- 第三层(输出层)可以进行加权求和以输出A/B(根据你希望的值的规模,你可能需要将这一层设为线性而不是Sigmoid)
尽管如此,如果你真正了解你的问题的结构以及你想要进行的计算类型,那么神经网络不太可能是最有效的解决方案:它们更适合在你对所需的精确计算知之甚少的情况下,用于建模函数/关系。