项目地址 https://github.com/MLEveryday/100-Days-Of-ML-Code
原项目这一天给出的是代码,和第13天实现的代码相同,那么我今天就继续从理论上理解一下SVM。
找到一篇解释SVM的文章。地址是http://www.blogjava.net/zhenandaci/archive/2009/02/13/254519.html。现简单记录如下:
(一)SVM的八股简介
一些概念:
1、机器学习本质:对问题真实模型的逼近
2、风险:模型与真实情况的误差累积
3、泛化误差:真实风险=经验风险+置信风险
4、SVM支持非线性:SVM擅长应付样本数据线性不可分的情况,主要通过松弛变量(惩罚变量)和核函数技术来实现,这一部分是SVM的精髓。
(二)SVM入门 线性分类器Part 1
一些概念:
1、线性可分:用一个线性函数能把样本完全正确地分开,数据是线性可分
2、线性函数:一维空间里,是一个点;二维空间里,是一条直线;三维空间里,是一个平面;可以如此想象下去,如果不关注空间的维数,这种线性函数还有一个统一的名称——超平面(Hyper Plane)。
3、向量:一般指列向量,表示行向量时加上转置
(三)SVM入门 线性分类器Part 2
一些概念:
1、范数:||w||,向量w的范数。
范数是对向量长度的一种度量。常说的向量长度,指的是2-范数,范数最一般的表示形式为p-范数,可以写成如下表达式
向量w=(w1, w2, w3,…… wn),它的p-范数为
2、几何间隔:H1到H的距离
未完待续
参考:SVM入门 http://www.blogjava.net/zhenandaci/archive/2009/02/13/254519.html?page=2#pagedcomment