本周学习SVM支持向量机
一.SVM总结
- 优点
模型只需要保存支持向量, 模型占用内存少, 预测快.
分类只取决于支持向量, 适合数据的维度高的情况, 例如DNA数据
- 缺点
训练的时间复杂度为 [ 3]O[N3] 或者至少 [ 2]O[N2], 当数据量巨大时候不合适使用.
需要做调参 C 当数据量大时非常耗时间.
二.人脸识别应用举例的执行过程:
- 创建模拟数据集
- 把数据集分类
- SVM: 假想每一条分割线是有宽度的,在SVM的框架下, 认为最宽的线为最优的分割线Note: 与逻辑回归的区别是增加数据集并不影响分割线
- 训练svm,使用线性SVM和比较大的
C
- 创建一个显示SVM分割线的函数note:非支持向量的数据, 对分割线没有影响只有支持向量会影响分割线, 如果我们添加一些非支持向量的数据, 对分割线没有影响
- 使用SVM进行人脸识别(62*47像素的矩阵元素——>展平为一维向量,做特征提取)
- 调参,寻找最佳c值
- 使用训练后的svm做预测