目前神经网络方面用得最广的无疑是Python,但搭建Python的环境还是一个问题,因为本身Python就有版本2和版本3的区分,又有各个依赖包(所以,需要使用conda配置各个Python环境)。但JavaScript则不存在这个问题,只需要有node和浏览器就可以进行学习和使用。 而且随着技术的发展,未来智能是要嵌入到各个设备、并且需要即时响应的,比如网页浏览,如果可以直接在网页上完成神经网络的训练,一方面提高响应速度,另一方面又降低了服务器的消耗。所以,学习使用js搭建小型的神经网络很有必要。 今天我们使用开源js库——synaptic.js来搭建一个简单的神经网络——解决异或问题(XOR)的神经网络。 神经网络基础知识 首先温习一下神经网络的基础知识。神经网络的基础单元是神经元。 神经元就像是一个函数,又称激活函数,输入数据,然后给出输出结果。神经元有很多类型,我们使用sigmoid神经元,亦即一个特定的函数。