感知机
来源:互联网 发布:二叉树的遍历算法三种 编辑:程序博客网 时间:2024/05/01 08:22
感知机模型:
1 判别模型,
2 旨在学习出一个线性划分的超平面
输入 T= {(x1,y1),(x2,y2)……(xN,yN)}xi 是一n维的特征向量,yi属于{+1,-1}。
通俗来讲就是。(假设T是线性可分的)
输出 函数f(x) = sign(w·x + b)
sign表示符号函数。是一n维的向量。
(w,b)可以确定一个超平面。
首先,我们要使用梯度下降来求解。就得确定损失函数。
分类错误的情况 下
定义M是被(w,b)确定的超平面分错的点。那么
至于为什么这么定义。是因为这么定义方便求导,当然你也可以定义其他类型的loss function。
采用随机梯度下降。
当然你也可以用批梯度下降,也就是一次性把所有误分类点的梯度累加,不过效果和效率应该还是SGD比较好。
学习过程:
(1)选取初始值
(2)在训练集合中选取一个数据(xi,yi)
(3)如果yi(w·xi +b)<0
算法的直观解释,当一个实例点被误分类时,即位于分类超平面的错误一侧的时候,调整w,b使分离超平面,向该误分类点一侧移动,以减少距离,知道越过这个点,使其被正确分类为止。
接下来说说对偶问题。这个很重要,对以后学习SVM也很有帮助。
对偶算法的基本思想是,将w,b表示为实例xi和标记yi的线性组合的形式,通过求解其系数而求得w和b。由上面的公式可知,w,b初始都为0,而他两又是由下面公式一步一步迭代出来的。
所以 wb可以写成下面的形式
由此代入原公式。
要求的公式为,我们只需要求出
所以迭代过程就变为了
这个地方我刚开始有点迷惑,当我把公式(1)对
代入到
代入前面的迭代过程即可。
转化为对偶问题的好处:
转换为内积形式。需要多次计算xi · xj 所以可以预先计算并保存结果,提高效率。