线性问题与感知机
神经网络的最大优势是模拟生物神经网络的并行分布式架构,这种“道法自然”的启迪在网络的并行式训练、知识的分布式存储方面,对神经网络的学习和泛化能力的提高起到了很好的推动作用。
然而,目前有一个关键的问题人类依然没有解决,就是人类的脑细胞工作效率极低,数以亿计的神经元不断通过多巴胺传递着兴奋和抑制两种状态信息,这个工作频率最高值却仅为100Hz左右,正是这种高效率低能耗的神秘结构引领者神经网络的不断发展。可以说,人工神经网络不断改进与优化的进程也是人类对脑科学的不断认知的过程,因此,目前我们对神经网络的研究与模拟依然还有很长的路要走。
如果说M-P神经元是一切神经网络学习的起点,那么感知机模型就如同入门神经网络的“hello world”一样。神经元(neuron)就是由细胞体和突触构成的神经细胞(nerve cell)。它是我们现在所有对神经网络模拟、研究的最基本的单元。
具体来讲,神经元模型由三部分构成:
(1)网络连接权重模拟真实神经元之间的连接强度
(2)神经元细胞体对所有输入信号做加权求和,并汇总外界刺激。
(3)激励函数相当于真实神经元的响应阈值,控制输出信号的幅度,具有归一化功能。
神经元数学表达式与逻辑回归、支持向量机的超平面“形似而神也似”。
sk=wk1x1+wk2x2+....+wknxn-0k
yk=f(sk)
随着神经网络的研究深入,1957年,康内尔大学教授Frank Rosenblatt发明了感知机(perceptron)模型。当时的感知机是由神经元构成的两层网络结构,输入层接收输入信号,激活函数将信号汇聚集合并处理,最后把处理后的信号输出至由M-P神经元构成的输出层,也叫做阈值逻辑单元(threshold logic unit)。需要指出的是,这个感知机模型只有一个激活功能神经元,这也是其性能瓶颈所在。本质上讲,感知机模型是一种具有分类功能的监督机器学习方法。
下面我们采用阶跃函数作为激活函数,按照下表的真值表,实现具有逻辑与、或、非运算功能的感知机。(为表达方便,权重w我们没有进行归一化)
x1 | x2 | y |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
x1 | x2 | y |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
与(AND)
x1^x2,令w1=w2=1,O=1.5,则y=f(1*x1+1*x2-1.5),当x1=x2=1时,y=1;
或(OR)
x1并x2,令w1=w2=1,O=0.5,则y=f(1*x1+1*x2-0.5),当x1=1或x2=1时,y=1;
非(NOT)
非x1,令w1=-4,w2=0,O=-2,则y=f(-4*x1+0*x2+2),当x1=1时,y=0;x1=0时,y=1.
为了统一训练学习网络权重,阈值O可以看作是权重wn+1固定为-1的哑结点(dummy node),这样在给定训练数据集上,参数都可以作为权重(wi和阈值O)进行统一训练。