请选择 进入手机版 | 继续访问电脑版

大唐名人网

 找回密码
 暂停注册
大唐名人网 门户 IT 查看内容

深度|顶级期刊PLoS论文:利用机器学习提高发现和理解生物数据的效率(附论文)

2016-7-3 22:14| 发布者: admin| 查看: 180| 评论: 0

  选自 PLoS Computational Biology

  作者:Adi L Tarca, Vincent J Carey, Xue-wen Chen, Roberto Romero, Sorin Drghici

  机器之心编译

  参与:张可、Quantum Cheese、微胖、吴攀

  生物学与机器学习间的历史悠久且复杂。机器学习的早期技术被称为感知器,它由模拟实际的神经元行为的算法构成,该算法衍生出了人工神经网络(人工神经网络)设计领域。人工神经网络结构的灵感来自于视觉神经系统,例如自适应共振理论(ART)和neocognitron算法。近几年来,随着测量机器学习技术可靠性的数学框架越来越灵活,我们希望机器学习方法能提升发现和理解大量复杂的生物数据的效率。以下是这篇论文的主要内容(有删节)。点击阅读原文,下载论文。

  本文结构:

  一、简介

  二、主要的概念及定义

  三、监督学习

  

五、使用 R 语言实践

  一、简介

  机器学习是指创建并评价一系列算法,这些算法源自已知数据的模型基础上,帮助计算机进行模式识别,分类以及预测。从广义上来说,考虑机器学习时应确认机械化的两个方面。

  第一,机器学习的目的是完成分类与预测,这可以通过一个经编程之后计算机完成。也就是说,机器学习的产物是分类器,该分类器可以在硬件上使用。

  第二,分类器的创建本身应该是高度机械化的,不应涉及太多人类外部输入的影响。第二个方面是不可避免的模糊性,但基本的目标是,使用自动算法可以最大限度地降低出现人类偏见的可能性,这种偏见可能会影响算法的选择和运行。无论是算法的创建、分类还是预测都是基于具体的,可观测到的数据。

  生物学与机器学习间的历史悠久且复杂。机器学习的早期技术被称为感知器,它由模拟实际的神经元行为的算法构成,从该算法衍生出了人工神经网络(人工神经网络)设计领域。翻译起始位点序列分析的早期工作使用感知器来定义大肠杆菌起始位点的标准。进一步,人工神经网络结构的灵感来自于视觉神经系统,例如自适应共振理论(ART)和neocognitron算法。在这几年中,机器学习技术随着测量其可靠性的数学框架越来越灵活,自然地,我们希望机器学习方法能在大量且复杂的生物数据中提高发现和理解的效率。

  本文由四个主要部分构成:1. 简要回顾定义和数学前提条件;2. 描述监督学习领域;3. 回顾无监督学习方法;4.回顾各种方法以及开源数据分析和可视化R语言实例。

  二、主要的概念及定义

  机器学习领域中两个主要的范例是:监督和无监督学习。这两者都有可能应用于生物学。

  监督学习是使用一组属性或特征对给定集合中的对象进行分类。分类的结果是是一个规则集,其描述了仅基于特征值将对象分为不同的类别。生物背景下,对象到类的映射是例如组织基因表达谱到疾病类别,以及蛋白质序列到它们的次级结构。这两个例子的特征分别是在组织样本中测得的单个基因的表达水平和在蛋白质序列中指定位置的一个给定的氨基酸符号的存在与否。监督学习的目标是设计一个基于特征能够准确预测新的对象是否属于特定类别的系统。除了预测一个类别的特征,如类标签(与典型判别分析相似),监督技术也可用于预测对象的连续性特征(与回归分析相似)。在监督学习的任何应用程序中,它对分类算法返回一个怀疑值(表明该对象的分类情况不确定)或异常值(表明该对象不像任何已观测到的其他对象,将其归于任何一类都是有问题的)都是有用的。

  相较于监督学习,无监督学习在研究中是没有预定义的类标签的。其目的是分析数据,发现对象间的相似性,以相似性来对对象进行分类,该过程称为集群。也就是说,无监督学习的目的是在数据中揭示自然分组。因此,这两者之间的区别如下:在监督学习中,数据具有类标签,我们学习如何将被标记的数据与类关联起来;在无监督学习中,所有的数据都是没有被标记的,学习的过程包括定义标签并将其与对象关联起来。

  在一些实际应用中,例如蛋白质结构的分类,仅有少量被标记的样本(具有已知结构类别的蛋白质序列),而其他许多样本(序列)并不知所属哪类。在这种情况下,当仅使用被标记的样本时,可以应用半监督学习,以获得更好的分类器。这是可能的,例如,通过 “集群假设”,即类标签可以从已标记的转移到特征空间附近未标记的对象上。

  无监督与监督机器学习技术在生命科学中的应用在文献中比比皆是。例如,基因表达数据被成功的用来对不同临床组病人分类,并确定新的疾病组,遗传密码可以用来预测蛋白质次级结构。使用机器学习算法的连续变量预测被用来估计互补DNA微列阵数据偏差。

  三、监督学习

  

