科学网

 找回密码
  注册

tag 标签: 支持向量机

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

基于机器学习的癫痫脑电数据分类
Lewistute 2020-6-29 11:19
1 前言 癫痫俗称 “ 羊癫风 ” 或 “ 羊角风 ” ,由于部分神经元的异常放电导致大脑短暂功能异常,是一种严重的同时很难治愈的慢性疾病。癫痫发作通常表现为突然、短暂的痉挛,或出现动作中止不动,两眼呆滞等。长时间的癫痫发作会使患者长期处于紧张焦躁不安中,影响其身心发展及精神健康。其中包括:( 1 )严重影响生命安全。由于癫痫的发作经常是突然,无法预料的,所以发作会导致患者烫伤、摔伤,严重者会出现溺水或交通事故。( 2 )容易患有精神疾病。癫痫患者长期在学业、就业以及工作中受到歧视,使得深深影响其精神的健康发展。( 3 )使得智力下降、并出现记忆障碍,可能最终导致丧失生活能力。癫痫脑电波主要包括尖波、棘波、尖慢复合波及棘慢复合波等,癫痫发作时与未发作的波形对比如图 1 所示。 图 1 (a) 癫痫发作时脑电图 图 1 (b) 癫痫未发作时脑电图 目前,对癫痫的诊断常常是医生通过对脑电图信号结合患者是否出现异常的抽搐进行联合检查,从而判断是否出现异常放电和癫痫发作。然而,这种方法不仅费时,而且由于医生的主观性极强,容易造成误诊。因此,有必要通过一种实时、准确的方式自动检测和预测癫痫的发作。基于机器学习方法对脑电信号进行自动检测有较好的效果和较高的准确率。这种类型的方法主要有以下几个步骤构成:特征提取、特征选择以及分类器分类。其中,特征选择在提取众多不同类型特征时起到降低特征数目,减小算法复杂度的重要作用。 2 数据描述 本文所用的脑电图数据来源于一位癫痫患者的脑电信号记录。该病人脑电数据包含 38 个连续 EDF 文件( EDF 为存储脑电图信号专有文件格式信号和脑电图信号在一个 EDF 文件被称为一个样本。)和一个注释文档用来标记病人脑电数据记录的开始时间和结束时间以及癫痫发作和发作结束的具体时间。本文以编号为 23 的脑电数据为例进行分析。 3 数据预处理 我们选取一个导联数据进行分析,根据注释文档截取出一段癫痫发作的脑电数据和一段等时长的未发作时的脑电数据,然后对两段数据进行特征提取和标注。针对上述脑电数据,每次特征提取选取长度为 5 秒的数据,再次提取时滑动 0.5 秒。特征提取可以降低分类器的计算成本,提高分类器的性能。特征提取阶段我们所提取的特征有: (1) 均值 所有数据进行累加求和,再除以数据个数: (1) (2) 方差 表示该组数据的分散程度: (2) 4 分类方法及实验结果 4.1 感知机 感知机是 1957 年,由 Rosenblatt 提出会,是 神经网络和支持向量机 的基础。感知机是二分类的线性模型,其输入是实例的特征向量,输出的是事例的类别,分别是 +1 和 -1 ,属于判别模型。假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练数据集正实例点和负实例点完全正确分开的分离超平面。如果是非线性可分的数据,则最后无法获得超平面。 感知机从输入空间到输出空间的模型如下: (6) 其中, x 为输入矩阵, w , b 为参数, sign 为激活函数。 损失函数为: (7) 优化器采用梯度下降法,随机抽取一个误分类点,通过公式 (8) 调整 w , b 的值,使分离超平面向该误分类点的一侧移动,直至误分类点被正确分类。 (8) 采用感知机进行分类时,选择均值和方差作为特征值输入, 图 2 为模型的分类结果。 图 2 感知机模型训练结果 4.2 感知机 支持向量机( Support Vector Machine, SVM )是一类按监督学习( supervised learning )方式对数据进行二元分类的广义线性分类器( generalized linear classifier ),其决策边界是对学习样本求解的最大边距超平面( maximum-margin hyperplane )。 SVM 使用铰链损失函数( hinge loss )计算经验风险( empirical risk )并在求解系统中加入了正则化项以优化结构风险( structural risk ),是一个具有稀疏性和稳健性的分类器。 SVM 可以通过核方法( kernel method )进行非线性分类,是常见的核学习( kernel learning )方法之一。 SVM 被提出于 1964 年,在二十世纪 90 年代后得到快速发展并衍生出一系列改进和扩展算法,在人像识别、文本分类等模式识别( pattern recognition )问题中有得到应用。 当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。 假设有一堆样本点 ( x 1 , y 1 ), ( x 2 , y 2 )... ( x n , y n ) ,在 SVM 中,我们采用 +1 和 -1 来区分类别,假设超平面 ( w , b ) 可以将训练样本正确分类,则 SVM 模型的目标函数,就是这样一个超平面,可表示为公式 (8) : (8) 其中, 是 SVM 的核函数,当样本点线性可分类时,采用线性核;当样本点非线性时,可采用多项式核、径向基函数核、拉普拉斯核和 Sigmoid 核等,进行维度变换。 如果能够正确分类所有样本点的超平面存在,而对应的决策函数如公式 (9) 所示: (9) 其中, sign 函数是符号函数: (10) 实验中,我们同样选择均值和方差作为特征值输入,图 3 为模型的分类结果。 图 3 支持向量机模型训练结果 5 总结 1. 感知机追求最大程度正确划分,最小化错误,很容易造成过拟合。支持向量机追求间隔最大化超平面,一定程度上避免过拟合; 2. 支持向量机对非线性数据分类,也有着良好的表现;
个人分类: 机器学习|772 次阅读|0 个评论
支持向量机 Support Vector Machine 程序网址
zlyang 2016-9-1 09:54
支持向量机 Support Vector Machine 程序网址 (1)Least Squares Support Vector Machines (LS-SVM) http://www.esat.kuleuven.be/sista/lssvmlab/ Support Vector Machines is a powerful methodology for solving problems in nonlinear classification, function estimation and density estimation which has also led to many other recent developments in kernel based methods in general. Latest version: LS-SVMlab v1.8 (August 16, 2011) Book reference: J.A.K. Suykens, T. Van Gestel, J. De Brabanter, B. De Moor, J. Vandewalle, Least Squares Support Vector Machines , World Scientific, Singapore, 2002 (ISBN 981-238-151-1) Learning with primal and dual model representations: a unifying picture: plenary talk ICASSP 2016, Shanghai: SVD meets LS-SVM: a unifying picture: invited seminar at UCL, LLN 2015: (2)LIBSVM -- A Library for Support Vector Machines Chih-Chung Chang and Chih-Jen Lin http://www.csie.ntu.edu.tw/~cjlin/libsvm/ LIBSVM is an integrated software for support vector classification, (C-SVC, nu-SVC ), regression (epsilon-SVR, nu-SVR ) and distribution estimation ( one-class SVM ). It supports multi-class classification. Python , R , MATLAB , Perl , Ruby , Weka , Common LISP , CLISP , Haskell , OCaml , LabVIEW , and PHP interfaces. C# .NET code and CUDA extension is available. It's also included in some data mining environments: RapidMiner , PCP , and LIONsolver . 感谢您提供更多的可下载程序! 感谢您的指教! 感谢您指正以上任何错误!
个人分类: 风电功率预测|3917 次阅读|0 个评论
平面的解析表示及在支持向量机中的应用
sanshiphy 2012-11-6 17:36
本博文总结了平面的解析方程及其在支持向量机中的应用(见附件),内容包括: 一、平面方程(点法式、一般式、截距式) 二、点到平面的距离 三、平行平面的方程 四、在支持向量机中的应用 供参考! 平面的解析表示及在支持向量机中的应用.pdf
个人分类: 学习笔记|2485 次阅读|0 个评论
[转载]支持向量机(SVM)程式
热度 1 bluewind23 2010-8-23 10:23
SVMlight http://svmlight.joachims.org/ SVMlight, by Joachims, is one of the most widely used SVM classification and regression package. It has a fast optimization algorithm, can be applied to very large datasets, and has a very efficient implementation of the leave-one-out cross-validation. Distributed as C++ source and binaries for Linux, Windows, Cygwin, and Solaris. Kernels: polynomial, radial basis function, and neural (tanh). SVMstruct http://svmlight.joachims.org/svm_struct.html SVMstruct, by Joachims, is an SVM implementation that can model complex (multivariate) output data y, such as trees, sequences, or sets. These complex output SVM models can be applied to natural language parsing, sequence alignment in protein homology detection, and Markov models for part-of-speech tagging. Several implementations exist: SVMmulticlass, for multi-class classification; SVMcfg, learns a weighted context free grammar from examples; SVMalign, learns to align protein sequences from training alignments; SVMhmm, learns a Markov model from examples. These modules have straightforward applications in bioinformatics, but one can imagine significant implementations for cheminformatics, when the chemical structure is represented as trees or sequences. mySVM http://www-ai.cs.uni-dortmund.de/SOFTWARE/MYSVM/index.html mySVM, by Stefan Rping, is a C++ implementation of SVM classification and regression. Available as C++ source code and Windows binaries. Kernels: linear, polynomial, radial basis function, neural (tanh), anova. JmySVM http://www-ai.cs.uni-dortmund.de/SOFTWARE/YALE/index.html JmySVM, a Java version of mySVM is part of the YaLE (Yet Another Learning Environment) learning environment. mySVM/db http://www-ai.cs.uni-dortmund.de/SOFTWARE/MYSVMDB/index.html mySVM/db is an efficient extension of mySVM which is designed to run directly inside a relational database using an internal JAVA engine. It was tested with an Oracle database, but with small modifications it should also run on any database offering a JDBC interface. It is especially useful for large datasets available as relational databases. LIBSVM http://www.csie.ntu.edu.tw/~cjlin/libsvm/ LIBSVM (Library for Support Vector Machines), is developed by Chang and Lin and contains C-classification, -classification, -regression, and -regression. Developed in C++ and Java, it supports also multi-class classification, weighted SVM for unbalanced data, cross-validation and automatic model selection. It has interfaces for Python, R, Splus, MATLAB, Perl, Ruby, and LabVIEW. Kernels: linear, polynomial, radial basis function, and neural (tanh). looms http://www.csie.ntu.edu.tw/~cjlin/looms/ looms, by Lee and Lin, is a very efficient leave-one-out model selection for SVM two-class classification. While LOO cross-validation is usually too time consuming to be performed for large datasets, looms implements numerical procedures that make LOO accessible. Given a range of parameters, looms automatically returns the parameter and model with the best LOO statistics. Available as C source code and Windows binaries. BSVM http://www.csie.ntu.edu.tw/~cjlin/bsvm/ BSVM, authored by of Hsu and Lin, provides two implementations of multi-class classification, together with SVM regression. Available as source code for UNIX/Linux and as binaries for Windows. SVMTorch http://www.idiap.ch/learning/SVMTorch.html SVMTorch, by Collobert and Bengio, is part of the Torch machine learning library and implements SVM classification and regression. Distributed as C++ source code or binaries for Linux and Solaris. Weka http://www.cs.waikato.ac.nz/ml/weka/ Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from a Java code. Contains an SVM implementation. SVM in R http://cran.r-project.org/src/contrib/Descriptions/e1071.html This SVM implementation in R (http://www.r-project.org/) contains C-classification, n-classification, e-regression, and n-regression. Kernels: linear, polynomial, radial basis, neural (tanh). M-SVM http://www.loria.fr/~guermeur/ Multi-class SVM implementation in C by Guermeur. Gist http://microarray.cpmc.columbia.edu/gist/ Gist is a C implementation of support vector machine classification and kernel principal components analysis. The SVM part of Gist is available as an interactive web server at http://svm.sdsc.edu and it is a very convenient option for users that want to experiment with small datasets (several hundreds patterns). Kernels: linear, polynomial, radial. MATLAB SVM Toolbox http://www.isis.ecs.soton.ac.uk/resources/svminfo/ This SVM MATLAB toolbox, by Gunn, implements SVM classification and regression with various kernels: linear, polynomial, Gaussian radial basis function, exponential radial basis function, neural (tanh), Fourier series, spline, and B spline. TinySVM http://chasen.org/~taku/software/TinySVM/ TinySVM is a C++ implementation of C-classification and C-regression which uses sparse vector representation and can handle several ten-thousands of training examples, and hundred-thousands of feature dimensions. Distributed as binary/source for Linux and binary for Windows. SmartLab http://www.smartlab.dibe.unige.it/ SmartLab provides several support vector machines implementations: cSVM, Windows and Linux implementation of two-classes classification; mcSVM, Windows and Linux implementation of multi-classes classification; rSVM, Windows and Linux implementation of regression; javaSVM1 and javaSVM2, Java applets for SVM classification. Gini-SVM http://bach.ece.jhu.edu/svm/ginisvm/ Gini-SVM, by Chakrabartty and Cauwenberghs, is a multi-class probability regression engine that generates conditional probability distribution as a solution. Available as source code. GPDT http://dm.unife.it/gpdt/ GPDT, by Serafini, Zanni, and Zanghirati, is a C++ implementation for large-scale SVM classification in both scalar and distributed memory parallel environments. Available as C++ source code and Windows binaries. HeroSvm http://www.cenparmi.concordia.ca/~people/jdong/HeroSvm.html HeroSvm, by Dong, is developed in C++, implements SVM classification, and is distributed as a dynamic link library for Windows. Kernels: linear, polynomial, radial basis function. Spider http://www.kyb.tuebingen.mpg.de/bs/people/spider/ Spider is an object orientated environment for machine learning in MATLAB, for unsupervised, supervised or semi-supervised machine learning problems, and includes training, testing, model selection, cross-validation, and statistical tests. Implements SVM multi-class classification and regression. Java applets http://svm.dcs.rhbnc.ac.uk/ These SVM classification and SVM regression Java applets were developed by members of Royal Holloway, University of London and ATT Speech and Image Processing Services Research Lab. LEARNSC http://www.support-vector.ws/html/downloads.html MATLAB scripts for the book Learning and Soft Computing by Kecman, implementing SVM classification and regression. Tree Kernels http://ai-nlp.info.uniroma2.it/moschitti/Tree-Kernel.htm Tree Kernels, by Moschitti, is an extension of SVMlight, obtained by encoding tree kernels. Available as binaries for Windows, Linux, Mac-OSx, and Solaris. Tree kernels are suitable for encoding chemical structures, and thus this package brings significant capabilities for cheminformatics applications. LS-SVMlab http://www.esat.kuleuven.ac.be/sista/lssvmlab/ LS-SVMlab, by Suykens, is a MATLAB implementation of least squares support vector machines (LS-SVM) which reformulates the standard SVM leading to solving linear KKT systems. LS-SVM alike primal-dual formulations have been given to kernel PCA, kernel CCA and kernel PLS, thereby extending the class of primal-dual kernel machines. Links between kernel versions of classical pattern recognition algorithms such as kernel Fisher discriminant analysis and extensions to unsupervised learning, recurrent networks and control are available. MATLAB SVM Toolbox http://www.igi.tugraz.at/aschwaig/software.html This is a MATLAB SVM classification implementation which can handle 1-norm and 2-norm SVM (linear or quadratic loss functions). SVM/LOO http://bach.ece.jhu.edu/pub/gert/svm/incremental/ SVM/LOO, by Cauwenberghs, has a very efficient MATLAB implementation of the leave-one-out cross-validation. SVMsequel http://www.isi.edu/~hdaume/SVMsequel/ SVMsequel, by Daume III, is a SVM multi-class classification package, distributed as C source or binaries for Linux or Solaris. Kernels: linear, polynomial, radial basis function, sigmoid, string, tree, information diffusion on discrete manifolds. LSVM http://www.cs.wisc.edu/dmi/lsvm/ LSVM (Lagrangian Support Vector Machine) is a very fast SVM implementation in MATLAB by Mangasarian and Musicant. It can classify datasets with several millions patterns. ASVM http://www.cs.wisc.edu/dmi/asvm/ ASVM (Active Support Vector Machine) is a very fast linear SVM script for MATLAB, by Musicant and Mangasarian, developed for large datasets. PSVM http://www.cs.wisc.edu/dmi/svm/psvm/ PSVM (Proximal Support Vector Machine) is a MATLAB script by Fung and Mangasarian which classifies patterns by assigning them to the closest of two parallel planes. OSU SVM Classifier Matlab Toolbox http://www.ece.osu.edu/~maj/osu_svm/ This MATLAB toolbox is based on LIBSVM. SimpleSVM Toolbox http://asi.insa-rouen.fr/~gloosli/simpleSVM.html SimpleSVM Toolbox is a MATLAB implementation of the SimpleSVM algorithm. SVM Toolbox http://asi.insa-rouen.fr/%7Earakotom/toolbox/index A fairly complex MATLAB toolbox, containing many algorithms: classification using linear and quadratic penalization, multi-class classification, -regression, -regression, wavelet kernel, SVM feature selection. MATLAB SVM Toolbox http://theoval.sys.uea.ac.uk/~gcc/svm/toolbox/ Developed by Cawley, has standard SVM features, together with multi-class classification and leave-one-out cross-validation. R-SVM http://www.biostat.harvard.edu/~xzhang/R-SVM/R-SVM.html R-SVM, by Zhang and Wong, is based on SVMTorch and is specially designed for the classification of microarray gene expression data. R-SVM uses SVM for classification and for selecting a subset of relevant genes according to their relative contribution in the classification. This process is done recursively in such a way that a series of gene subsets and classification models can be obtained in a recursive manner, at different levels of gene selection. The performance of the classification can be evaluated either on an independent test data set or by cross-validation on the same data set. Distributed as Linux binary. jSVM http://www-cad.eecs.berkeley.edu/~hwawen/research/projects/jsvm/doc/manual/index.html jSVM is a Java wrapper for SVMlight. SvmFu http://five-percent-nation.mit.edu/SvmFu/ SvmFu, by Rifkin, is a C++ package for SVM classification. Kernels: linear, polynomial, and Gaussian radial basis function. PyML http://pyml.sourceforge.net/ PyML is an interactive object oriented framework for machine learning in Python. It contains a wrapper for LIBSVM, and procedures for optimizing a classifier: multi-class methods, descriptor selection, model selection, jury of classifiers, cross-validation, ROC curves. BioJava http://www.biojava.org/ BioJava is an open-source project dedicated to providing a Java framework for processing biological data. It include objects for manipulating sequences, file parsers, DAS client and server suport, access to BioSQL and Ensembl databases, and powerful analysis and statistical routines including a dynamic programming toolkit. The package org.biojava.stats.svm contains SVM classification and regression. FROM:http://blog.sina.com.cn/s/blog_4c98b96001000aji.html
个人分类: 转摘文章|8959 次阅读|1 个评论
一种雷达辐射源信号分类新方法,数据采集与处理, 2009, 24(4): 487-492.
eaglezxw 2009-12-31 14:39
邹兴文,张葛祥,李明等.一种雷达辐射源信号分类新方法.数据采集与处理,2009,24(4):487-492. 摘要:针对复杂体制雷达辐射源信号分类问题,提出一种基于时频分析、图像处理和支持向量机的辐射源信号分类新方法。该方法将辐射源信号分类问题转换为图像处理及识别问题,先对辐射源信号进行时频分析,获得时频分布图,并将其转化为灰度图像和作归一化处理,再用支持向量机对处理后的图像进行分类。五种典型辐射源信号分类实验表明,该方法在信噪比高于2.5dB时,平均正确分类率达92%以上。本文工作对电子对抗信号处理具有一定的参考价值。 关键字:雷达辐射源信号;自动分类;时频分析;图像处理;支持向量机 一种雷达辐射源信号分类新方法
个人分类: 论文成果|2567 次阅读|1 个评论
核聚类与支持向量聚类
热度 1 郭崇慧 2009-8-30 15:44
聚类是数据挖掘中用来发现数据分布和隐含模式的一项重要技术 。作为一种常见的数据分析工具和无监督机器学习方法,聚类的目的是把数据集合分成若干类(或簇),使得每个类中的数据之间最大限度地相似,而不同类中的数据最大程度地不同。根据聚类算法所采用的基本思想,大致可以将它们分为五种 ,即划分聚类、层次聚类、基于密度的聚类、基于网格的聚类和基于模型的聚类。目前对聚类算法的研究正在不断深入,其中核聚类算法和谱聚类算法是近年来受到广泛关注的两种算法 。 核聚类方法的主要思想是通过一个非线性映射,将输入空间中的数据点映射到高维特征空间中,并选取合适的 Mercer 核函数代替非线性映射的内积,在特征空间中进行聚类。该方法是普适的,它比经典的聚类方法有较大的改进。它通过非线性映射增加了数据点线性可分的概率,即能较好地分辨、提取并放大有用的特征,从而实现更为准确的聚类,算法收敛速度也较快。在经典聚类算法失效的情况下,核聚类算法常常能得到较好的聚类 结果 。 支持向量聚类( Support Vector Clustering, SVC )属于核聚类的一种,它以支持向量机( Support Vector Machine, SVM )为工具进行聚类 。它是 Ben-Hur 等在基于高斯核的 SVDD ( Support Vector Domain Description )算法基础上进一步发展起来的无监督非参数型的聚类算法 。它的基本思想是:利用高斯核,将数据空间中的数据点映射到一个高维的特征空间中。再在特征空间中寻找一个能包围所有数据点象的半径最小的球,将这个球映回到数据空间,则得到了包含所有数据点的等值线集。这些等值线就是簇的边界。每一条闭合等值线包围的点属于同一个簇 。 SVC 算法主要分为两个阶段: SVC 训练阶段和聚类分配阶段。其中 SVC 训练阶段包括高斯核宽度系数的确定、核矩阵的计算、 Lagrange 乘子的计算、支持向量的选取和高维特征空间中特征球半径的计算。聚类分配阶段首先生成邻接矩阵,然后根据邻接矩阵进行聚类分配 。 SVC 算法具有两大显著优势:能产生任意形状的簇边界;能分析噪声数据点且能分离相互交叠的簇。这是许多聚类算法无法做到的。但 SVC 算法仍存在两个瓶颈: Lagrange 乘子的计算和邻接矩阵的计算。相对而言,后者需要消耗的计算时间远比前者多 。因此很多新的 SVC 算法都旨在提高邻接矩阵的计算效率 。 参考文献 Xu R, Wunsch D. Survey of Clustering Algorithms. IEEE Transaction on Neural Networks, 2005, 16(3): 645-678. Han J, Kamber M. Data Mining: Concepts and Techniques, Second Edition. Morgan Kaufmann, San Francisco , 2006. Filippone M, Camastra F, Masulli F, Rovetta S. A Survey of Kernel and Spectral Methods for Clustering. Pattern Recognition, 2008, 41(1): 176-190. 张莉,周伟达,焦李成 . 核聚类算法 . 计算机学报 , 2002, 25(6): 587-590. Burges C J C. A Tutorial on Support Vector Machines for Pattern Recognition. Data Mining and Knowledge Discovery, 1998, 2(2) : 121-167. Tax D M J, Duin R P W. Support Vector Domain Description. Pattern Recognition Letters, 1999, 20(11-13): 1191-1199. Ben-Hur A, Horn D, Siegelmann H T, Vapnik V. Support Vector Clustering. Journal of Machine Learning Research, 2001, 2(12): 125-137. Scholkopf B, Williamson R, Smola A, Shawe-Taylor J, Platt J. Support Vector Method for Novelty Detection. Advances in Neural Information Processing System 12. 2000: 582-588. 吕常魁,姜澄宇,王宁生 . 一种支持向量聚类的快速算法 . 华南理工大学学报 . 2005, 33(1): 6-9. Lee J, Lee D. An Improved Cluster Labeling Method for Support Vector Clustering. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2005, 27(3): 461-464. Camastra F, Verri A. A Novel Kernel Method for Clustering. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2005, 27(5):801-805.
个人分类: 科研笔记|15553 次阅读|12 个评论
统计学习理论与支持向量机
郭崇慧 2009-1-19 19:34
统计学习理论( Statistical Learning Theory , SLT )是一种专门研究有限样本情况下的统计理论 。该理论针对有限样本统计问题建立了一套新的理论体系,在这种体系下的统计推理规则不仅考虑了对渐近性能的要求,而且追求在现有有限信息的条件下得到最优结果。 V. Vapnik 等人从 20 世纪 70 年代开始致力于此方面研究,到 20 世纪 90 年代中期,随着其理论的不断发展和成熟,也由于神经网络等方法在理论上缺乏实质性进展,统计学习理论开始受到越来越广泛的重视。统计学习理论是建立在一套较坚实的理论基础之上的,为解决有限样本学习问题提供了一个统一的框架。 同时,在统计学习理论基础上发展了一种新的通用预测方法支持向量机( Support Vector Machines , SVM ),已初步表现出很多优于已有方法的性能 ,它能将很多现有方法(比如多项式逼近、径向基函数方法、多层感知器网络)纳入其中,有望帮助解决许多原来难以解决的问题(比如神经网络结构选择问题、局部极值问题等)。 SLT 和 SVM 正在成为继神经网络研究之后新的研究热点,并将推动数据挖掘与机器学习理论和技术的重大发展 。 参考文献: 1. V. Vapnik. The nature of statistical learning theory. Springer-Verlag, 1995. 2. V. Vapnik. Statistical learning theory. John Wiley and Sons, Inc., 1998. 3. B. E. Boser, I. Guyon, V. Vapnik. A training algorithm for optimal margin classifiers. In: D. Haussler, Editor, Proceedings of the Fifth Annual ACM Workshop of Computational Learning Theory, 144-152, ACM Press, 1992. 4. C. Cortes, V. Vapnik. Support-vector networks. Machine Learning, 1995, 20, 273-297 5. J. C. Burges. A tutorial on support vector machines for pattern recognition. Data Mining and Knowledge Discovery, 1998, 2(2), 121-167
个人分类: 科研笔记|8122 次阅读|2 个评论
SVM支持向量机matlab包共享下载
kinglandom 2008-11-30 12:20
SVM的两个MATLAB包,需要的研究工作者可免费下载: SVM_RUAN-Xiukai1 SVM_RUAN-Xiukai2 ps: 科学网的上传图片和公式实在是太痛苦了,严重阻碍的理工科研究学者的学术交流,希望网站管理者能引起重视,否则这里将成为文科类工作者的天下了,而成泛泛之谈!
个人分类: 下载专区|7576 次阅读|0 个评论
支持向量机
kinglandom 2008-11-29 16:36
自从 1995 年 Vapnik 等人提出一种机器学习的新方法支持向量机( SVM )之后,支持向量机成为继人工神经网络之后又一研究热点,国内外研究都很多。支持向量机方法是建立在统计学习理论的 VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性 ( 即对特定训练样本的学习精度, Accuracy) 和学习能力 ( 即无错误地识别任意样本的能力 ) 之间寻求最佳折衷,以期获得最好的推广能力 (Generalizatin Ability) 。 SVM 一种新的非常有发展前景的分类识别技术。 SVM 是建立在统计学习理论中结构风险最小化原理基础上,根据有限的样本信息,在模型的复杂性 ( 即对特定训练样本的学习精度 ) 和学习能力 ( 即无错误地识别样本的能力 ) 之间寻求最佳折衷,以期获得最好的推广能力。 SVM 克服了神经网络和传统分类器的过学习、局部极值点和维数灾难等诸多缺点,具备较强的泛化能力,已成为备受关注的研究热点。 核函数是基于支撑矢量机解决原样本空间中线性不可分问题时引入的一种非线性变换。其基本思想就是通过核变换,使得样本在新的高维特征空间中线性可分,然后在高维特征空间中来实现最优分类面的求解。核函数及核方法的研究是 SVM 理论与方法研究中极为重要的一个分支。 构造一个具有良好性能的支撑矢量机,模型选择是关键。传统的作法包括两个相对独立的步骤,首先凭经验选定核函数的类型,其次根据一定的准则确定核函数的参数。目前,关于核函数的研究有很多,但是,大多数的方法是在特定的应用领域内,通过实验分析来解决,至今没有一个能够指导 SVM 选择最优核的理论和方法。核函数的选择与构造仍是一个亟待解决的难题。 图 1 样本集线性可分示意图
个人分类: 理论探索|6256 次阅读|2 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-19 12:30

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部