一、区别
SVM
KNN
SVM:先在训练集上训练一个模型,然后用这个模型直接对测试集进行分类。
KNN:没有训练过程,只是将训练数据与训练数据进行距离度量来实现分类。
SVM:训练完直接得到超平面函数,根据超平面函数直接判定预测点的label,预测效率很高
KNN:预测过程需要挨个计算每个训练样本和测试样本的距离,当训练集和测试集很大时,预测效率低。
SVM:SVM是要去找一个函数把达到样本可分。
KNN:KNN对每个样本都要考虑。
SVM:SVM处理高纬度数据比较优秀
KNN:KNN不能处理样本维度太高的东西
二、SVM原理
支持向量积
支持向量
选出最好的决策边界
决策边界要大的,宽的道路行动更快
支持寻找向量
支持向量要小的,考虑自己最近的雷才最安全
距离计算(点到平面的距离)
D=|Ax0+By0+Cz0+D|/√ (A²+B²+C²)
目标函数
目的:找到一条线,是的离该线最近的点能够最远
目标函数可以体现svm的基本定义
放缩变换和优化目标
核函数
升维,二维变成三维的,能够用很好的平面分开
升维效果展示
高斯核函数
高斯核函数是一种局部性较强的函数,改函数是应用最广的一个,无论在大样本或者在小样本都有比较好的性能,且相对于多项式核函数来说参数更少。当数据点距离中心点变远时,取值会变小。高斯核函数对数据中存在的噪声有着较好的抗干扰能力,由于其很强的局部性,其参数决定了函数作用范围,随着参数σ的增大而减弱。
公式: