感知机

来源:互联网 发布:matlab量化交易源码 编辑:程序博客网 时间:2024/05/01 17:14

1、感知机模型

定义:
假设输入空间是 XRn,输出空间是 y={+1,1}.输入 xX 表示实例的特征向量,对应于输入空间的点;输出 yY 表示实例的类别。由输入空间到输出空间的如下函数

f(x)=sign(wx+b)

称为感知机。其中,wb是感知机模型参数,wRn叫作权值,bR叫作偏置,wx表示wx的内积。sign是符号函数

sign(x)={+1,1,x⩾0x<0

感知机是二类分类的线性分类模型,属于判别模型。二类分类,所以取+1和-1二值;线性分类,所以存在超平面S将特征空间划分为两个部分,位于两部分的点(特征向量)分别为正、负两类。

2、感知机学习策略

感知机的策略是求误分类点到超平面S的总距离的最小值,因为感知机的数据集是线性可分的,所以也就是求误分类点到超平面S的总距离等于0的值。
x0到超平面S的距离:

1w|wx0+b|
其中wL2范数(向量元数绝对值的平方和再开方)

该公式可由d=ax0+by0+ca2+b2可推理得到。
我们已经知道感知机的策略是求误分类点到超平面S的总距离等于0的值,所以可以忽略1w,但不能忽略负号,因为损失函数是非负实值的函数。因此可以定义sign(wx+b)的损失函数为

L(w,b)=xiMyi(wxi+b)

3、感知机算法的原始形式

1、算法
输入:训练数据集T={(x1,y1),(x2,y2),,(xn,yn)},其中xiX=RnyiY={1,+1}i=1,2,N;学习率 η0<η1)
输出:wb;感知机模型f(x)=sign(wx+b)
(1)选取初值w0,b0,一般初值选w0=0,b0=0
(2)在训练集中选取数据xi,yi
(3)如果yi(wxi+b)0

ww+ηyixi

bb+ηyi

(4)转至(2),直到训练集没有误分类点。

2、算法的收剑性

4、感知机算法的对偶形式

输入:训练数据集T={(x1,y1),(x2,y2),,(xn,yn)},其中xiX=RnyiY={1,+1}i=1,2,N;学习率 η0<η1)
输出:α,b;感知模型

f(x)=sign(j=1Nαjyjxjx+b)
.
其中α=(α1,α2,,αN)T.
(1)α0,b0
(2)在训练集中选取数据xi,yi
(3)如果
yi(j=1Nαjyjxjx+b)0

则更新参数
αiαi+η

bb+ηyi

(4)转至(2),直到训练集没有误分类数据。

原创粉丝点击