(一)一般性概念

  

  让我们考虑下一般的情况,把一个对象集合:i = 1, . . ., n 归类到K个预定义的类别中。

  例如,你想根据基因表达植区分不同的肿瘤类型,那么K就表示已知肿瘤类型的数量。可以把特征数据排列到一个n × p的矩阵X = (xij)中,xij代表对象(样本)i的j变量的测量值,而且不会丢失普遍性。矩阵X 的每一行就是一个具有p个特征量的向量xi,每个特征量由yi表示,所有特征量组成一个集合y = 1,2,. . .,c,. . .,K。在这样的多级分类问题中,分类器C(x)就可以被看作是K个判别式函数gc(x)的集合,具有特征向量x的对象会被归到c类中,gc(x)在类别标签集c ∈ {1,. . .,K}中最大化。特征空间X就被分类器 C(x)分割成K个不相交的子集。

  判别式函数gc(x) 的鉴别有两种主要方法。[13]

  第一种假设了底层类条件概率密度函数(x对一个给定类别的概率密度函数)gc(x) = f(p(x | y = c)),其中f是一个单调递增的函数,比如对数函数。从直觉上来看,产生的分类器会把对象x归到它出现概率最大的类别中。实际上, p(x | y = c)是未知的,所以要从一个正确分类的样本集中来估测,这个样本集名为训练和设计集。含参和无参的方法都可以估测概率密度。在含参类方法中,我们讨论的是线性和二次判别式,而在无参方法中,我们用的是k-最近邻决策规则。

  第二种方法是用数据直接估测分类边界,不需要概率密度函数的显式计算。典型的算法有决策树,神经网络,以及支持向量机(SVM)。

  (二)误差估测

  开发分类模型的目的是预测新样本的归属关系。如果用来构建分类器的数据也用于计算误差率,那由此得出的误差估测-叫做再置换估测-就会有所偏差。误差估测更有效的方法是延伸程序,把数据分割成两个等同的部分。一个部分用来训练分类器(训练集),另一部分用来估测误差(试验集)。但对于生物学数据,由于数据量太少,这种方法的可行性并不大。更合适的方法是留一交叉验证法(leave-one-out cross-validation,LOO),每次用(n 1)个样本训练分类器,留下一个样本检验分类器,依次交替,总共训练n次。将由此得到的n个测试结果排入一个混淆矩阵,再通过非对角线上元素的占比来估测误差值(Err)。虽然通过留一交叉验证法得到的误差值的偏差很小,但方差可能较大。要在偏差和方差之间取得较好的平衡,可以用N倍交叉验证法,把数据集分成(n-m)个训练点和m个试验点(N = n/m)。再通过多次重采样得到分类器误差的平均值和标准差。

  (三)分类器的类型

  1. 二次和线性判别式

  2. k-最近邻分类器

  3. 决策树

  决策树是一种特殊分类器[19],它用决策树每个节点上最突出的特征变量构成的迭代数据集来训练。输入空间X反复被分成后代子集,从X本身开始。构造决策树分类器有几种试探性方法。通常用的是自上而下的方法,从根部节点开始,接着分割特征空间。构造过程包括三个主要步骤。1)为每个内部节点选择分割规则,即确定用来分割各节点数据集的特征和阈值。2)找到末端节点,即对于每个节点我们要决定是继续分割还是终止并给它分配一个类别标签。3)最小化误差估测率,把类别标签分配给末端节点。

  最常用的决策树分类器是二进制的。每个节点只有一个特征变量,导致决策边界与特征轴平行(见图1)。虽然这种方法本质上并不是最优的,但得到的分类器却很容易解释。

