感知机

天涯浪子 提交于 2019-11-30 22:31:24

 

  感知机

1、感知机的原理

感知机是二分类的线性模型,其输入是实例的特征向量,输出的是事例的类别,分别是+1和-1,属于判别模型。

假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练数据集正实例点和负实例点完全正确分开的分离超平面。如果是非线性可分的数据,则最后无法获得超平面

1.1超平面的概念

超平面是在空间RdRd中的一个子空间Rd1Rd−1。

在2维空间中的超平面是一条线,在3维空间中的超平面是一个平面。

2、感知机的几个公式

2.1求直线到点的距离公式

直线的公式为Ax+By+C=0,设点为D(x1,y1);

  d=(Ax1+By1+C)/(A*A+B*B)^1/2

2.2求样本到超平面的距离

超平面为h=w*x+b,其中的w=(w0,w1,w2....wn),x=(x0,x1,x2,x3....xn),样本点x‘到超平面的距离公式为d=(w*x'+b)/||w||

3、感知机的模型

      

感知机从输入空间到输出空间的模型如下:

f(x)=sign(wx+b)f(x)=sign(w⋅x+b)

                
                       −1  x<0

sign(x)=

                         1  x0

3.1感知机的损失函数

损失函数的优化目标,就是期望使误分类的所有样本,到超平面的距离之和最小

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

不考虑1||w||1||w||,就得到感知机模型的损失函数:

L(w,b)=xiMyi(wxi+b)
 
3.2感知机的对偶形式

对偶形式的基本想法是,将 w 和 b 表示为是咧 xixi 和标记 yiyi的线性组合的形式,通过求解其系数而得到 w 和 b。
w←w+ηyixi
w←w+ηyixi

b←b+ηyi
b←b+ηyi

逐步修改 w,b,设修改 n 次,则 w,b 关于(xi,yi)(xi,yi) 的增量分别是 αiyixiαiyixi 和 αiyiαiyi, 这里 αi=niηαi=niη。最后学习到的 w,b 可以分别表示为:
w=∑i=1Nαiyixi
w=∑i=1Nαiyixi

b=∑i=1Nαiyi
b=∑i=1Nαiyi

这里, αi≥0,i=1,2,...,Nαi≥0,i=1,2,...,N,当 η=1η=1时,表示第i个是实例点由于误分类而进行更新的次数,实例点更新次数越多,说明它距离分离超平面越近,也就越难区分,该点对学习结果的影响最大。
感知机模型对偶形式:
f(x)=sign(∑j=1Nαjyjxj⋅x+b)
f(x)=sign(∑j=1Nαjyjxj⋅x+b)
其中
α=(α1,α2,...,αN)T
α=(α1,α2,...,αN)T

学习时初始化 α←0,b←0α←0,b←0, 在训练集中找分类错误的点,即:
yi(∑j=1Nαjyjxj⋅xi+b)≤0
yi(∑j=1Nαjyjxj⋅xi+b)≤0

然后更新:
αi←αi+η
αi←αi+η

b←b+ηyi
b←b+ηyi

知道训练集中所有点正确分类

 
4、学习总结
学习感知机很我吃力,觉得跟不太上老师的脚步,就是只能多看书,演算书上的公式,有的地方还时很不理解,不过我会在看看书,理解书上的知识。
代码是我最差的一个部分,我也就理解了含义。让我真正的实现,我是实现不出来的。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!