这篇文章我将从感知机与神经网络的联系与差异进行小结。
感知机是一个二分类器,能够根据输入的特征将数据划分为两个类别,其过程就是使用一个直线或超平面将两类数据分开。它的基本结构包括输入、权重和激活函数。但是,感知机只能处理线性可分的问题。它依赖于一个全局最优解,可能会陷入局部最优解的困境。当我们处理复杂的分类问题时,需借助多层感知机。比如采用与电路,或、与非电路组合构成异或电路。多层感知机由多个隐藏层构成,每个隐藏层包含多个神经元。而从多层感知机到神经网络,只需将激活函数从阶跃函数修改为ReLU函数。相较于早期使用的sigmoid函数,ReLU函数更简单,求导的复杂度更低,而且能缓解梯度消失的问题。
我们为什么要引进神经网络呢?即使是计算机进行的复杂处理,理论上感知机也可以将其表示出来,但是设定权重的工作需由人工进行。而神经网络可以自动地从数据中学习到合适的权重参数。常见的有两种算法,前向传播和反向传播。前向传播指从输入层开始,通过每一层的加权和激活函数,将信号传递到下一层,每个神经元会接收上一层的输出,并根据权重和激活函数计算自己的输出,这个过程一直持续到输出层,产生最终的预测结果。反向传播是一种训练多层感知机的常用方法,通过计算预测结果与真实结果之间的误差,然后沿着网络反向调整权重,以最小化误差。