目录
学习完机器学习实战的Pegasos,简单的做个笔记。文中部分描述属于个人消化后的理解,仅供参考。
本篇综合了先前的文章,如有不理解,可参考:
所有代码和数据可以访问 我的 github
如果这篇文章对你有一点小小的帮助,请给个关注喔~我会非常开心的~
0. 前言
Pegasos(primal estimated sub-gradient solver for SVM),支持向量机的原始估计子梯度求解器。
Pegasos 是一种通过随机梯度下降求解 SVM 的分隔超平面的方法。
研究表明,该算法所需的迭代次数取决于用户所期望的精确度而不是数据集大小。
1. SVM 概念
如下图所示(图源:百度百科), 为分割超平面,在超平面上下方各建立一个界面
和
,在
之上的为一类,在
之下的为一类。SVM的目的是为了最大化间隔,即
到
的距离:
在SVM中,定义正类 ,定义反类
,这是为了方便后面计算。
通过 拟合数据的分界线,即超平面,则可定义上界面为