我已经向其他AI民众提出了这个问题,但我并没有给出满意的答案.
对于之前编程过人工神经网络的其他人来说,你如何测试其正确性?
我猜,另一种说法是,如何调试神经网络背后的代码?
对于神经网络,通常情况下您正在使用未经训练的神经网络,并且您正在使用给定的数据集进行训练,以便它以您期望的方式进行响应.这是交易; 通常情况下,您可以根据自己的投入对其进行一定程度的培养.一般来说(这也是一般情况;你的里程可能会有所不同),你不能让神经网络始终提供正确的答案; 相反,你正在得到正确答案的估计,在一个置信范围内.根据您对网络的培训方式,您知道自信范围.
问题出现了,如果你不能确定他们得出的结论是否可以证实是正确的,你为什么要使用神经网络呢?答案是神经网络可以在线性时间内获得某些类别问题(特别是NP完全问题)的高可信度答案,而NP-Complete问题的可验证正确解决方案只能在多项式时间内得出.通俗地说,神经网络可以"解决"正常计算无法解决的问题; 但你只有一定的百分比才能确信你有正确的答案.您可以通过训练方案确定这种信心,通常可以确保您至少有99.9%的置信度.
在大多数"软计算"中,正确性是一个有趣的概念.我能告诉你的最好的结果是:"当神经网络始终满足其设计参数时,它是正确的." 您可以通过使用数据进行训练,然后使用其他数据进行验证,并在中间使用反馈循环来告知您神经网络是否正常运行.
当然,这仅适用于足够大的神经网络,其中无法直接证明正确性.它可以证明,一个神经网络是正确的,通过分析,如果你正试图建立一个学习XOR或类似神经网络,但对于该类问题的人工神经网络是很少有必要.