一、综述
感知器(英语:Perceptron)是Frank Rosenblatt在1957年就职于康奈尔航空实验室(Cornell Aeronautical Laboratory)时所发明的一种人工神经网络。它可以被视为一种最简单形式的前馈神经网络,是一种二元线性分类器。
Frank Rosenblatt给出了相应的感知机学习算法,常用的有感知机学习、最小二乘法和梯度下降法。譬如,感知机利用梯度下降法对损失函数进行极小化,求出可将训练数据进行线性划分的分离超平面,从而求得感知机模型。
在人工神经网络领域中,感知机也被指为单层的人工神经网络,以区别于较复杂的多层感知机(Multilayer Perceptron)。作为一种线性分类器,(单层)感知机可说是最简单的前向人工神经网络形式。尽管结构简单,感知机能够学习并解决相当复杂的问题。感知机主要的本质缺陷是它不能处理线性不可分问题。
在神经网络、支持向量机等算法盛行的当下,感知机模型应用得并不多,但其却是神经网络和支持向量机的基础,所以还是很有必要学习一下的,本文接下来的内容将从感知机数学描述、损失函数、两个方面详细介绍感知机。
二、模型介绍
1.数学定义
对于给定的训练集D={ (xi,yi)}i=1m,xi∈X⊆RnD=\{(x_{i},y_{i})\}_{i=1}^{m},x_{i}\in X\subseteq R^{n}D={ (xi,yi)}i=1m,xi∈X⊆Rn表示训练样本的特征向量,yi∈Y={ +1,−1}y_{i}\in Y=\{+1,-1\}yi∈Y={ +1,−1}表示样本类别,它们之间有如下关系:
y=f(x)=sign(wx+b)y=f(x)=sign(wx+b)y=f(x)=sign(wx+b)
这称为感知机。w∈Rnw\in R^{n}w∈Rn称为感知机的权值系数或权值向量,b∈Rb\in Rb∈R称为偏置,sign是符号函数:
sign={ +1,x≥0−1,x<0sign=\left\{ \begin{array}{lr} +1,x\ge0\\ - 1,x<0 \end{array} \right.sign={ +1,x≥0−1,x<0
通过上式不难看出,感知机最终既是对w,bw,bw,b的求解。从几何上来看,空间即被wx+b=0wx+b=0wx+b=0分成了两个区域,因此它可以做到二元线性分类。大家可以以二维空间为例来想象一下,在确定w,bw,bw,b之后,直线wx+b=0wx+b=0wx+b=0随之确定,当一个样本(x0,y0)(x_{0},y_{0})(x0,y0)位于直线上方时,此时sign(wx+b)sign(wx+b)sign(wx+b)容易看出为+1+1+1,反之,为−1-1−1,由此它便做到了分类。此外,这里要注意这条直线并不唯一,即w,bw,bw,b并非唯一。
2.损失函数
为了求解参数www和bbb,确定最终的分割超平面, 就需要定义一个目标函数,或称为损失函数,通过最小化这个函数来达到目的。在感知机模型中,以误分类的样本对象与分割超平面间的距离之和最为损失函数。</