python有专门的神经网络库,但为了加深印象,我自己在numpy库的基础上,自己编写了一个简单的神经网络程序,是基于Rosenblatt感知器的,这个感知器建立在一个线性神经元之上,神经元模型的求和节点计算作用于突触输入的线性组合,同时结合外部作用的偏置,对若干个突触的输入求和后进行调节。为了便于观察,这里的数据采用二维数据。
目标函数是训练结果的误差的平方和,由于目标函数是一个二次函数,只存在一个全局极小值,所以采用梯度下降法的策略寻找目标函数的最小值。
代码如下:
import n
import timeit
#字典是将键(key)映射到值(value)的无序数据结构。
#值可以是任何值(列表,函数,字符串,任何东西)。键(key)必须是不可变的,例如,数字,字符串或元组
#比如用列表当做key会报错
webstersDict = {'person': 'a human being, whether an adult or child',
'marathon': 'a running race that is about 26 miles'