1.区别
1 KNN对每个样本都要考虑。SVM是要去找一个函数把达到样本可分。
2 朴素的KNN是不会去自助学习特征权重的,SVN的本质就是在找权重。
3 KNN不能处理样本维度太高的东西,SVM处理高纬度数据比较优秀。
2.SVM原理梳理
1.SVM 由线性分类开始(线性分类器。)
给定一些数据点,它们分别属于两个不同的类,现在要找到一个线性分类器把这些数据分成两类。如果用x表示数据点,用y表示类别(y可以取1或者-1,分别代表两个不同的类),一个线性分类器的目标是要在n维的数据空间中找到一个超平面(hyper plane),将x的数据点分成两类,且超平面距离两边的数据的间隔最大。
这个超平面的方程可以表示为( wT中的T代表转置):