机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
基本简介:
机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。很多推论问题属于无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。
机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测xyk欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。
学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法。比如,Langley(1996) 定义的机器学习是“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。(Machine learning is a science of the artificial The field's main objects of study are artifacts, specifically algorithms that improve their performance with experience')Tom Mitchell的机器学习(1997)对信息论中的一些概念有详细的解释,其中定义机器学习是提到,“机器学习是对能通过经验自动改进的计算机算法的研究”。(Machine Learning is the study of computer algorithms that improve automatically through experience)Alpaydin(2004)同时提出自己对机器学习的定义,“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”(Machine learning is programming computers to optimize a performance criterion using example data or past experience)
尽管如此,为了便于进行讨论和估计学科的进展,有必要对机器学习给出定义,即使这种定义是不完全的和不充分的。顾名思义, 机器学习是研究如何使用机器来模拟人类学习活动的一门学科。稍为严格的提法是:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”,指的就是计算机;现在是电子计算机,以后还可能是中子计算机、光子计算机或神经计算机等等。
机器能否象人类一样能具有学习能力呢?1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对弈中改善自己的棋艺。4年后,这个程序战胜了设计者本人。又过了3年,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。这个程序向人们展示了机器学习的能力,提出了许多令人深思的社会问题与哲学问题。
机器的能力是否能超过人的,很多持否定意见的人的一个主要论据是:机器是人造的,其性能和动作完全是由设计者规定的,因此无论如何其能力也不会超过设计者本人。这种意见对不具备学习能力的机器来说的确是对的,可是对具备学习能力的机器就值得考虑了,因为这种机器的能力在应用中不断地提高,过一段时间之后,设计者本人也不知它的能力到了何种水平。
机器学习是人工智能研究较为年轻的分支,它的发展过程大体上可分为4个时期。
第一阶段是在50年代中叶到60年代中叶,属于热烈时期。…>
第二阶段是在60年代中叶至70年代中叶,被称为机器学习的冷静时期。
第三阶段是从70年代中叶至80年代中叶,称为复兴时期。
机器学习的最新阶段始于1986年。
机器学习进入新阶段的重要表现在下列诸方面:
(1) 机器学习已成为新的边缘学科并在高校形成一门课程。它综合应用心理学、生物学和神经生理学以及数学、自动化和计算机科学形成机器学习理论基础。
(2) 结合各种学习方法,取长补短的多种形式的集成学习系统研究正在兴起。特别是连接学习符号学习的耦合可以更好地解决连续性信号处理中知识与技能的获取与求精问题而受到重视。
(3) 机器学习与人工智能各种基础问题的统一性观点正在形成。例如学习与问题求解结合进行、知识表达便于学习的观点产生了通用智能系统SOAR的组块学习。类比学习与问题求解结合的基于案例方法已成为经验学习的重要方向。
(4) 各种学习方法的应用范围不断扩大,一部分已形成商品。归纳学习的知识获取工具已在诊断分类型专家系统中广泛使用。连接学习在声图文识别中占优势。分析学习已用于设计综合型专家系统。遗传算法与强化学习在工程控制中有较好的应用前景。与符号系统耦合的神经网络连接学习将在企业的智能管理与智能机器人运动规划中发挥作用。
(5) 与机器学习有关的学术活动空前活跃。国际上除每年一次的机器学习研讨会外,还有计算机学习理论会议以及遗传算法会议。
CAdoConnector::CAdoConnector()
{
this->DBN="TANG";
this->PSW="sa";
this->UID=""; //这里改为你建库时指定的SA密码。
各种编程语言的深度学习库整理大全!
Python1 Theano是一个python类库,用数组向量来定义和计算数学表达式。它使得在Python环境下编写深度学习算法变得简单。在它基础之上还搭建了许多类库。
1Keras是一个简洁、高度模块化的神经网络库,它的设计参考了Torch,用Python语言编写,支持调用GPU和CPU优化后的Theano运算。
2Pylearn2是一个集成大量深度学习常见模型和训练算法的库,如随机梯度下降等。它的功能库都是基于Theano之上。
3Lasagne是一个搭建和训练神经网络的轻量级封装库,基于Theano。它遵循简洁化、透明化、模块化、实用化和专一化的原则。
4Blocks也是一个基于Theano的帮助搭建神经网络的框架。
2 Caffe是深度学习的框架,它注重于代码的表达形式、运算速度以及模块化程度。它是由伯克利视觉和学习中心(Berkeley Vision and Learning Center, BVLC)以及社区成员共同开发。谷歌的DeepDream项目就是基于Caffe框架完成。这个框架是使用BSD许可证的C++库,并提供了Python调用接口。
3 nolearn囊括了大量的现有神经网络函数库的封装和抽象接口、大名鼎鼎的Lasagne以及一些机器学习的常用模块。
4 Genism也是一个用Python编写的深度学习小工具,采用高效的算法来处理大规模文本数据。
5 Chainer在深度学习的理论算法和实际应用之间架起一座桥梁。它的特点是强大、灵活、直观,被认为是深度学习的灵活框架。
6 deepnet是基于GPU的深度学习算法函数库,使用Python语言开发,实现了前馈神经网络(FNN)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、自编码器(AE)、深度玻尔兹曼机(DBM)和卷积神经网络(CNN)等算法。
7 Hebel也是深度学习和神经网络的一个Python库,它通过pyCUDA控制支持CUDA的GPU加速。它实现了最重要的几类神经网络模型,提供了多种激活函数和模型训练方法,例如momentum、Nesterov momentum、dropout、和early stopping等方法。
8 CXXNET是一个基于MShadow开发的快速、简洁的分布式深度学习框架。它是一个轻量级、易扩展的C++/CUDA神经网络工具箱,提供友好的Python/Matlab接口来进行训练和预测。
9 DeepPy是基于NumPy的深度学习框架。
10 DeepLearning是一个用C++和Python共同开发的深度学习函数库。
11 Neon是Nervana System 的深度学习框架,使用Python开发。
Matlab
1 ConvNet 卷积神经网络是一类深度学习分类算法,它可以从原始数据中自主学习有用的特征,通过调节权重值来实现。
2 DeepLearnToolBox是用于深度学习的Matlab/Octave工具箱,它包含深度信念网络(DBN)、栈式自编码器(stacked AE)、卷积神经网络(CNN)等算法。
3 cuda-convet是一套卷积神经网络(CNN)代码,也适用于前馈神经网络,使用C++/CUDA进行运算。它能对任意深度的多层神经网络建模。只要是有向无环图的网络结构都可以。训练过程采用反向传播算法(BP算法)。
4 MatConvNet是一个面向计算机视觉应用的卷积神经网络(CNN)Matlab工具箱。它简单高效,能够运行和学习最先进的机器学习算法。
CPP
1 eblearn是开源的机器学习C++封装库,由Yann LeCun主导的纽约大学机器学习实验室开发。它用基于能量的模型实现卷积神经网络,并提供可视化交互界面(GUI)、示例以及示范教程。
2 SINGA是Apache软件基金会支持的一个项目,它的设计目标是在现有系统上提供通用的分布式模型训练算法。
3 NVIDIA DIGITS是用于开发、训练和可视化深度神经网络的一套新系统。它把深度学习的强大功能用浏览器界面呈现出来,使得数据科学家和研究员可以实时地可视化神经网络行为,快速地设计出最适合数据的深度神经网络。
4 Intel Deep Learning Framework提供了Intel平台加速深度卷积神经网络的一个统一平台。
Java
1 N-Dimensional Arrays for Java (ND4J) 是JVM平台的科学计算函数库。它主要用于产品中,也就是说函数的设计需求是运算速度快、存储空间最省。
2 Deeplearning4j 是第一款商业级别的开源分布式深度学习类库,用Java和Scala编写。它的设计目的是为了在商业环境下使用,而不是作为一款研究工具。
3 Encog是一个机器学习的高级框架,涵盖支持向量机、人工神经网络、遗传编程、贝叶斯网络、隐马可夫模型等,也支持遗传算法。
JavaScript
1 Convnetjs 由JavaScript编写,是一个完全在浏览器内完成训练深度学习模型(主要是神经网络)的封装库。不需要其它软件,不需要编译器,不需要安装包,不需要GPU,甚至不费吹灰之力。
Lua
1 Torch是一款广泛适用于各种机器学习算法的科学计算框架。它使用容易,用快速的脚本语言LuaJit开发,底层是C/CUDA实现。Torch基于Lua编程语言。
Julia
1 Mocha是Julia的深度学习框架,受C++框架Caffe的启发。Mocha中通用随机梯度求解程序和通用模块的高效实现,可以用来训练深度/浅层(卷积)神经网络,可以通过(栈式)自编码器配合非监督式预训练(可选)完成。它的优势特性包括模块化结构、提供上层接口,可能还有速度、兼容性等更多特性。
Lisp
1 Lush(Lisp Universal Shell)是一种面向对象的编程语言,面向对大规模数值和图形应用感兴趣的广大研究员、实验员和工程师们。它拥有机器学习的函数库,其中包含丰富的深度学习库。
Haskell
1 DNNGraph是Haskell用于深度神经网络模型生成的领域特定语言(DSL)。
NET
1 AccordNET 是完全用C#编写的NET机器学习框架,包括音频和图像处理的类库。它是产品级的完整框架,用于计算机视觉、计算机音频、信号处理和统计应用领域。
R
1 darch包可以用来生成多层神经网络(深度结构)。训练的方法包括了对比散度的预训练和众所周知的训练算法(如反向传播法或共轭梯度法)的细调。
2 deepnet实现了许多深度学习框架和神经网络算法,包括反向传播(BP)、受限玻尔兹曼机(RBM)、深度信念网络(DBP)、深度自编码器(Deep autoencoder)等等。
//双字节加法指令,将内部RAM 50H开始的2个单元中存放的2字节十六进制 //和内部RAM 60H单元开始的2个单元中存放的2字节十六进制相加 //结果存放在60H开始的单元中 DouByteAdd:: LDA $0051H //先取出低字节的数据进行相加 ADD $0061H //两个字节的低字节相加结果放在A中 STA $0061H //低字节相加的结果存放在$0041H中 LDA $0050H //取出高字节的数据 ADC $0060H //高字节数据相加 STA $0060H //高字节数据相加结果存放在$0040H RTS //功能:双字节减法指令。将内部RAM 50H开始的2个单元中存放的2字节十六进制 //和内部RAM 60H单元开始的2个单元中存放的2个字节十六进制数相减 //结果存放在60H开始的单元中 DouByteSub: LDA $0051H //取出被减数的低字节 SUB $0061H //和减数的低字节相减 STA $0061H //结果存放在减数的低字节位置 LDA $0050H //去被减数的高字节 SBC $0060H //和减数的高字节相减 STA $0060h //结果存放在减数高字节位置 RTS /标号:BCDA //功能:双字节BCD码加法 //入口条件:被加数在add1中,加数在add2中。 //出口信息:和在add1中。 BCDA:: count: blkb 1 //字节的个数,如果改变这个参数可以实现多字节BCD码加法 LDA #2 STA count //设置循环次数 LDA #add1 //初始化被加数指针,从低位开始运算 ADD count //将add1的指针指到最低字节处 STA add1 LDA #add2 //初始化加数指针,从低位开始运算 ADD count //将add2的指针指到最低字节处 CLC //清进位标志位 BCLR 4,CCR //清半进位标志 lable1:DBNZ count ,loop //确定循环次数 JMP BCDA_EXIT loop: DEC add1 //将被加数移到相应字节 DEC add2 //将加数移到相应字节 LDA add1 ADDC add2 DDA //十进制调整 STA add1 //存放相应字节运算结果 BCLR 4,CCR //清半进位标志 JMP label1 BCDA_EXIT: RTS //① 求BCD减数的双字节补数公式:999AH-减数。这里的999AH代表四位BCD码的模1000。 //② 被减数加上减数的补数。 //③ 对第②步的加法之和进行十进制加法调整,调整结果即为所求的减法结果。 //标号:BCDSUB //功能:双字节字节BCD码减法 //入口条件:被减数在add1中,减数放在add2中 BCDSUB:: LDHX add2 //取得减数 JMP BCD_NEG //求减数的补数 JMP BCD //调用BCD码双字节加法子程序 RTS //标号:BCD_NEG //功能:对BCD码求补 //入口条件:将add2中所存放的BCD码转换成补码 //原理:3字节BCD码的模位99999A,4字节BCD码的模位:9999999A,因此求多字节BCD // 码的补数时,只要将最后一位单独处理即可,高位用循环求 //出口参数:add2中存放求补之后的BCD码 BCD_NEG:: count : blkb 1 //字节的个数 MOV #2 , count //设置循环次数 LDA #add2 //初始化add2的指针,将其指向最低地址处 ADD count DEC count //字节数减1 CLC //清进位标志位 //求最低一字节BCD码的补码 DEC add2 //将add2指针指到最低一字节 LDA #0x9AH SBC add2 STA add2 //求得最低一字节BCD补码 //求高字节BCD码的补码 lable1:DBNZ count ,loop //确定循环次数 JMP BCD_NEG_EXIT loop: LDA #0X99H SBC add2 LDA add2 INC add2 JMP label1 BCD_NEG_EXIT: RTS //一个延时子程序,用来延时1000个指令周期 Delay: LDA #200 //延时约200 5 = 1000(T)---- Delay_1: NOP //(1T) NOP //(1T) DBNZA Delay_1 //(3T) AIX #-1 CPHX #0 BNE Delay //=========================== DelayHX_Exit: PULA //A出栈(恢复寄存器A) RTS
深度学习研究及其在生物医药领域的潜在应用
深度学习已经在各种生物学应用中取得成功。在本节中,我们回顾了在各个研究领域进行深度学习的挑战和机会,并在可能的情况下回顾将深度学习应用于这些问题的研究(表1)。我们首先回顾了生物标志物开发的重要领域,包括基因组学,转录组学,蛋白质组学,结构生物学和化学。然后,我们回顾一下药物发现和再利用的前景,包括使用多平台数据。
生物标志物。生物医学的一个重要任务是将生物学数据转化为反映表型和物理状态(如疾病)的有效生物标志物。生物标志物对于评估临床试验结果[18]以及检测和监测疾病,特别是像癌症这样的异质性疾病,是至关重要的[19,20]。识别敏感特异性生物标志物对于现代转化医学来说是一个巨大的挑战[21,22]。计算生物学是生物标志物发展。事实上,从基因组学到蛋白质组学都可以使用任何数据来源;这些在下一节中讨论。
基因组学。新一代测序(NGS)技术已经允许生产大量的基因组数据。这些数据的大部分分析都可以用现代计算方法在计算机上进行。这包括基因组的结构注释(包括非编码调控序列,蛋白质结合位点预测和剪接位点)。
基因组学的一个重要分支是宏基因组学,也被称为环境,生态基因组学或社区基因组学。NGS技术揭示了未经培育且以前没有得到充分研究的微生物的自然多样性。
宏基因组学中有几个生物信息学挑战。一个主要挑战是序列数据的功能分析和物种多样性的分析。深信念网络和经常性神经网络的使用已经允许通过表型分类宏基因组学pH数据和人类微生物组数据。 与基线方法相比,这些方法并没有提高分类准确性作为强化学习,但确实提供了学习数据集的分层表示的能力[23]但是,Ditzler等强调DNN可以改善现有的宏基因组学分类算法,特别是在大数据集和适当选择网络参数的情况下。
表1 深度学习技术应用于不同类型生物医学数据的总结
应用
数据源
研究目的
DL技术
准确率
利用深度学习增强癌症诊断和分类[28]
13种不同的癌症基因表达数据集(13 different gene expression data sets of cancers)
癌症检测,癌症类型分类
稀疏和堆栈自动编码器+ Softmax回归
对于每个数据集的准确度都比基准更好
深度学习组织调节拼接代码[32](Deep Learning of the Tissue-Regulated Splicing Code)
从RNA-Seq数据分析11 019个小鼠替代外显子(11 019 mouse alternative exons profiled from RNA-Seq data)
拼接模式识别
自动编码器+ DNN(3层)+薄荷(超参数选择)
AUC优于基线准确度
深卷积神经网络注释基因表达模式的小鼠脑[30]
由Allen Institute for Brain Science的小鼠脑的四个发育阶段的ISH图像
基因表达注释
CNN(Overfeat)
AUC=0894
多模式深度学习方法的多平台癌症数据的综合数据分析[52]
卵巢癌和乳腺癌数据集(ovarian and breast cancer data sets)
聚集癌症患者
DBNs
lncRNA-MFDL:通过融合多个特征和使用深度学习鉴定人类长的非编码RNA[34]
Gencode和RefSeq的蛋白质编码和非编码序列(protein-coding and noncoding sequences from Gencode and RefSeq)
鉴定长的非编码RNA
lncRNA-MFDL(深层堆叠网络,每个单元DNN)
ACC = 971%
用于宏基因组分类的多层和递归神经网络[23]
pH微生物组测序数据集和人微生物组测序数据集(pH microbiome sequencing data set and human microbiome sequencing data set)
宏基因组分类
MLP, DBN, RNN
comparison
Multi-Level Gene/MiRNA Feature Selection using Deep Belief Nets and Active Learning[27]
来自6种癌症的MiRNA表达数据(MiRNA expression data from 6 type of cancers)
Gene/MiRNA特征选择(基因表达)
MLFS(DBN +特征选择+无监督主动学习)(MLFS (DBN + feature selection + unsupervised active learning))
F1 = 847%
成对输入神经网络用于目标配体相互作用预测[45]
sc-PDB数据库(sc-pdb:用于鉴定蛋白质中“可药用”结合位点的变化和多样性的数据库)
蛋白质 - 配体预测
PINN (SVD + Autoencoder/RBM)
AUC = 0959
非编码变量与深度学习序列模型的预测效应[49]
来自ENCODE和Roadmap Epigenomics项目的160种不同TF,125种DHS谱和104种组蛋白标记谱的690 TF结合谱
从序列中预测非编码变异效应
DeepSEA (CNN)
AUC = 0923 (histone)
通过深度学习预测DNA和RNA结合蛋白的序列特异性[48]
506 ChIP-seq实验,DREAM5 TF-DNA基序识别挑战
DNA和RNA结合蛋白的特异性分类
DeepBind(CNN)
train, AUC = 085; validation,
AUC > 07
具有双模深信道网络的蜂窝信号系统的跨物种学习[36]
来自SBV IMPROVER挑战的磷酸化蛋白质组学数据
跨物种学习(模拟细胞信号系统)
bDBN (bimodal DBN) and
sbDBN (semirestricted bimodal
DBN)
AUC = 093
表达数量性状基因(eQTL)的鉴定与阐明及其调控机制的深入研究[35]
GEUVADIS(来自从参与1000基因组项目的个体中提取的337个淋巴母细胞系的选择的RNA-Seq和全基因组范围的SNP-阵列数据的组合)
确定eQTL
MASSQTL(DNN)
AUC = 085
建立RNA结合蛋白靶点结构特征的深度学习框架[43]
源自doRiNA的24个数据集(转录后调节中的RNA相互作用数据库)
预测RNA结合蛋白的结合位点(RBP靶标识别)
DBN(多模式DBN)
AUC = 0983 on PTB HITS-CL
DeepCNF-D:通过加权深度卷积神经场预测蛋白质有序/无序区域[42]
来自CASP的CASP9, CASP10数据集(蛋白质结构预测的关键评估)
预测蛋白质有序/无序区域
DeepCNF (CRF + CNN)
AUC = 0855 on CASP9
AUC = 0898 on CASP10
用深度神经网络分割微阵列[29]
两个数据集,来自2006年Lehmussola等人的微阵列图像
微阵列分割
CNN
MAE = 025
深度学习药物引起的肝损伤[46]
四个数据集,化合物,化学结构注释DILI阳性或DILI阴性(four data sets, compounds, chemical structure annotated DILI-positive or DILI-negative properties)
药物性肝损伤预测
RNN(递归神经网络)
AUC = 0955
从头算蛋白质二级结构预测的深度学习网络方法[38]
训练,Protein Data Bank; 验证,CASP9,CASP10(蛋白质结构预测的关键评估)
从头算蛋白质二级结构预测
DNSS(多模RBM)
Q3 = 907%, Sov = 742%
蛋白质接触图预测的深层架构[39]
ASTRAL database
蛋白质接触图预测
RNN + DNN
ACC ∼ 30%
用深机器学习网络建模药物样分子的环氧化作用[47]
Accelrys代谢物数据库(AMD):389个环氧化分子,811个非氧化分子(Accelrys Metabolite Database (AMD): 389 epoxidized molecules, 811 nonepoxidized molecules)
建模分子的环氧化性质
CNN
AUC better than baseline accuracy
DNdisorder:使用增强和深度网络预测蛋白质紊乱[41]
DISORDER723, CASP9, CASP10
预测蛋白质有序/无序区域
RBM
AUC better than baseline
accuracy
Basset:用深度卷积神经网络学习可访问基因组的规则代码[50]
来自ENCODE和Epigenomics Roadmap项目的164个细胞类型的DNasel-seq数据
学习DNA序列的功能活动
CNN
AUC = 0892
a首字母缩写词:CNN=卷积神经网络,DNN=深度神经网络,RNN=递归神经网络,DBN=深信念网络,RBM=限制玻尔兹曼机器,MLP=多层感知器,MLFS=多级特征选择,PINN= 网络,CRF=条件随机场。
转录。转录组学分析利用各种类型转录物(信使RNA(mRNA),长非编码RNA(lncRNA),微小RNA(miRNA)等)丰度的变化来收集各种功能信息,从剪接代码到各种疾病的生物标志物。
转录组学数据通常从不同类型的平台(各种微阵列平台,测序平台)获得,其不同之处在于测量的基因组和信号检测方法。许多因素导致基因表达数据的变异性。因此,即使对于单个平台分析也需要标准化。 跨平台分析需要规范化技术,这可能是一个重大挑战。由于DNN具有较高的泛化能力,因此特别适合于跨平台分析。他们也能很好地处理基因表达数据的其他一些主要问题,比如数据集的大小以及对降维和选择性/不变性的需求,下面我们将回顾几个已经使用的DNN 用不同类型的基因表达数据来获得不同程度的成功。
表格数据应用程序。基因表达数据可以表示的一种方式是作为矩阵的表格形式,其包含关于转录物表达的定量信息。这些数据是高维度的,由于数据中的信噪比损失,使得统计分析成为问题。[25]
高维数据可以通过两种方式处理:
I 降维:
A特征提取,例如用SVM或随机森林算法;
B特征子集选择;
C途径分析;
II 使用对高维度较不敏感的方法,如随机森林或深层信念网络。
诸如主成分分析(PCA),奇异值分解,独立分量分析或非负矩阵分解等方法是常见的前沿方法。然而,上述方法将数据转换成许多难以用生物学解释的组件。此外,这种降维方法基于基因表达谱提取特征而不管基因之间的相互作用。通路分析可以减少变量的数量,减少错误率并保留更多的生物相关信息。[25,26]
深度学习在处理高维基质转录组学数据方面也取得了一些成功。在另一种方法中,将基因表达的特征与非编码转录物如miRNA的区域一起提取; 这是通过使用深度信念网络和主动学习来实现的,其中使用了深度学习特征提取器来减少六个癌症数据集的维度,并且胜过了基本特征选择方法[27]。主动学习与分类的应用提高了准确性,并且允许选择与癌症相关的特征(改进的癌症分类),而不仅仅基于基因表达谱。使用miRNA数据的特征选择是使用与先前选择的特征子集的目标基因的关系实施的。
在另一个深度学习应用中,Fakoor等人利用自编码器网络进行推广,并将其应用于使用从具有不同基因集合的不同类型的微阵列平台(Affimetrix家族)获得的微阵列基因表达数据的癌症分类[28]。他们通过PCA和非监督非线性稀疏特征学习(通过自动编码器)结合使用降维来构建用于微阵列数据的一般分类的特征。癌症和非癌细胞分类的结果显示出了重要的改进,特别是使用监督微调,这使得特征不那么通用,但即使对于没有跨平台标准化的数据也能获得更高的分类准确性。自动编码器的全球泛化能力有助于使用不同微阵列技术收集的数据,因此可能对来自公共领域的数据进行大规模综合分析有前途。
图像处理应用。基因表达也可以以可视形式存储为图像,例如来自微阵列的图像荧光信号或RNA原位杂交荧光或放射性信号。 在一些应用中,以图像处理性能优越著称的CNN已经显示出改善这些图像分析的潜力。
在微阵列分析中,由于斑点大小,形状,位置或信号强度的变化,检测信号和识别荧光斑点可能是具有挑战性的,并且荧光信号强度通常对应于基因或序列表达水平差。在对这个问题的深度学习技术的一个应用中,CNN被用于微阵列图像分割,并且在准确性方面显示出类似于基准方法的准确度的结果,但是训练更简单并且对计算源的要求更少。[29]
将CNN应用于基于图像的基因表达数据的另一个机会是RNA原位杂交,这是一种繁琐的技术,当允许这样的 *** 作时,能够使基因表达在一组细胞,组织切片或整个生物体中定位和可视化。这种方法促进强大的纵向研究,说明发展过程中的表达模式的变化。它被用于构建详细的Allen DevelopmentMouse Brain Atlas,其中包含超过2000个基因的表达图谱,每个基因在多个脑部分中进行说明。过去,这些手动标注是耗时的,昂贵的,有时也是不准确的。然而,最近,Zeng等人使用深度预训练CNN进行自动注释[30]。要做到这一点,神经网络模型训练原始自然原位杂交图像的不同层次的发展中国家的大脑没有关于坐标(空间信息)的确切信息;这种技术在四个发展阶段的多个大脑水平上实现了卓越的准确性。
剪接。深度学习的另一个应用领域是剪接。剪接是在真核生物中提供蛋白质生物多样性的主要因素之一;此外,最近的研究显示“拼接代码”与各种疾病之间的联系[31]。然而,现代科学仍然不能全面地理解控制剪接调控的机制。剪接调节的现代概念包括转录水平,特定信号调节序列元件(剪接增强子或沉默子)的存在,剪接位点的结构和剪接因子的状态(例如特定位点的磷酸化可能改变剪接因子活性)。所有这些因素使分析变得复杂,因为它们之间存在大量元素和复杂的非线性相互作用。现有的拼接预测软件需要高通量测序数据作为输入,并且面临着原始读取比常规基因短的问题,以及基因组中假性基因的高重复水平和存在。因此,拼接机制的分析算法很慢,需要高度的组合计算来源,深度学习可能会在这方面提供改进。在使用五个组织特异性RNA-seq数据集的一个深度学习应用中,使用隐变量来开发DNN以用于基因组序列和组织类型中的特征,并且被证明优于贝叶斯方法预测个体内和组织间的组织剪接外显子拼接的转录本百分比的变化(拼接代码度量)[32]。
非编码RNA。非编码RNA是生物学中的另一个问题,需要复杂的计算方法,如深度学习。非编码RNAs非常重要,涉及转录,翻译和表观遗传学的调控[33],但是它们仍然难以与编码蛋白质的RNA区分开来。对于短的非编码RNA,这个任务已经很好地解决了,但是对于lncRNA来说这是相当具有挑战性的。lncRNAs组成异构类,可能含有推定的复制起点(ORF),短的蛋白质样序列。开发了一种新的深层次的学习方法,称为lncRNAMFDL,用于鉴定lnc-RNAs,使用ORF,k相邻碱基,二级结构和预测的编码结构域序列等多种特征的组合[34]。该方法使用从Gencode(lncRNA)和Refseq(蛋白质编码mRNA数据)的序列数据中提取的五个单独特征,并且在人类数据集中导致971%的预测准确性。
表达量性状基因座分析。最后,数量性状基因座(QTL)分析有潜力进行深入的学习。 QTL分析鉴定含有多态性的遗传基因座,所述多态性导致复杂的多基因性状(例如,体重,药物反应,免疫应答)的表型变异。显示遗传变异的一个这样的“性状”是给定组织和/或条件中任何给定基因的表达或转录本丰度。表达QTL(eQTL)是影响转录本丰度的遗传变异的基因座。 eQTL分析已经导致了对人类基因表达调控的洞察力,但面临着许多挑战。在局部调节表达的eQTL(顺式-eQTL)相对容易用有限数量的统计测试来鉴定,但是调节基因组中其它位置的基因表达的位点(trans-eQTL)更难以检测到。最近,为了解决使用各种编码的生物特征(诸如物理蛋白质相互作用网络,基因注释,进化保守,局部序列信息以及来自ENCODE项目的不同功能元件)的反式eQTL预测问题的深度学习方法MASSQTL[35]被提出。DNN利用来自其各自交叉验证折叠的9个DNN模型,优于其他机器学习模型,并且提供了对基因表达的调控架构的基础的新机制。深解码系统也被用来对trans-eQTL特征向量进行聚类,然后通过t-SNE降维技术进行可视化。
蛋白质组学。与转录组学相比,蛋白质组学是一个相当欠发达的研究领域,数据依然稀少,用于分析的计算方法较少。即使有相似的信号编码和传输机制,人类蛋白质组学数据的缺乏以及将模型生物体结果转化为人类的困难也使分析变得复杂。
深度学习可以以多种方式使蛋白质组学受益,因为一些方法不需要像其他机器学习算法那样的大量培训案例。深度学习方法的其他优点是他们建立数据的分层表示,并从复杂的相互作用中学习一般特征,从而有利于蛋白质的蛋白质组学和网络分析。例如,使用磷酸化数据,双峰深信念网络已被用于预测大鼠细胞对相同刺激的刺激的细胞反应[36]。与传统的管线相比,开发的算法获得了相当的准确性。
结构生物学和化学。结构生物学包括蛋白质折叠分析,蛋白质动力学,分子建模和药物设计。二级和三级结构是蛋白质和RNA分子的重要特征。对于蛋白质,适当的结构测定对于酶功能预测,催化中心和底物结合的形成,免疫功能(抗原结合),转录因子(DNA结合)和转录后修饰(RNA结合)是重要的。丧失适当的结构会导致功能丧失,并且在某些情况下会导致可能导致神经退行性疾病(如阿尔茨海默病或帕金森病)的异常蛋白质的聚集。[37]
基于复合同源性的比较建模是预测蛋白质二级结构的一种可能方式,但是受现有注释良好的化合物的量限制。另一方面,机器学习从头预测是基于公认的具有公知结构的化合物的模式,但是还不够精确以至于不能实际使用。从头开始使用深度学习方法通过使用蛋白质测序数据改进了结构预测[38]。同样,深度学习已经被应用于使用ASTRAL数据库数据和复杂的三阶段方法来预测二级结构元素和氨基酸残基之间的接触和取向[39]。所使用的方法是分析偏倚和高度可变数据的有效工具。
三维结构的不变性在功能上也是重要的。然而,有几种蛋白质没有独特的结构参与基本的生物过程,如细胞周期的控制,基因表达的调控,分子信号传递。此外,最近的研究显示一些无序蛋白质的显着性[37]; 许多癌基因蛋白具有非结构域,并且错误折叠蛋白的异常聚集导致疾病发展[40]。这种没有固定三维结构的蛋白被称为固有无序蛋白(IDP),而没有恒定结构的结构域被称为固有无序区(IDR)。
许多参数将IDP / IDR与结构化蛋白质区分开来,从而使预测过程具有挑战性。这个问题可以使用深度学习算法来解决,这些算法能够考虑各种各样的特征。2013年,Eickholt和Cheng发表了一个基于序列的深度学习预测指标DNdisorder,与先进的预测指标相比,改进了对无序蛋白质的预测[41]。后来在2015年,Wang等人提出了一种新的方法,DeepCNF,使用来自蛋白质结构预测的临界评估(CASP9和CASP10)的实验数据,能够准确预测多个参数,如IDPs或具有IDR的蛋白质。DeepCNF算法通过利用众多特征,比基线单从头(从头算)预测指标执行得更好[42]。
另一类重要的蛋白质是结合单链或双链RNA的RNA结合蛋白。 这些蛋白质参与RNA的各种转录后修饰:剪接,编辑,翻译调控(蛋白质合成)和聚腺苷酸化。RNA分子形成不同类型的臂和环,需要识别和形成RNA和蛋白质之间连接的二级和三级结构。RNA的二级和三级结构是可预测的,并且已经被用于建模结构偏好偏好和通过应用深度信念网络预测RBP的结合位点[43]。深度学习框架在真正的CLIP-seq(交联免疫沉淀高通量测序)数据集上进行了验证,以显示从原始序列和结构分布中提取隐藏特征的能力,并准确预测RBP的位点。
药物发现和再利用。计算药物生物学和生物化学广泛应用于药物发现,开发和再利用的几乎每个阶段。过去数十年来,不同的研究团体和公司在全球范围内开发了大量用于计算机模拟药物发现和目标延伸的计算方法,以减少时间和资源消耗。虽然存在许多方法[44],但是还没有一个是最优的(例如,无法执行通量筛选或者通过蛋白质类别进行限制),现在一些研究表明深度学习是一个重要的考虑方法(表1)。
药物发现的重要任务之一就是预测药物靶点的相互作用。 靶标(蛋白质)通常具有一个或多个与底物或调节分子的结合位点; 这些可以用于建立预测模型。 然而,包括其他蛋白质的成分可能会给分析带来偏见。成对输入神经网络(PINN)接受具有从蛋白质序列和靶分布获得的特征的两个载体的能力被Wang等人用来计算靶标-配体相互作用[45]。神经网络的这种优势比其他代表性的靶标-配体相互作用预测方法有更好的准确性。
药物发现和评估是昂贵,耗时且具有风险; 计算方法和各种预测算法可以帮助降低风险并节省资源。一个潜在的风险是毒性; 例如,肝毒性(肝毒性)是从生产中去除药物的常见原因。用计算方法预测肝毒性可能有助于避免可能的肝毒性药物。使用深度学习,可以有效地确定原始化学结构的化合物毒性,而不需要复杂的编码过程[46]。使用CNN也可以预测诸如环氧化的性质,这意味着高反应性和可能的毒性; 这是休斯等人首次实施的。通过使用环氧化分子和氢氧化物分子的简化分子输入线入口规格(SMILES)格式数据作为阴性对照[47]。
多平台数据(Multiomics)。使用多平台数据的能力是深度学习算法的主要优势。 由于生物系统复杂,具有多个相互关联的元素,基因组学,表观基因组学和转录组学数据的系统级整合是提取最有效且有生物学意义的结果的关键。整合过程在计算上不是微不足道的,但收益是生物标志物特异性和灵敏度比单一来源方法的增加。
计算生物学中需要分析组合数据的主要领域之一是计算表观遗传学。有联合分析基因组,转录组,甲基化组特征和组蛋白修饰提供了准确的表观基因组预测。
一些研究人员已经开发出深度学习方法,可用于分析来自多个来源的数据(表1)。Alipanahi等人开发了基于深度学习的方法DeepBind(toolsgenestorontoedu/deepbind/),以在各种疾病中计算核苷酸序列结合转录因子和RNA结合蛋白的能力,并表征单点突变对结合特性的影响。DeepBind软件受CNN启发,对技术不敏感; 相反,它与从微阵列到序列的定性不同形式的数据是相容的。CPU的实现也允许用户并行化计算过程[48]。在另一个基于CNN的应用程序中,Zhou和Troyanskaya设计了DeepSEA框架来预测染色质特征和疾病相关序列变异的评估。与其他计算方法不同,他们的算法能够捕获每个结合位点的大规模上下文序列信息,用于注释从头序列变异体[49]。开发了类似的CNN管线,揭示了序列变异对染色质调控的影响,并对DNase-seq(DNase I测序)数据进行了培训和测试[50]。一种名为Bassed的深度学习软件优于基线方法,并且在所有数据集上达到平均AUC0892。最后,随着深层特征选择模型的发展,深度学习被用于识别主动增强器和促进器,该模型利用了DNN对复杂非线性相互作用进行建模的能力,并学习了高层次的广义特征[51]。模型从多平台数据中选择特征,并按照重要性进行排序。在这些应用中,深度学习方法是染色质性质的更敏感和更有力的预测因子,也是复杂生物标志物发展的关键。
癌症是一组异质性疾病的广泛名称,其中一些是由基因突变引起的,因此使用多平台数据的癌症分类可以揭示潜在的病理学。Liang等人开发了一个具有多平台数据的深层信念网络模型,用于癌症患者的聚类[52]。使用受限玻尔兹曼机对每种输入模式定义的特征进行编码。这种方法的一个优点是深层信念网络不需要具有正态分布的数据,因为其他聚类算法和遗传(生物)数据不是正态分布的。
最后,从自然语言处理的角度来看,深度学习在通过巨大的非结构化(研究出版物和专利)和结构化数据(知识注释图,如基因本体论[53]或Chembl[54])浏览时,通过检验假设的合理性。这些数据库一起形成了一个庞大的,多平台的数据集,如果结合起来,这些数据集将更加丰富和全面。
总之,现代生物数据的庞大规模,对于以人为本的分析来说太庞大而复杂。 机器学习,特别是深度学习与人类专业知识相结合,是将多个大型多平台数据库完全集成的唯一途径。 深度学习使人类能够做到以前无法想象的事情:具有数百万输入的图像识别,语音识别以及接近人类能力的语音自动化。 虽然深度学习和特别是无监督的深度学习仍处于起步阶段,特别是在生物学应用方面,但最初的研究支持它作为一种有希望的方法,尽管在实施中不受限制和挑战,但可以克服生物学数据的一些问题, 对数百万间接和相互关联的疾病机制和途径的新见解。
西门子PLC块转换的步骤:
先建立“功能块”,即FBn(n指为块号,比如FB1)。
打开FBn,编译程序,同时对应编译数据,会自动生成对应的DBn(数据块)。
如果看到是FCn,就是功能,没有对应的数据块。建立了模型,在OB中调用,就会出现看到的块了。
如果想看连贯地看程序,把FBn、FCn块中程序拷贝到OB中也可。看到的引脚是自动生成的,填入变量即可,在块中的程序,和普通程序一样。
德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金、化工、印刷生产线等领域都有应用。西门子(SIEMENS)公司的PLC产品包括LOGO、S7-200、S7-1200、S7-300、S7-400等。 西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等。
以上就是关于什么是机器学习全部的内容,包括:什么是机器学习、用VC写的程序连接到SQL数据库,怎么不能运行啊、各种编程语言的深度学习库整理大全!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)