码迷,mamicode.com
首页 > 其他好文 > 详细

[笔记]机器学习基石 02 Learning to Answer Yes-No

时间:2018-03-31 22:21:27      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:ini   分类   tee   http   out   res   lin   col   pos   

   

 

一 Perception Hypothesis Set

1 A Simple Hypothesis Set: the ‘Perceptron‘

本节还是使用银行发信用卡的例子,银行掌握用户的年龄、年薪、工龄和负债情况。这里建立一个模型,每一个用户可以用一个向量来表示,每个用户的每一种信息可以当作向量的一个维度(xi)。把每个用户的维度综合起来产生一个分数,分数超过标准就给信用卡。在计算时加上wi来表示权重。

   

技术分享图片

   

对计算后的结果,好的(可以发卡)表示+1,不好的(不能发卡)表示-1。刚好等于门槛值(threshold)的时候很少,可以忽略不计。

这里的h称作感知器(perceptron),这是本节的主要内容。

   

2 Vector Form of Perceptron Hypothesis

此时可以对h(x)做一个数学上的转化,将-threshold当作w0,引入一个x0=+1与w0相乘,数学表示方式被简化。公式如下图被简化为两个向量内积的形式,其中T表示转置。

技术分享图片

   

   

3 Perceptions in R2

下面是一个二维图来说明感知机模型。w0+w1x1+w2x2=0是平面上的一条线,线的一侧是好的情况(+1),另一侧是坏的情况(-1)。每个用户的情况y用符号表示,圈表示好(+1),叉表示坏(-1)。

技术分享图片

perceptions在这个模型中就是一条直线,称为线性分类器[linear (binary) classifiers]。线性分类器也可以在更高维度。

   

   

二 Perception Learning Algorithm(PLA)

1 select g from H

这里我们设计一个演算法来寻找一条直线,使这条直线能将平面上的所有好坏分开,让这个g跟f几乎一模一样。

技术分享图片

   

2 Perception Learning Algorithm(PLA)

一开始在二维平面中有一条会有一些错误的初始的线w0(代表g0),然后逐步将线两侧错误的点修正,即移动线来完全修正或减轻错误,直到这条线达到了期望的效果才结束。

将data中的(xn(t),yn(t))做内积得到wt,在验证时发现(wTtxn(t))yn(t) ,于是我们尝试进行纠正。如下图右侧。若要的内积是+结果做出来是-的,则向量w+x;若要的内积是-结果做出来是+的,则向量w-x

注:图中w为线的法向量

技术分享图片

在用所有data进行验证时,可以用默认的正序也可以乱序,总之只要能转到所有data就好

   

3 Seeing is Believing

一个使用PLA算法的例子

技术分享图片

   

技术分享图片

   

技术分享图片

   

技术分享图片

   

技术分享图片

   

技术分享图片

   

技术分享图片

   

技术分享图片

   

技术分享图片

   

技术分享图片

   

技术分享图片

   

4 Some Remaining Issues of PLA

对于此算法仍然由问题需要思考

*PLA一定会停下来吗

*PLA的停下来结果对于没有使用的真是data是否真的满足g≈f,若没有停下来是否会有 g≈f

   

   

三 Guarantee of PLA

   

1 Linear Separability

*If PLA halts (i.e. no more mistakes), (necessary condition) D allows some w to make no mistakes

*Call such D linear separable(线性可分)

技术分享图片

   

2 PLA Fact

wt Gets More Aligned with wf

线性可分时,必然满足以下

技术分享图片

对任意的xn

技术分享图片

PLA会对每次错误的点进行修正,更新权重wt+1的值,如果wt+1与wf越来越接近,数学运算上就是内积越大,那表示wt+1是在接近目标权重wf,证明PLA是有学习效果的。所以,计算wt+1与wf的内积:

技术分享图片

   

wt Does Not Grow Too Fast

从推导可以看出,wt+1与wf的内积跟wt与wf的内积相比更大了。似乎说明了wt+1更接近wf,但是内积更大,可能是向量长度更大了,不一定是向量间角度更小。所以,下一步,我们还需要证明wt+1与wt向量长度的关系

技术分享图片

技术分享图片

   

技术分享图片

   

 

四 Non Separable Data

   

1 More About PLA

对于线性可分的情况,PLA能停下来并正确分类,然而线性不可分时,wf实际上不存在,之前推到不成立,PLA不一定能停下来。所以PLA在使用时也有一些麻烦的地方。

技术分享图片

 

2 Learning with Noisy Data

我们在机器学习中使用的data可能是有noisy data的,导致拿到的data不一定会是线性可分。这时的机器学习流程:

技术分享图片

   

3 Line with Noise Tolerance

在有noise的情况下我们没有办法找到完全正确的线,所以我们转而去找犯的错误最少的线为g。

技术分享图片

上面的做法是NP问题,但无法做到写成程序来实现。

   

4 Pocket Algorithm

我们对PLA算法进行修改,产生了Pocket Algorithm。它的算法流程与PLA相似,首先初始化权重w0,计算出在这条初始化的直线中,分类错误点的个数,将这条直线放进口袋。然后进行修正,更新w,得到一条新的直线,再计算分类错误的点的个数,并与之前错误点个数比较,取个数较小的直线作为我们当前选择的分类直线,放进口袋替换。之后,再经过n次迭代,不断比较当前分类错误点个数与之前最少的错误点个数比较,选择最小的值的线留在口袋里。直到迭代次数完成后,选取个数最少的直线对应的w,即为我们最终想要得到的权重值,即口袋里最终的线。

技术分享图片

   

5 Summary

技术分享图片

[笔记]机器学习基石 02 Learning to Answer Yes-No

标签:ini   分类   tee   http   out   res   lin   col   pos   

原文地址:https://www.cnblogs.com/realswx/p/8684335.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!