支持向量机 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 . 感谢您提供更多的可下载程序! 感谢您的指教! 感谢您指正以上任何错误!
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
聚类是数据挖掘中用来发现数据分布和隐含模式的一项重要技术 。作为一种常见的数据分析工具和无监督机器学习方法,聚类的目的是把数据集合分成若干类(或簇),使得每个类中的数据之间最大限度地相似,而不同类中的数据最大程度地不同。根据聚类算法所采用的基本思想,大致可以将它们分为五种 ,即划分聚类、层次聚类、基于密度的聚类、基于网格的聚类和基于模型的聚类。目前对聚类算法的研究正在不断深入,其中核聚类算法和谱聚类算法是近年来受到广泛关注的两种算法 。 核聚类方法的主要思想是通过一个非线性映射,将输入空间中的数据点映射到高维特征空间中,并选取合适的 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.
统计学习理论( 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