1、回顾机器学习
A takes D and H to get G
算法algorithm 数据资料data 假设集hypothesis 得到的函数G
2、eg. 信用卡发放问题 Credit Approval Problem Revisited
用户具有特征如下,选择“感知器”模型可解决问题 a simple hypothesis set : the 'perceptron'。
感知器属于线性分类器的一种 linear binary classifiers。
将用户的特征看做输入x,每个特征都有它相应的权重,我们可以计算一个加权分。当这个分数超过某个阈值时,我们就给用户发放信用卡(即接受)因此输出函数可表示为{+1,-1}的集合,代表接受和不接受。
假设函数可描述如上式-------h(x)=取符号(加权分-阈值)。
下面将假设函数做变形,假设(-阈值)是一个加权值weight,即W
0
。相应的X
0
为(+1)。那么假设函数的形式将会变得更简单,最终可以表示为取两个矩阵的乘积的符号。其中w和x都是0~d维的向量。
下面假设用户只有两个特征,x1和x2。那么h(x)里面的东西将会是一个线性函数。
所对应的关系如下:
用户特征----平面上所有的点
输出y-----蓝色的圈代表+1,红色的叉代表-1
假设函数----线(超平面)
机器学习想做的事情,就是让得到的g无限的趋近于我们的目标函数f。(找到一条线可以把叉和圈分开)
而data资料是从目标函数f中得到的,所以首先要求在我们的资料data集里面,得到的g和f无限趋近(最好是一模一样)。
难点:H的size是无限的(有无限多条线)
算法:从g0出发,然后根据data不断修正。
(先有一条线在手上,然后不断的修正)
当我们的h的输出和y不一致时,将加权系数w做一个调整。
情况一,y=1,而我们h的输出为负 。说明w与x的角度过大。
情况二:y=-1,而我们h的输出为正。说明w与x的角度过小。
PLA什么时候会停下来:(data资料可以被分成两部分)
线性可分:linear separability
不是线性的情况:永远也不能完全分成两部分、不能用线分成两部分
假设这条目标的线为w_f。
这条线的y_n与w_f*x_n的符号相同。
寻找w_f和w_t之间的关系。
判断两个向量是否接近:
内积值较大(两种原因引起)
根据上图可知,w_f与w_(t+1)的内积大于
w_f与w_t的内积,从某种角度上来说两个向量越来越接近。然而内积值较大也可能是由两者的值变大而引起的。
需要明确一点:我们
只有在犯错误的情况下才对w_t进行调整,
即w_t与x_n的乘积与y_n是异号的。
根据上图w_(t+1)和w_t的关系,我们可以了解到,w_t的成长速度不会太快。因此我们可以得到T次更新后,两个正规化的乘积会大于sqrt(T)与某个常数的乘积。这个代表两个向量越来越靠近,但是不会无限制的靠近。因此确保算法会停止。