感知机
感知机是二分类的线性分类模型,其输入为实例的特征向量,输出实例为类别,取+1和-1二值,属于判别模型。感知机学习旨在求出能够将训练数据集进行正确的分类的分离超平面的。为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机具有简单易实现的优点,分为原始和对偶形式。
感知机模型
定义:称函数 y = f ( x ) = s i g n ( ω ⋅ x i + b ) y=f(x)=sign(\omega \cdot x_{i}+b) y=f(x)=sign(ω⋅xi+b)为感知机,其中 ω ∈ R n , x ∈ X ⊆ R n , ω ≠ 0 , B ∈ R , s i g n \omega \in\mathbb{R}^{n} ,x\in X\subseteq \mathbb{R}^{n},\omega \neq 0,B\in R,sign ω∈Rn,x∈X⊆Rn,ω̸=0,B∈R,sign为符号函数,即对任意 z ∈ R z\in \mathbb{R} z∈R,有 s i g n = { + 1 z > 0 0 z = 0 − 1 z < 0 sign=\left\{\begin{matrix} +1 & & z>0\\ 0& &z=0 \\ -1& &z<0 \end{matrix}\right. sign=⎩⎨⎧+10−1z>0z=0z<0对于任意输入 x ∈ X ⊆ R n x\in X\subseteq \mathbb{R}^{n} x∈X⊆Rn,感知机的输出是+1或-1中的一个。在几何意义上, ω ⋅ x i + b = 0 \omega \cdot x_{i}+b=0 ω⋅xi+b=0是 R n \mathbb{R}^{n} Rn的一个分离超平面S, R n \mathbb{R}^{n} Rn被划分到分离超平面的两侧,输入感知机后得到+1或-1。
感知机学习策略
对于训练数据集 T = { ( x 1 , y 1 ) ( x 2 , y 2 ) . . . ( x N , y N ) } T=\begin{Bmatrix} (x_{1},y_{1}) & (x_{2},y_{2}) &...& (x_{N},y_{N}) \end{Bmatrix} T={
(x1,y1)(x2,y2)...(xN,yN)},其中 x ∈ X ⊆ R n x\in X\subseteq \mathbb{R}^{n} x∈X⊆Rn, y i = { + 1 , − 1 } y_{i}=\begin{Bmatrix} +1,-1\end{Bmatrix} yi={
+1,−1}中的实例点 ( x i , y i ) (x_{i},y_{i}) (xi,yi), R n \mathbb{R}^{n} Rn中的某一超平面 S : ω ⋅ x i + b = 0 S:\omega \cdot x_{i}+b=0 S:ω⋅xi+b=0可能会被正确分类,也可能会被错误分类。当被错误分类时,有 − y i ( ω ⋅ x i + b ) > 0 -y_{i}(\omega \cdot x_{i}+b)>0 −yi(ω⋅xi+b)>0(判断和实际的符号不一致,相乘结果小于0,加上负号后大于0)
设 M ⊆ T M\subseteq \ T M⊆ T时 S S S关于所有误分类点的集合,且令
L ( ω , b ) = − ∑ ( x i , y i ) ∈ M y i ( ω ⋅ x i + b ) L(\omega ,b)=-\sum_{(x_{i},y_{i})\in M}y_{i}(\omega \cdot x_{i}+b) L(ω,b)=−(xi,yi)∈M∑yi(ω⋅xi+b)
L ( ω , b ) L(\omega ,b) L(ω,b)常被称为感知机的损失函数,其值显然是非负的。如果没有误分类点,损失函数等于0,误分类点越少,损失函数值越小。所以感知机的学习策略就是选取参数 : ω :\omega :ω和 b b b使 L ( ω , b ) L(\omega ,b) L(ω,b)达到最小值。
感知机学习算法
对于给定的训练集 T T T,感知机的学习损失函数 L ( ω , b ) L(\omega ,b) L(ω,b)是 : ω :\omega :ω和 b b b的连续可导函数。确定最优的 : ω :\omega :ω和 b b b的问题转化为求解损失函数 L ( ω , b ) L(\omega ,b) L(ω,b)的最优问题,而最优化问题采用随机梯度下降法。
1.感知机学习算法的原始形式
给定一个数据集: T = { ( x 1 , y 1 ) ( x 2 , y 2 ) . . . ( x N , y N ) } T=\begin{Bmatrix} (x_{1},y_{1}) & (x_{2},y_{2}) &...& (x_{N},y_{N}) \end{Bmatrix} T={
(x1,y1)(x2,y2)...(xN,yN)}, x ∈ X ⊆ R n x\in X\subseteq \mathbb{R}^{n} x∈X⊆Rn, y i = { + 1 , − 1 } y_{i}=\begin{Bmatrix} +1,-1\end{Bmatrix} yi={
+1,−1},求参数 ω \omega ω和 b b b,使其为一下损失函数极小化问题的解 min ω , b L ( ω , b ) = − ∑ ( x i , y i ) ∈ M y i ( ω ⋅ x i