感知器是由美国计算机科学家罗森布拉特(F.Roseblatt)于1957年提出的。感知器可谓是最早的人工神经网络。单层感知器是一个具有一层神经元、采用阈值激活函数的前向网络。通过对网络权值的训练,可以使感知器对一组输人矢量的响应达到元素为0或1的目标输出,从而实现对输人矢量分类的目的。
下图是一个感知器:
可以看到,一个感知器有如下组成部分:
01 输入权值:
其中,每一个输入分量Xj(j=1,2…,r)通过一个权值分量wj,进行加权求和,并作为阈值函数的输人。偏差 b的加入(对应上图中的 w0,这样是便于书写和理解)使得网络多了一个可调参数,为使网络输出达到期望的目标矢量提供了方便。感知器特别适合解决简单的模式分类问题。
02 激活函数:
激活函数则有较多的选择,较为常见的有sigmoid函数和阶跃函数,这里以阶跃函数为例!
03 输出:
感知器的输出则由如下公式计算得出:
感知器有个屌用呢?F.Roseblatt 已经证明,如果两类模式是线性可分的(指存在一个超平面将它们分开),则算法一定收敛。
举个例子:很多的呀,比如最简单的的布尔运算。可以看作是二分类问题,即给定一个输入,输出0(属于分类0)或1(属于分类1)。它还可以拟合任何的线性函数,任何线性分类或线性回归问题都可以