SVM的原理及python实战
SVM 是英文Support Vector Machine首字母缩写,中文名 支持向量机 。 是机器学习领域最顶尖的存在,应用领域广、预测效果好,被誉为万能分类器,正是这样,SVM的理解和学习也比其他的算法要难一些。也是本人 数据挖掘专栏 的终结篇。 为了能更好的让大家理解,这里我们对里面设计的知识点进行分解处理,所以在真正学习SVM之前,先介绍一下向量与平面、拉格朗日乘子法。 目录 一、向量与平面 1、向量 2、平面 二、拉格朗日乘子法 the"milkmaid problem”--挤奶女佣问题 灵感 三、SVM 1、线性SVM 2、软间隔 3、核函数 四、python实战 1、线性可分 2、软间隔 3、核函数 五、总结 一、向量与平面 1、向量 对于一个向量 a ,只需要关心它的方向和大小(长短),即终点坐标-起点坐标,不需要关心位置。 假设有两个向量 a,b a=(a1,a2) b= (b1,b2) 根据高中知识可以得到这两个向量的内积公式 a∙ b =a1b1+a2b2=‖ a ‖ ‖ b ‖cosa 我们做一个简单的变换 我们再加入两个向量c、 d a= c + d, c⊥b 且 d//b 那么我们又可以得到 a∙ b =(c+d) ∙ b =c∙ b + d ∙ b = ‖d‖ ‖b‖ 这是最基本的公式,接下来会用到 2、平面 超平面的理解 假定W和x是n维向量