支持向量机(SVM)学习笔记(一)

 SVM学习笔记(一)

  https://v.qq.com/x/cover/m05175nci67/m05175nci67.html

  (支持向量机是怎么工作的)

 

基本数学原理:

                    支持向量机(SVM)学习笔记(一)

SVM = Support vector machine,我认为它还是属于分类器(classifier)的范畴之内的,也就是一个hyper planet超平面(这个地方是一条直线)将两个类里的元素分开。

Hyper-planet的数学表达式是:

                  支持向量机(SVM)学习笔记(一)

这里再来给个Margin的概念出来:成功分开的类里的元素距离“分类面”(hyper-planet)的最近距离。下面图里的Z就是Margin

                支持向量机(SVM)学习笔记(一)

SVM的目的是找到要Margin最大的一个hyper-planet!

 

举个栗子:

支持向量机(SVM)学习笔记(一)

  

只有两个点的话我们就可以算出这条线,点更多的话也是利用这种计算方法。但是困难的地方在于一般情况下,不可能通过一条线将他们分开,例如这个情况,看下面这个视频,提高维度放到更高维度去处理(这个时候想想线代的高纬度向量空间):

    https://v.qq.com/x/page/k05170ntgzc.html

  (SVM with polynomial可视化)

                    支持向量机(SVM)学习笔记(一)   

                       

 

不过我觉得这种情况下依然遵循着主旨,也就是找到一个hyper-planet超平面,这个超平面就是一个圆!

                      支持向量机(SVM)学习笔记(一)

这个时候分类的函数是个圆形x^2+y^2-4=0。这个时候令x^2=a; y^2=b,还不就变成了a+b-4=0 这种直线问题了。

可以想一想,我们是按照某种特征来进行分类,之前是一条直线,我们可以根据元素是在直线上方还是在直线下方进行分类,一旦元素分布变得复杂,我们就可以引入更多的特征来进行划分,例如引入Z轴在三维空间中操作。那么在不断添加属性的过程中,可能就是在N维空间中进行了!那么划分的函数维度也很高,这就是我理解的“超平面”(hyper-planet)。而通过某些函数可以用来添加属性,这些函数就叫“核函数”。(等学清楚了再写这部分内容)

最后,我想讲一讲为什么叫Support VectorMachine.顾名思义,machine是个机器,用来实现某个功能,而我们在计算时仅仅用到了距离hyper-planet最近的那个元素,而那个元素就叫做 Support Vector.(下图中标红的元素)那么也就可以理解为“利用 Support Vector来实现分类功能的Machine”。

              支持向量机(SVM)学习笔记(一)