笔记-感知机、超平面

来源:互联网 发布:java怎么读inputstream 编辑:程序博客网 时间:2024/05/01 01:46

1.感知机

感知机是一种二分类的线性分类模型,输入为实例的特征向量,输出为实例的类别{+1,-1}。感知机要求数据集是线性可分的。
按照统计学习三要素模型、策略、算法的顺序来介绍。

2.感知机模型

由输入空间到输出空间的如下函数:

f(x)=sign(ωx+b)

其中ωb 为模型参数,ωRn叫权值(weight)或权值向量(weight vector),bR叫偏置。
感知机模型的假设空间是定义在特征空间中的所有线性分类模型(linear classification model)或线性分类器(linear classifier),即函数集合{f|f(x)=ωx+b}.

2.1感知机模型的几何解释

线性方程ωx+b对应于特征空间的一个超平面S,ω代表超平面的法向量,b代表截距。这个超平面将特征空间分为两个部分,位于两部分的点(特征向量)被划分为正负两类,所以超平面S被称为分离超平面(separating hyperplane)。


感知机几何模型

在看几何模型这里有几点疑惑:
1.超平面是什么
2.原点到超平面的距离bω(纯属高数忘的差不多了)

2.1.1超平面

百度百科给出的定义:超平面是n维欧式空间中余维度等于一的线性子空间(也就是说超平面的维度为n-1)。这是平面中的直线、空间中的平面之推广。

似乎并没有起到什么帮助理解的作用!这个东西为什么要叫超平面也是很迷!刨除这个蜜汁叫法,还是试图从公式上进行理解吧。

百度到资料一:给定Rn空间中的一点p和非零向量n⃗ ,满足

n⃗ (xp)=0

的点集x称为经过点p的超平面。向量n⃗ 为该超平面的法向量。按照这个定义,一条直线是R2空间的超平面,一个平面是R3空间的超平面。

老学长解惑:在Rn空间中的超平面为:

ω⃗ Tx⃗ +b=0

在几维空间中,向量ω⃗ ,x⃗ 就是几维的。当然,ω⃗ x⃗ 属于该空间。在二维空间下,该方程表示一条直线,直线是平面的超平面。三维空间下,该方程表示一个平面,平面是空间的超平面。

老学长这个解释,我还是比较能接受的。

2.1.2点到超平面的距离

写到这里,我已决心要重看一遍高数。
向量的投影:给定两个向量u⃗ ,v⃗ ,求u⃗ v⃗ 上的投影长度,向量间的夹角为cosθ


这里写图片描述

算不上推导的推导:

d=|u|cosθ

cosθ=uv|u||v|

综上,
d=uv|v|

点到超平面的距离:假设x⃗ 0是超平面ω⃗ Tx⃗ +b=0上任意一点,则点x到超平面的距离为x⃗ x⃗ 0在超平面法向量ω⃗ 上的投影长度:
d=|ω⃗ T(x⃗ x⃗ 0)|ω⃗ =|ω⃗ Tx⃗ +bω⃗ Tx⃗ 0b|ω⃗ =|ω⃗ Tx+b|ω⃗ 

2.1.3超平面的正反面

一个超平面可以将该空间分成两部分,和法向量同向规定为正面,和法向量反向称为反面。x⃗ 0是超平面上的一点,x⃗ x⃗ 0ω⃗ 的夹角小于90时该点位于超平面正面,即

ω⃗ T(x⃗ x⃗ 0)>0

ω⃗ Tx⃗ +b>0

3.感知机学习策略

3.1损失函数

误分类集M,对于xiM,有yi(ωxi+b)>0,感知机损失函数与误分类点到超平面的距离有关。所有误分类点到超平面的距离和为

1ωxiMyi(ωxi+b)

忽略1ω,就得到了损失函数:
L(ω,b)=xiMyi(ωxi+b)

4.感知机学习算法

感知机学习问题转换为求解使损失函数L(ω,b)最小的最优化问题,采用随机梯度下降法(stochastic gradient descent)。

ωL(ω,b)=xiMyixi

bL(ω,b)=xiMyi

其中M是误分类集
(1)ω=ω0,b=b0,学习速率η
(2)选择xiM,更新ω,b
ωk=ωk1+ηyixi

bk=bk1+ηyi

(3)转至(2),直到不存在误分类点。

4.1感知机学习算法的收敛性

4.1.1定理

为了便于叙述,令ω^=(ωT,b),x^=(xT,1)T,显然ω^x^=ωx+b.
假设训练集是线性可分的,则
(1)存在ω^opt=1的超平面,使

yi(ω^optx^i)γ

(2)R=max1inx^i,则误分类次数k满足
k(Rγ)2

4.1.2证明

(1)由于训练数据集是线性可分的,所以存在超平面可以将训练数据集完全正确的分开。取此超平面为ω^optx^i=0,使ω^opt=1.对于数据集中所有的xi都有

yi(ω^optx^i)>0

存在
γ=min{yi(ω^optx^i)}

使
yi(ω^optx^i)γ

(2)ω^k1是第k次误分类前的权重向量,x^i是使其误分类的点,则有
ω^k=ω^k1+ηyix^i

ω^kω^opt=ω^k1ω^opt+ηyiω^optx^iω^k1ω^opt+ηγω^k2ω^opt+2ηγω0+kηγ

ω^k2=ω^k12+2ηyiω^k1x^i+η2y2ix^i2

由于x^iω^k1误分类,所以yiω^k1x^i<0,y2i=1,所以
ω^k2ω^k12+η2R2ω^k22+2η2R2ω^02+kη2R2

ω^0=0时,
ω^kω^optkηγ

ω^kkηR

kηγω^kω^optω^kω^optcosθω^kω^optω^kkηR

k2γ2kR2

k(Rγ)2

注意到初始条件为0时,迭代次数k与学习速率η无关。

5.感知机的对偶形式

感知机的对偶形式是初始值为0条件下的一种变形,似乎能起到减少每一次迭代的计算量的作用,有待验证。

原创粉丝点击