【笔记】单层感知机


Preface


这是单层感知机。多层感知机(MLP)在路上了,等一等(

为了好看,转置记作 (dagger)(dagger)

EDIT:这个符号实际上是伪逆矩阵(Moore-Penrose Inverse)的符号。我在这里就暂且误用一下吧,不改了

一些证明暂时不打算做,具体的代码实现也会先鸽着
就大大概概讲一讲。然后上支持向量机。

很抱歉本文没有配图,不过可以自行想象
二维平面上图大概这样吧
∵·  ·∵
∵∴  ··∴
∵∴··· 
总而言之感知机挺好理解的,单层感知机更好理解。。


基本概念


感知机是二分类模型、线性分类器。
处理线性可分的数据集。

超平面:(n) 维欧氏空间中,余维度为 (1)线性子空间(经过原点)
其中 (n>3)

感知机学习目标是:一个 被感知数据集 划分为两类的分离超平面。
输入 被感知数据集的特征向量,得到输出:数据集的类别(一般是 +1 或 -1)。



模型


模型:

[f(x)=operatorname{sign}(oldsymbolomega^daggercdot oldsymbol x+b) ]

其中 (oldsymbolomega) 为权值向量,(b) 为偏置,(x) 为输入,(f(x)) 为输出。

超平面:

[oldsymbolomega^daggercdot oldsymbol x+b=0 ]

样本点 (oldsymbol x') 到该超平面距离:

[d=frac{oldsymbolomega^daggercdot oldsymbol x'+b}{|oldsymbolomega|} ]



损失函数


感知机的优化目标:正确分类(就是让所有点不要被误分类
对于一个线性可分的数据集,这是可以做到的。

所有点 的集合为 (f M_u)
被误分类的点 的集合为 (f M)(随着超平面调整会变化)
(y_i=f(oldsymbol x_i)),那么

插播一个无关紧要的定义,几何间隔:

[y_icdotfrac{oldsymbolomega^daggercdot oldsymbol x_i+b}{|oldsymbolomega|} ]

函数间隔:

[y_icdot(oldsymbolomega^daggercdot oldsymbol x+b) ]

损失函数如果用 误分类点到超平面距离和 定义,就是

[L(oldsymbolomega,b)=sumlimits_{x_iinf M}left|y_icdotfrac{oldsymbolomega^daggercdot oldsymbol x_i+b}{{|oldsymbolomega|}} ight|=-sumlimits_{x_iinf M}y_icdotfrac{oldsymbolomega^daggercdot oldsymbol x_i+b}{{|oldsymbolomega|}} ]

优化目标是让它等于零。但是没有必要这么定义

实际上呢,因为 (oldsymbolomega) 在优化过程中随超平面调整而变化,
考虑到感知机只是想要正确分类而已,不妨更直接地令

[L(oldsymbolomega,b)=-sumlimits_{oldsymbol x_iinf{M}_{ iny{u}}}y_i(oldsymbolomega^daggercdot oldsymbol x_i+b) ]

让这东西小于零就好了,
也可以记成把那个 (f{M}_{ iny{u}}) 换成 (f M) 然后让 (L(oldsymbolomega,b)) 归零,不过上面那个是这个的充分条件



优化


那只要让误分类点变成正确分类点就可以了

根据判定条件,也就是令误分类点的函数间隔(误分类点是小于 (0) 的,正确分类的点是大于 (0) 的)变大。
沿梯度方向即可。

所以,具体地:不妨任意选择一个初始超平面(即选定 (oldsymbolomega_0)(b_0) 作为初始值)
然后极小化损失函数:让误分类点梯度下降。



收敛性:Novikoff定理简介


就是,用这种损失函数,经过有限次迭代可以得到将(线性可分的)训练集完全正确划分的分离超平面和模型。
很抱歉但是我想要略过证明,直接上复杂度

为了方便,把偏置跟权重放一起。记

[hat{oldsymbolomega}=(oldsymbolomega^dagger,b)^dagger ]

相应地,令

[hat{oldsymbol x_i}=(oldsymbol x_i^dagger,1)^dagger ]

那么,

[hat{oldsymbolomega}cdothat{oldsymbol x_i}=oldsymbolomega^daggercdot oldsymbol x+b ]

[R=maxlimits_{oldsymbol x_iinf{M}_{ iny{u}}}|hat{oldsymbol x_i}| ]

那么误分类次数 (k) 满足

[kleleft(frac{R}{gamma} ight)^2 ]

综上所述,
约定 (mathbb{R^n}) 表示 (n) 维向量空间。那么,可以给出
Theorem 1(Novikoff) Consider a training sequence

[T={(x_1,y_1),(x_2,y_2),cdots,(x_N,y_N)} ]

线性可分。其中,

[x_iinmathcal{X}=mathbb{R^n},quad y_iinmathcal{Y}={-1,+1},quad i=1,2,cdots,n ]

则① 存在分离超平面

[hat{oldsymbolomega}cdothat{oldsymbol x_i}=0,quad s.t.;|hat{oldsymbolomega}|=1 ]

   使数据集中所有点均被正确分类;

 ② 并且

[kleleft(frac{R}{gamma} ight)^2 ]



Novikoff定理的证明

原文地址:https://www.cnblogs.com/ccryolitecc/p/13880061.html