随着高通量测序技术的发展,其以高输出量与高解析度的特性,为我们提供了丰富的遗传学测序数据,在生物信息学中得到了广泛应用。正是因为基因大数据有着巨大的处理分析价值和需求,众多生信算法应运而生。其中,
机器学习已经成为了解决这些问题的一个重要手段。机器学习(Machine Learning)将算法与计算机结合,实现人工智能化。它涉及了概率论、统计学、逼近论、凸分析、算法复杂度等多种理论。
支持向量机作为机器学习的算法之一,可以有效地处理生物学数据的分类与预测问题。对于高通量测序所得到的不同类别的数据,该算法可以将其最大化地区分开来,并能预测新来的样品数据到底属于哪一类。
在今天的生信课堂中,我们来学习:什么是支持向量机;与传统分类模型相比,它有什么优势;它是如何得到广义最优化分类面的。
支持向量机的定义
支持向量机(support vector machine,简称SVM)是一种分类算法,它通过寻求
最小结构化风险来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好的统计规律。通俗来讲,它是一种二类分类模型,其基本模型定义为“使特征空间上的间隔最大的线性分类器”,即支持向量机的学习策略便是间隔最大化,最终将原始分类问题转化为一个凸二次规划问题的求解。 支持向量机的优势
统计学习理论为机器学习问题建立了较好的理论框架,支持向量机以统计学为理论基础,基于结构风险最小化原则
避免了传统分类方法中存在的模型推广能力差、维数过高不易处理、样品产生局部极小点等问题,且在小样本条件下仍然具有良好的推广能力。
广义最优化分类面的获得
SVM是从线性可分情况下的最优分类面发展而来的。它先解决了线性可分的问题,能百分百地将两类数据分开;之后解决了线性不可分的问题;最后将非线性问题映射到高维空间,最大程度地区分开两类非线性的数据。
1. 在n维空间中找到一个分类超平面,将空间上的点分类。
如下图是线性分类的例子。
2. 一般而言,一个点距离超平面的远近可以表示分类预测的确信或准确程度。距离越大,确信/准确程度越高。SVM就是要最大化这个间隔值。而在虚线上的点便叫做支持向量Support Vector。
3. 实际中有很多数据是线性不可分的。在这种情况下,为了找到超平面,我们先允许他们产生一定的错分。也就是说,当数据线性可分时,所有观测点必须位于超平面两侧;
当线性不可分时,对于有些点给它一个宽松的条件,这个时候就会产生一个松弛变量。使用松弛变量可以处理噪声数据。
4. 然而,实际中
有些数据即使允许错分也不能解决,即怎么样错分都不能用线性划分。此时,我们的
常用做法是把样例特征映射到高维空间中去(如下图);即对于非线性问题,SVM可以通过非线性变换将其转化为某个高维特征空间中的线性问题,变成非线性函数的线性组合,进而对原始问题进行分类。
线性不可分映射到高维空间,可能会导致维度高到可怕的N维乃至无穷维,导致计算复杂。核函数可以巧妙处理这一点,它虽然也是将特征从低维转化到高维,但
核函数事先在低维上进行计算,然后将实质上的分类效果表现在高维上,从而避免了上文所说的直接在高维空间中进行复杂计算。
试问实现映射的传送门到底长什么样,核函数又有哪些奥义,请期待锐翌基因的下期生信课堂!想在等待期间继续充电的生信小伙伴,可以穿越过“参考文献”,进入“
推荐阅读”区,回顾往期精品。
此外,大家如果在基因测序分析中遇到什么困难,不要蓝瘦,不要香菇,留言告诉小锐,我们的实验高手、生信达人会帮你顺利通关~ 参考文献
[1]唐发明. 基于统计学习理论的支持向量机算法研究[D]. 华中科技大学, 2005.
[2]吴希贤. 基于优化算法的基因选择与癌症分类[D]. 湖南大学, 2008.
[3]常甜甜. 支持向量机学习算法若干问题的研究
[D]. 西安电子科技大学, 2010.
[4]Franc V, Zien A, Schölkopf B. Support Vector Machines as Probabilistic Models.[C]// International Conference on Machine Learning, ICML 2011, Bellevue, Washington, Usa, June 28 - July. 2011:665-672.
[5]Burges C J C. A Tutorial on Support Vector Machines for Pattern Recognition[J]. Data Mining & Knowledge Discovery, 1998, 2(2):121-167.
[6]Fan R E, Chen P H, Lin C J. Working Set Selection Using Second Order Information for Training Support Vector Machines[J]. Journal of Machine Learning Research, 2005, 6(4):1889-1918.
[7]Chang C C, Lin C J. LIBSVM: A library for support vector machines[J]. Acm Transactions on Intelligent Systems & Technology, 2011, 2(3):389-396.
推荐阅读