深度|顶级期刊PLoS论文:利用机器学习提高发现和理解生物数据的效率(附论文)

  图1

  4. 神经网络:用于分类问题的最常见神经网络结构,是一个完全连接的三层节点结构,信号经由隐藏层(见图2),从输入层被传播到输出层。输入层仅将特征向量 x 的值输入给隐藏层。每一个隐藏单元赋予输入层的所有输出的权重是不同的,加上一个偏置项,并且使用一个非线性函数,通常是 logistic sigmoid 来转换结果。

深度|顶级期刊PLoS论文:利用机器学习提高发现和理解生物数据的效率(附论文)

深度|顶级期刊PLoS论文:利用机器学习提高发现和理解生物数据的效率(附论文)

  图2

  和隐藏层类似,输出层处理隐藏层的输入。通常,每一类都有一个输出单元。可以将这个神经网络的 kth 输出实现的判别函数写成:

深度|顶级期刊PLoS论文:利用机器学习提高发现和理解生物数据的效率(附论文)

  考虑到 NT 训练样本可以用在带有 K 输出单元的神经网络中。训练集合中的神经网络误差可以计算为:

深度|顶级期刊PLoS论文:利用机器学习提高发现和理解生物数据的效率(附论文)

  ω 可以表征神经网络中的可调参数(权重和偏差),这些可调参数可用小随机参数值初始化,es 是当一些训练样本用于输入网络时是获得的误差。在给定权重的当前值下,误差 es 被定义为与网络的期望输出与实际输出之间的平方差之和成正比,也就是:

深度|顶级期刊PLoS论文:利用机器学习提高发现和理解生物数据的效率(附论文)

  这里的 gs,k 表征的是单元 k 样本的实际输出,即便gs,k 被设计(目标)成同一个样本的输出值。当一个样本属于K 组时,理想的结果是输出单元 k 的值为 1,而其他所有的输出单元值为 0。这个学习过程是通过更新参数 ω 让一个迭代过程中的全局误差减小来完成的。普遍的更新规则是反向传播( back-propagation),在这个规则中,可调参数 ω 逐渐向将训练误差e(ω)减少到最小的方向改变。

  可以这样修改上述 方程6,训练过程不仅在训练集上最小化了误差平方和,也最小化了网络的权重平方和。权重规范化,阻止输入中的小变化,提升了模型的泛化能力,极大地影响了输出。权重规范化的基本假设是集合之间的界限不明显。

  5. 支持向量机:SVM的关键要点是:

  1)认为有一个特征表征,里面的集合能被一个单一平面(可能带有一点点误差)区别出来。

  2)选择位于集合边界(大幅度)附近的哨点之间的最大距离上的单一平面

  3)在原始特征空间中的数据不是线性可分时,使用 kernel 转换,但这些数据可能在转换后的空间里是线性可分的。

深度|顶级期刊PLoS论文:利用机器学习提高发现和理解生物数据的效率(附论文)

  (四)降维

  分类器设计的一个重要面向就是,在某些应用中,输入空间的维度p 太高,以致于不可能仅用有限的样本数((p n))对分类器内部参数进行可靠的估测。在这类情况下,降维或许有用。有两类方法。第一类就是组合现有的特征(比如,计算一个线性组合)得到更少数量的新特征。PCA( Principal component analysis,主要成分分析)就是一个很特别的方法,可以识别出新变量(主方向,principal directions)并取代原初特征。第二类降维的方法包括特征选择,包括挑选有充足预测性的原初(original)变量的子集。

  四、无监督学习/聚类分析

  六、结论


相关阅读

投稿、合作、联系:admin2#tangedu.cn| 小黑屋|网站地图|大唐名人网 |京ICP备07504790号|

GMT+8, 2020-12-5 18:59 , Processed in 0.094537 second(s), 23 queries .

Powered by Discuz!

© 2001-2015 Comsenz Inc.

返回顶部