SVR(Support Vector Regression)算法详解

版权声明:本文为原创,转载后劳烦留言告知 https://blog.csdn.net/yc_1993/article/details/52325635

Perface
这里就不讲从SVM到SVR了,因为知道SVR怎么回事后,回过头便知道SVM其中道理;
工作中的一些心得总结,所有论述均脱敏过,与工作中的项目,技术,专利均无关;
欢迎各位多多指教。


下面按照该算法的演进思路逐步铺开阐述,由于涉及较多数学,难免会有大量公式推导,下文将会尽量从应用的角度来说明,
让理论更加通俗易懂,所有参考书籍,论文均会在文末贴出,如若有何错误,侵权之处,敬请告知。

                             目录
SVM的些许背景
1、SVR相关理论 
  1.1、核映射
    1.1.1、什么是核映射?
    1.1.2、核映射是如何引入到SVR里?
    1.1.3、核函数的输出是什么?
    1.1.4、扩展:如何构造一个有用的核(一个有用的核应该满足的条件)?
  1.2、SMO(Sequential Minimal Optimization)算法
  1.3、SVR整体把握
  1.4、SVR的输入输出
2、SVR的应用与实现

SVM的些许背景

SVM历史2
     上图是关于SVM,不得不提的三个前辈:
     图左一是Vapnik,(前苏联/现俄罗斯),在苏联解体前一年到贝尔实验室,在其任职期间,提出了著名的SVM算法,当时其主要将其用于手写字的分别识别,现在Vapnik博士被facebook AI招至麾下,展开又一轮的AI研究。
    图中间John C. Platt,如果说Vapnik是一个开创者,那么Platt无疑是一个重要的推动者,由于当时Vapnik提出SVM后,涉及到一些kernel trick,而当时业界普遍的做法是QP(quadratic programming)问题求解,其计算速度,占用资源限制了其在大样本中的应用,虽然当时已有的一些方法(Chunking、Osuna等)旨在克服该些问题,当仍为达到理想的效果,98年时,Platt首次提出了SMO(Sequential Minimal Optimization)算法,极大地克服了SVM在大样本中的计算问题,为此Platt也时非常值得历史铭记的一个前辈。
    图右一时台大的林智仁教授,如果说Platt是将Vapnik的SVM从学术推向工业,那么Chih-Jen Lin 则是将其从复杂工程推向了普通人应用,其开发出的LIBSVM包,完全是面向了普通的用户使用,其有多种语言的实现包括(java、MATLAB、R、CUDA、python等)
    作为一个后人,还有很多关于SVM的前辈值得铭记,在此谨通过以上三位前辈,对所有为SVM的发展而努力的人致以崇高的敬意。

1、SVR相关理论

1.1、核(kernel)映射

关于核的映射,在SVM/SVR里可谓巧夺天工,如果没有核这种思想的引入,那么SVM/SVR就是一种加了距离限制的percetion learning algorithm(感知机:关于PLA,有兴趣的可百度,之后有时间再讨论这个)。

在SVR里,关于核映射需要知道的几点:

1.1.1、什么是核映射?
准确来说,核函数在大多数机器学习里应该是一种技巧(trick,大部分论文里都是这么称呼,kernel trick),所以也不应该被过分神话,这种技巧巧在我们无须明确指定核映射的具体形式,便可直接做卷积。
那么,什么是核映射(mapping function),通常有三种映射,1是在不增减维度的情况下做变换,2是涉及到维度的增减,3是两种都包含.举个例子,假设映射函数 Ψ(x)=((x1)2,(x2)2,) ,
1、mapping function

1.1.2、核映射是如何引入到SVR里?

1.1.3、核函数的输出是什么?

1.1.4、扩展:如何构造一个有用的核(一个有用的核应该满足的条件)?

1.2、SMO(Sequential Minimal Optimization)算法

1.3、SVR整体把握

1.4、SVR的输入输出(如何部署问题)

2.SVR的应用(回归与多分类问题)

待整理….

猜你喜欢

转载自blog.csdn.net/yc_1993/article/details/52325635