感知机将输入空间中的实例分割为两组,分别用+1和-1输出。
模型
输入空间是定义在n维空间上的向量集合,线性可分;输出是{+1,-1}。感知机目的是求出能够将输入空间上的集合,按照他们的输出取值,分割为两个类别。
f(x)=sign(w·x+b)
sign为符号函数,内部大于零取值+1,小于零取值-1,等于零表示该实例点落在分离平面,尚未求得最优分离平面。
策略
感知机的学习,关键在求出模型参数w和b,可以使用损失函数极小化来求解。
一种合理的损失函数是:对于一个输入{x,y},如果感知机分类正确,那么y和wx+b应该是同符号的,即同正或者同负;而误分类点则相反,可以求出每个实例点到分离平面之间的距离,这里使用L2范数表示欧式空间距离。
距离
数学由于其抽象性,其定义的概念必须满足所有情况。对于距离这个生活中随处可见的概念,更需要扩大其内涵和外延。
满足非负性,其次性和三角不等性的向量长度为距离。
形象地说,对于空间中的点x,y满足,在任何情况都满足:
- x到y的距离大于零
- x到y的距离等于y到x的距离
-
对于任意点z,满足x到y的距离小于等于x到z距离与z到y距离之和。
Lp范数可以表示距离,其中p为0到正无穷的任意整数。
L0范数表示的距离为各实例点上非零元素的个数。三维空间中非零元素为1的所有点即各坐标轴上的点的集合
L1范数定义为各个维度的绝对值之和,到原点距离为1的元素集合为满足x+y+z = 1 的所有点的集合:
L2即为我们常见的欧式空间中的距离,对于到某一点距离相等的元素集合为园或球:
L∞定义为元素各个维度中绝对值最大的维度的值:
感知机损失函数
使用所有误分类点到分离平面的距离之和可表示感知机的损失函数,
L(w,b)=-∑y·(wx+b)·1/||w||
算法
给w和b首先分别取原始值(通常为0),得到分离平面f(x) = 0x+0;
对输入空间中的点进行测试,找到一个误分类点,使用该点的数据对分离平面的参数进行更新,不断重复以上步骤,知道所有点都能被正确分类!
网友评论