SVR(Support Vector Regression)算法详解
2016-08-26 09:58
330 查看
Perface
这里就不讲从SVM到SVR了,因为知道SVR怎么回事后,回过头便知道SVM其中道理;
工作中的一些心得总结,所有论述均脱敏过,与工作中的项目,技术,专利均无关;
欢迎各位多多指教。
上图是关于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的发展而努力的人致以崇高的敬意。
在SVR里,关于核映射需要知道的几点:
1.1.1、什么是核映射?
准确来说,核函数在大多数机器学习里应该是一种技巧(trick,大部分论文里都是这么称呼,kernel trick),所以也不应该被过分神话,这种技巧巧在我们无须明确指定核映射的具体形式,便可直接做卷积。
那么,什么是核映射(mapping function),通常有三种映射,1是在不增减维度的情况下做变换,2是涉及到维度的增减,3是两种都包含.举个例子,假设映射函数Ψ(x)=((x1)2,(x2)2,⋯),
1.1.2、核映射是如何引入到SVR里?
1.1.3、核函数的输出是什么?
1.1.4、扩展:如何构造一个有用的核(一个有用的核应该满足的条件)?
这里就不讲从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,不得不提的三个前辈:
图左一是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.1.2、核映射是如何引入到SVR里?
1.1.3、核函数的输出是什么?
1.1.4、扩展:如何构造一个有用的核(一个有用的核应该满足的条件)?
1.2、SMO(Sequential Minimal Optimization)算法
1.3、SVR整体把握
1.4、SVR的输入输出(如何部署问题)
2.SVR的应用(回归与多分类问题)
待整理….相关文章推荐
- Support Vector Machine Algorithm For Regression(SVR)算法详细解析
- 台湾国立大学(林轩田)《机器学习技法》(第6讲)Support Vector Regression (SVR)
- 机器学习之支持向量机 (三) SVM回归模型Support Vector Regression (SVR)
- 5.1 支持向量机SVM(support Vector Machine)算法概念(上)
- 支持向量机SVM(Support Vector Machine)详解笔记
- 支持向量机(Support Vector Machine)-----SVM之SMO算法(转)
- 数据挖掘十大经典算法(3) Support vector machines
- Support Vector Machine Algorithm(SVM)算法详细解析
- logistic regression VS decision tree VS support vector machine
- 数据挖掘十大经典算法(3) Support vector machines
- 数据挖掘十大经典算法(3) Support vector machines
- 机器学习技法课程学习笔记6-- Support Vector Regression
- 数据挖掘十大经典算法(3) Support vector machines
- 支持向量机(Support Vector Machine,SVM)详解
- 台湾大学林轩田机器学习技法课程学习笔记6 -- Support Vector Regression
- R语言高级算法之支持向量机(Support Vector Machine)
- 数据挖掘十大经典算法(3) Support vector machines
- (十一)机器学习中的一个常用算法SVM算法,即支持向量机Support Vector Machine(SVM)
- 支持向量机SVM(Support Vector Machine)算法初解
- 【Support Vector Regression】林轩田机器学习技法