感知机

来源:互联网 发布:淘宝服装推广方案 编辑:程序博客网 时间:2024/05/01 16:34

今天看了下统计学习方法里面的第二章感知机,写一些个人总结。准备接下来重温一下SVM,公式推导放在了F盘勿忘。

感知机是一个针对线性可分数据集的线性二分类模型,它的模型就是就是一个分离超平面函数外面套上一个符号函数,这个分离超平面将全部的训练数据分为正类和负类,其实这个这个分离超平面的形式类似于多变量线性回归的那个样子,模型选好了过后再来看损失函数的选取,损失函数如果选择是误分类点总数,则其不可导,不易优化,所以选为全部误分类点到分离超平面的距离之和;点到直线距离公式很简单,但是为了去掉绝对值,要考虑线性可分数据集的性质,所以在距离外面乘上一个负的yi,就可以去掉绝对值符号,同时距离公式的分母为一定值,也可以去掉。

最终的损失函数大致形式为L(w,b)=-∑yi(wxi+b),损失函数是凸函数,故利用梯度下降算法可以找到全局最小点,使用随机梯度下降算法每次随机选取一个误分类点更新参数,更新公式很简单,因为是每次拿一个误分类点更新,所以不要带上∑了,每次更新后重新算一下误分类点,再重复上述更新过程直到损失函数值为0,也就是所有的训练数据都正确分类。

当数据集线性可分时,感知机学习算法存在无穷多个解,其解由于不同的参数初值或不同的迭代顺序而可能有所不同。同时可以证明算法经过有限次的迭代是收敛的,当训练数据集不可分时,学习算法不收敛,迭代结果震荡。

感知机的学习算法还有一个对偶形式,这个对偶形式就是将参数w和b表示成另一个等价形式,主要的参数就是设置每个训练数据(xi,yi)都会有ni被选作误分类点参与参数更新,每次选择一个点,若此点为误分类点(xi,yi),则ni = ni+1,更新过程中涉及计算xi*xj,采用这种方式可以先计算出训练数据的Gram矩阵,缩短了时间。具体的计算过程可以参照F盘中证明过程。

原创粉丝点击