python支持向量 SVM 做文本(中文)三分类 (一)基础知识
想用SVM做文本分类?
首先你需要知道几个基本概念:然我来百科一下 哈哈
1. 线性可分 ? 分隔超平面? 超平面? 间隔? 支持向量?
- 如下图,很容易就能找到一条直线将数据点分开。这组数据就称为 线性可分(linear separable)数据。这条线就称为分隔超平面(形式可以写为
)。 但如果是N维数据,一条线(二维)或一个面(三维),更高维度数据的分割对象以此类推, 就需要N-1维,该对象就称为超平面。 我们希望找到离分隔超平面最近的点,确保他们离分隔超平面的距离尽可能的远,这里点到分割面的距离就被称之为间隔(margin), 支持向量就是离分隔超平面最近的那些点。
2. 然后需要知道分类器求解的优化问题(数学推导,还是不详细说了)
有一点需要知道,就是如果数据并不是100%线性可分,这时,就需要引入 “松弛变量”,来允许有些数据点处于分割面的错误一侧。这样我么的优化目标就能保持不变。约束条件变为 C >= a >0 。 原先100%线性可分的约束为 a>0 . C在这里就是一个参数。我们可以通过调节参数得到不同的结果。一旦求出所有的alpha,分隔超平面就可以用这些参数来表示。
SVM的主要工作就是求解alpha 参数,就是约束条件中的参数。
3. SVM应用的一般框架
1)收集数据
2)准备数据
3)分析数据
4)训练算法 - 测试算法 -使用算法
下一博客 再进行代码实现吧 喜欢的小仙女 小帅哥 手动点赞 哈哈哈 欢迎指正。 另提供(我是学生,仅限学术服务,价格优惠)数据抓取服务。