《机器学习基石》笔记:第二讲

来源:互联网 发布:macbook破解软件网站 编辑:程序博客网 时间:2024/06/05 06:14

第二讲主要是通过PLA(Perceptron Learning Algorithm)讲解二分类问题(Binary Classification)。关于PLA算法的基础内容,在这篇博文已经深入探究了,该博文主要记录一些扩展的知识。
1假设空间(hypothesis set)
对于Perceptron来说,假设空间就是样本点(sample points)所在平面的所有直线。
2.PLA的几何解释
2-1
如图所示,当Perceptron对样本点(xn,yn)预测错误时,如果y = +1,预测值为-1,那么可以视作以w(分类器的法向量)和点(xn,yn)的夹角太大了,那么应该做梯度下降是的两者夹角减小;反之则是w与点(xn,yn)夹角太小,应该增大。
3.PLA一定会停下来(收敛)吗?
首先提出线性可分(linear separable)的概念,并通过数学证明PLA的迭代次数一定会收敛(k<=ρ/γ)。这就证明了经过有限次的迭代,在一个线性可分的data set上,PLA一定会找到能完美分类所有的样本点的那条线(分类器)。
4.寻找完美的“那条线”真的值得吗?
首先,在进行训练之前,我们并不知道training set是否linear separable的。其次,即使我们已经知道是线性可分的,那么到底多久PLA才能完成分类,训练出我们需要的模型?最后,几乎每一个training set都会有noise的存在,如果noise造成了线性不可分,那么意味着我们的PLA永远都不可能停下了。那么,我们怎么办?
5.Pocket Algorithm
口袋算法的核心思想如下图所示:
这里写图片描述
和PLA不同的步骤就在于,设置一个iteration上限,设置初始模型W=(0,0,……,0),然后开始训练。如果发现分类错误更少的模型,就将新模型存储在pocket中,反复迭代直到上限。
pocket的思想类似贪心算法,不奢求找到全局最优(代价太大),只寻求足够好的模型(局部最优)。

阅读全文
0 0
原创粉丝点击