SVM和KNN

一、区别

SVM

SVM和KNN_第1张图片

 

KNN

SVM和KNN_第2张图片

SVM:先在训练集上训练一个模型,然后用这个模型直接对测试集进行分类。

KNN:没有训练过程,只是将训练数据与训练数据进行距离度量来实现分类。

SVM:训练完直接得到超平面函数,根据超平面函数直接判定预测点的label,预测效率很高

KNN:预测过程需要挨个计算每个训练样本和测试样本的距离,当训练集和测试集很大时,预测效率低。

SVM:SVM是要去找一个函数把达到样本可分。

KNN:KNN对每个样本都要考虑。

SVM:SVM处理高纬度数据比较优秀

KNN:KNN不能处理样本维度太高的东西

二、SVM原理

支持向量积

支持向量

选出最好的决策边界

决策边界要大的,宽的道路行动更快

支持寻找向量

支持向量要小的,考虑自己最近的雷才最安全

SVM和KNN_第3张图片

距离计算(点到平面的距离)

D=|Ax0+By0+Cz0+D|/√ (A²+B²+C²)

 

目标函数

目的:找到一条线,是的离该线最近的点能够最远

目标函数可以体现svm的基本定义

放缩变换和优化目标

核函数

升维,二维变成三维的,能够用很好的平面分开

升维效果展示

SVM和KNN_第4张图片

 高斯核函数

高斯核函数是一种局部性较强的函数,改函数是应用最广的一个,无论在大样本或者在小样本都有比较好的性能,且相对于多项式核函数来说参数更少。当数据点距离中心点变远时,取值会变小。高斯核函数对数据中存在的噪声有着较好的抗干扰能力,由于其很强的局部性,其参数决定了函数作用范围,随着参数σ的增大而减弱。

公式:

 

你可能感兴趣的:(支持向量机,机器学习,算法)