感知机模型
约定:
在下列公式中对于向量均使用列向量的方式,即X=(x1,x2,…xn) T
H:hypothesis ,通过学习所得的模型
F:自然存在的潜在规则,理想状况下的模型(X 是通过F产生的,即X代表着F的分布)
X:(x1,x2,…xn) T , X∈ Rn ,X代表学习资料的向量化表示
Y:对于二分类而言 Y=+1 表示正类别 Y=-1表示副类别
W:(w1,w2,…wn) T , W∈ Rn,W代表学习权重
threshold:阈值,对于二分类问题而言,超过阈值表示一类,小于阈值表示另一类
问题:
以公民发放信用卡为例,对于一个公民,银行会根据其年龄x1,性别x2,住房状况x3等等特征最终,通过学习参数W与threshold比较,判定最终Y的类别
向量化:H(w)=sign(w1x1+w2x2+…+wnxn - threshold)
为了书写方便可以定义x0=-1,w0=threshold,在这里之所以将threshold赋值给w0,可以将threshold想象为也是一个可以学习的参数
H(w)=sign(∑ WTX)
核心:
PLA: 找出一个犯错误的样本
利用错误样本对当前状态进行更新
学习过程
对于PLA而言任意选择一个样本 X i 若sign( WTXi )=Y i ,则不需要进行修正 若sign( WTXi )≠Y i 则需要根据该样本进行修正
WTXi可以看做是特征空间中两个向量的内积,当WTXi为正而Y i为负时,说明两个向量的夹角过小 需要增大两个向量的夹角,同理对于WTXi为负 Yi为正,说明两个向量夹角过大 需要减小两个向量的夹角。对于两个向量而言 向量相加得到的第三向量在两个向量之间,所以向量相加具有减小向量夹角的作用,在这里使用的修正方式就是
若WTXi 为正 Yi 为负 ,则WT=WT-Xi
若WTXi 为负 Yi 为正 ,则WT=WT+Xi
因为Y=+1或-1,整理可得 WT=WT+Yi Xi
初始化:
对于初始状态,可以初始化W =0 ,可以看做所有的分类均处于错误状态,随机选取一个样本,因为此时是分类错误的,所以WT=WT+Yi Xi
此时得到当前的W,因为对于二维空间而言 WX=0是一条二维空间上的直线 W为法向量,因此此时的分割线为
对于错分点x0 原本为正 却误分为负 因此与W相加 减小X与W之间的夹角,修正错误
以此类推 最终可得到结果
因为PLA的终止条件是样本空间中没有一个错分样本 因此在这一终止条件下 能够达成终止的限制是该样本空间是线性可分的,此时存在一个Wf 使得H=sign(WfTX) 对样本空间中所有的X均成立
因此YnWfTXn >=min a YaWfTXa >0 即 样本空间中所有的样本与W之间的内积都大于离分类线最近的样本和W的内积 且大于0
那对于任意Wt 和Wf之间存在什么关系呢 可以通过向量的内积来探寻这一关系
即 Wt+1 Wf =Wf (Wt +YnTXn )>=Wt Wf+min a YaWfTXa
可以看出 Wt+1 Wf 比Wt Wf 乘积要大 因此可以看出W在慢慢的接近Wf 但是这样说又是不确切的 因为两个向量的内积在增大 有可能是因为向量之间的夹角在变小 也有可能是向量长度在增大,因此还需要排除长度的影响
|| Wt+1 || 2 =|| W t +Yn Xn||2 =|| Wt || 2 +2 W t Yn Xn +|| Yn Xn|| Xn
又因为只有在出错的时候PLA才会执行对W的修改 因此2 W t Yn Xn小于0,整理可得 || Wt+1 || 2 < || Wt || 2+max|| Xn|| 2
具体推导过程见 PLA收敛性推导
PLA在上述过程中可以看出 基于一个假设就是PLA使用的训练样本是线性可分的,但是在使用上讲,我们在拿到训练样本的时候并不知道该训练样本一定是线性可分的 如果这样说的话 上述的PLA算法就不会停止
对于存在噪声的数据,可能存在一定的训练数据无法线性可分,在这种情况下我们可以把假设由总是存在线性可分的分割空间变成总是存在一个还不错的分割空间,使用同样的更新法则,唯一不同的是,每得到一个分割函数就在全部空间中进行遍历,记录错误数量 每次修改后都进行这样的操作,如果出现比当前好的分割函数则保存。
和PLA不同的地方是 PLA停止条件是当所有的训练样本都不出错的情况下 则停止 而这种情况是迭代足够多的次数会自动停止并返回保存的最佳分割函数。