**perceptron:感知机,二分类的线性分类模型。**
从输入的特征向量判定类别,向量-->{-1,1},目的是为了求出将数据进行线性划分的分离超平面。
模型特点:线性,判别。
-
数据的线性可分:存在一个超平面S,使得所有yi=1的f(xi)>0,所有yi=-1的f(xi)<0,则称数据为线性可分。
学习策略:(损失函数的选择)首先想到的是误分类点的个数,但是这个不能表示为参数的可微函数,不容易优化,因此选择的损失函数为**误分类点到感知机S的距离。***
对于误分类点:有-yi(wxi+b)>0因此,将样本点的函数间隔 定义为感知机的损失函数。
感知机算法的原始形式:
W=-∑_(xi∈m)xiyi b=-∑_(xi∈m)yi
M为所有误分类点的集合。在误分类时是w与b的可导线性函数,在没有误分类时为0。
minL(w,b):选取任意超平面(w0,b0),然后随机选取误分类点(xi,yi),更新w=w+lrxiyi,b=b+lryi。通过不断迭代使得损失函数L减小至零。lr∈[0,1],yi为-1或者1.
不是一次使所有误分类点的梯度下降,而是随机选取一个误分类点使其梯度下降。
感知机初值选取与迭代顺序不同,最后获得的超平面也不同。
误分类的次数k是有上界的。
感知机的对偶形式:
原始形式是通过迭代不断累加误分类点的xiyi与yi值,因此最后求得的W与b必然是不同点的xiyi与yi值的线性加权,因此可以通过直接求解应该给每个点赋予的不同系数来求解。当系数越大时,证明在这个点进行迭代的次数也就越多,说明这个点越接近超平面,越难进行分类。
感知机解决线性可分的问题:
单层感知机输出:
感知机表示简单逻辑
与:y=(1x1+1x2-1.5),只有同为1才取正。
或:y=(1x1+1x2-0.5),只有同为0才取负。
非:y=(-x1+0.5),x为0时,取正,x为1时,取负。
异或:不可通过单层感知机表达。