学习《机器学习100天》第14天 支持向量机(SVM)的实现

github上的项目,跟着一起学习

项目地址    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-范数为

clip_image004[10]

2、几何间隔:H1到H的距离

(四)SVM入门  线性分类器的求解——问题的描述Part1

未完待续

参考:SVM入门  http://www.blogjava.net/zhenandaci/archive/2009/02/13/254519.html?page=2#pagedcomment

猜你喜欢

转载自blog.csdn.net/a776995799/article/details/86770751