Lecture 2: Learning to Answer Yes/No(学会回答是非)

来源:互联网 发布:淘宝怎么弄全球购图标 编辑:程序博客网 时间:2024/05/22 13:19

Lecture 2: Learning to Answer Yes/No(学会回答是非)
PLA A takes linear separable D and perceptrons H to get hypothesis g

2.1 Perceptron Hypothesis Set(感知器的假设空间)
首先还是讲讲什么是perceptron。

perceptron--感知器,感知器能够根据每一笔资料的特征,把资料判断为不同的类别。比如说h(x)是一个感知器,给定一个x(x是一个特征向量),把x输入到h(x)中,就会输出x的分类。

从根本上来说,perceptron就是一个二元线性分类器(binary classification)。它通过对特征向量加权,之后求和,然后把和与门槛值(threshold)进行比较,如果比门槛值高,就是+1;比门槛值低,就是-1.

 
其中sign括号中所包含的内容大于0时,取+1;小于0时,取-1。


H=all possible perceptron;

 

h(x)对应着不同的向量w,假设空间H就是向量w的取值范围。

 

在课程中,老师用了一个视觉化的方法来表示perceptron,就是把所有的输入向量x看做二维平面上的点,输出y,也就是标签,用O表示+1,用X表示-1.

假设h对应的是一条条的直线,不同的权值w向量对应的是不同的直线。目标就是找到一条直线,使得O在一边,X在另一边。。

 

2.2 Perceptron Learning Algorithm (PLA)(感知器学习算法)

 

PLA的目的很简单,就是找到一个perceptron,这个perceptron把O和X正确地区分开。

下面来详细介绍一下PLA。(这一段完全抄别人的,看到人家写的很棒)

首先我们在设置初始 (注意此处是向量不是向量的分量!),比如设置为0向量,然后使用训练样本来将权值向量修正的更接近目标函数f。其修正步骤如下:

将权值向量的修正次数表示为t,t=0,1,2,…

在何种情况下需要修正向量 呢?如公式2-4所示。

 

        (公式2-4)

 

其中训练样本 ,为在t次时使用的输入向量,而为在t次时的标记量。

该公式2-4的意思就是在t次时,选择的权值向量,有一个训练样本使得在经过 (即)假设计算的得到的标签与f(x)得到的标签不一致。

在这种情况下就需要对权值向量进行修改,使它符合条件。修改的公式如公式2-5所示。

 

  (公式2-5)

图2-2 公式2-5的几何解 a) 图2-2 公式2-5的几何解b)

 

图2-2a中是在本身标记为+1时,权值向量和输入向量的内积为负数,对权值向量略作修改,加上一个标记y和输入向量的乘积,得到一个新的权值向量,可以看出新的权值向量和输入向量的相乘之后符合了标记的要求。

图2-2b中是在本身标记为-1时,权值向量和输入向量的内积为正数,对权值向量略作修改,加上一个标记y和输入向量的乘积,得到一个新的权值向量,可以看出新的权值向量和输入向量的相乘之后符合了标记的要求。

2.3 Guarantee of PLA(PLA算法可行的保证)

只有当训练样本D是线性可分(linear separable)的时候,PLA才会停止下来。

2.4 Non-SeparableData(线性不可分的数据)

PLA

Pros:易操作、快速、多维度适用

Cons:首先要假设D线性可分,

PLA会停下来是建立在D线性可分的基础上的,所以,当D出现了噪音(noise)的时候,D也就是线性不可分的。所以,此时,PLA不会停下来。所以我们需要模仿PLA,来做出一个类似的算法,来解决D线性不可分的情况。

这个模仿PLA得到的新算法就是pocket。

Pocket的原理很简单,就是把最好的权重w留在自己的口袋里,遇到更好的就换掉,没有更好的就留着。

这里介绍一个叫pocket的算法,它的本质是一种贪心算法,做一简单的介绍:

1.      也是随机的初始化一个权值向量

2.      随机的使用n个点中的一个点去发现是否有错误(此处与cyclicPLA使用的循环方式有所不同,不是按顺序一个一个的查看是否符合条件,而是在n个点中随机的抽取,这种方式可以增加其寻找最优解的速度)

3.      和PLA一样使用公式2-5进行修正.

4.      如果有了修正,则计算出刚刚修正过的权值向量和上一个权值向量到底谁犯的错误比较少,将少的保留重复第2步到第4步的动作。

假如很长时间都没有新的权值向量比当前的权值向量犯错更少,则返回该向量作为函数g。

 

0 0
原创粉丝点击