分类和聚类
| 聚类 | 分类 |
---|
核心 | 将数据分成簇 | 从已经分组好的数据中训练得出目标函数,把新数据放到已经分好的组中 | 学习类型 | 无监督学习 | 有监督学习 | 典型算法 | K-means,DBSCAN ,层次聚类,光谱聚类 | 决策树,贝叶斯,逻辑回归 | 算法输出 | 聚类结果并不确定,不一定能够反映数据的真实分类,同样的聚类,对于不同的需求,可能好也可能坏 | 分类结果是确定的,分类的优劣是客观的,不根据业务或算法需求而定 |
聚类(无监督学习)
- 不需要手工标注的训练数据
- 文档中所有单词都具有同等的重要性
- 很难保证固定的向量划分
分类(有监督学习)
- 需要手工标注的训练数据
- 对于分类任务挑选重要的单词
- 使用模型参数来定义空间划分
Support Vector Machine(SVM)
Linear separability(线性可分性)
超平面:高维向量空间中的线性形状
线性可分:标记点具有超平面来分离边界
线性分类器:准确性和复杂性之间的平衡
SVM模型的定义
定义:向量空间中二元分类的线性模型 支持向量的定义:距离分类的超平面最近的标记点 距离的定义:支持向量与超平面之间的距离 训练目标:寻找最大化距离的超平面
SVM建模
对于任何一个支持向量而言,SVM要求
∣
w
?
T
v
?
(
x
i
)
+
b
∣
=
1
|\vec{w}^T\vec{v}(x_i)+b| = 1
∣w
Tv
(xi?)+b∣=1,这样可以使计算变得简便 约束条件可以这样理解:对于任何一个训练样本而言,它到超平面的距离都要大于等于边际距离
Perceptron(感知机)
The perceptron algorithm
Perceptron update
Numerical Interpretation(代数解释)
SVM和感知机区别
Batch learning是针对整个训练集而言来训练的,简称批学习 Online learning是对每个样本迭代更新参数
多分类问题
如何把二分类问题应用到多分类问题上?
两种思路:
- 将所有样本分成1类和其他类
- 针对每一组couple,训练一个分类器,判断样本属于哪一类
正负样本的引入
Output-based features
Multi-class SVM
Multi-class perceptron
|