SVM

https://github.com/apachecn/hands_on_Ml_with_Sklearn_and_TF/blob/dev/docs/5.%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA.md#%E5%A2%9E%E5%8A%A0%E7%9B%B8%E4%BC%BC%E7%89%B9%E5%BE%81

线性SVM分类器在很多情况下表现得出乎意料地好

但是很多数据集并不是线性可分的。

处理非线性数据集方法:
1.增加更多的特征。例如多项式特征(正如你在第4章所做的那样);在某些情况下可以变成线性可分的数据。
但是低次数的多项式不能处理非常复杂的数据集,而高次数的多项式却产生了大量的特征,会使模型变得慢。
你可以运用一个被称为“核技巧”(kernel trick)的神奇数学技巧。它可以取得就像你添加了许多多项式,甚至有高次数的多项式。
2.定义一个相似函数,即高斯径向基函数(Gaussian Radial Basis Function,RBF)转换特征,特征转换后变为线性可分特征。
最简单的方法是在数据集中的每一个样本的位置创建地标。这将产生更多的维度从而增加了转换后数据集是线性可分的可能性。但缺点是,m个样本,n个特征的训练集被转换成了m个实例,m个特征的训练集(假设你删除了原始特征)。这样一来,如果你的训练集非常大,你最终会得到同样大的特征。
“核” 技巧再一次显现了它在 SVM 上的神奇之处:高斯核让你可以获得同样好的结果成为可能,就像你在相似特征法添加了许多相似特征一样。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章