前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >当机器学习遇到基因组选择

当机器学习遇到基因组选择

作者头像
邓飞
发布2019-06-13 20:34:31
1.3K0
发布2019-06-13 20:34:31
举报

当你还在GBLUP或者贝叶斯类方法进行优化时, 我带着卷积神经网络进行了降维打击…

1. 参考文献

Crossa, José, Pérez-Rodríguez, Paulino, Cuevas J , et al. Genomic Selection in Plant Breeding: Methods, Models, and Perspectives[J]. Trends in Plant Science, 2017:S136013851730184X.

2. 摘要

全基因组选择(Genomic selection)可以大大加快育种进程, 这篇文章从以下几个方面进行讨论:

  • 基因组选择的历史和现状
  • 基因组选择的基础和准则
  • 基因组选择的模型, 包括GbyE
  • 基因组选择如何改良获得优良品系
  • 系谱数据整合基因组选择(SSBLUP)

3. 后代育种值的构成

    1. 双亲的育种值的平均值
    1. 孟德尔抽样(Mendelian sampling)
  • 双亲育种值的平均值, 可以通过系谱构建A矩阵, 进行计算.
  • 孟德尔抽样, 可以通过多环境测试(multienvironment field trials)进行检验.

GS的优势在于, 可以通过基因型值, 直接检测孟德尔抽样, 这样就不需要多地点的测试去计算孟德尔抽样.

4. 基因组选择的流程

    1. 训练群体, 有表型, 有基因型
    1. 测试群体(候选群体), 有基因型, 预测表型值进行选择

5. GS和常规育种的比较

左边为常规育种, 右边为GS加入的育种流程.

这里默认是一年两个世代(A和B), 比如A夏播, B是南繁.

6. 什么时间多性状模型要优于单性状模型

  • 两性状或者多性状分析时, 当性状之间遗传相关比较高时, 多性状模型要高于单性状模型(us > diagonal)
  • 当性状之间遗传相关比较低时, 多性状模型和单性状模型结果类似

7. 当机器学习遇到基因组选择

GBLUP, RRBLUP, 贝叶斯类的方法, 本质上是线性核心(Linear core), 其实可以把GS当做分类的选择, 应为GS本质上是为了选择好的, 中等的, 低的, 可以当做分类器的问题, 这样就可以用很多机器学习的算法进行运算.

机器学习分类器用于GS的优势: 通过训练群体, 能够将符合某类标准的个体以最大可能的概率挑选出来, 而不是计算所有可能的结果(Using classifiers in GS is attractive because they are trained to maximize the probability of an individual beingamember of the target class, rather thansearchingfor its overall performance)

研究表明, 特别是针对于一些非加性效应(比如杂种优势), 考虑基因与环境互作, 神经网络类的(nolinear core)机器学习方法预测的效果更好.

8. 感想

与其临渊羡鱼,不如退而结网 现在机器学习各种算法层出不穷, 是时候拥抱新事物了.

比如下面几个常用的库, 跑起来.

Tensorflow Tensorflow把神经网络运算抽象成运算图(Graph),一个运算图中包含了大量的张量(Tensor)运算。而张量实际上就是N维数据的集合。神经网络运算的本质是通过张量运算来拟合输入张量与输出张量之间的映射关系。

Keras Keras被认为是最酷的Python深度学习库之一。如果你是深度学习开发方面的新手,那么非常建议你使用它。它提供了非常简明的机制来表达神经网络结构。它也提供了许多非常棒的工具用于神经网络模型的编译、数据的处理、以及网络结构的可视化等等。

Theano Theano 是一个用于多维数组计算的 Python 运算框架。Theano 的工作原理与 Tensorflow 相似, Theano还可以用于与Tensorflow类似的分布式或并行环境。

PyTorch PyTorch是最大的深度学习库,允许开发人员通过加速GPU执行张量计算,创建动态计算图,并自动计算梯度。 除此之外,PyTorch还提供丰富的API,用于解决与神经网络相关的应用问题。

Scikits-learn Scikits-learn,又称为sk-learn,是一个基于Numpy与SciPy的Python库。Sk-learn被认为是用于处理复杂数据的最优秀的机器学习库之一。它包含了大量用于实现传统机器学习和数据挖掘任务的算法,比如数据降维、分类、回归、聚类、以及模型选择等。随着时间的发展,sk-learn不断演进。其中包括它加入了交叉验证功能,提供了使用多个衡量指标的能力。许多的训练方法都得到了一定的改进,如逻辑回归、近邻算法(KNN)等。

这里面, 以Tensorfolow, PyTorchsklearn最为常用, 先用这三个库进行学习, 将手中的数据跑起来.

当你还在GBLUP或者贝叶斯类方法进行优化时, 我带着卷积神经网络进行了降维打击…

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 育种数据分析之放飞自我 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 参考文献
  • 2. 摘要
  • 3. 后代育种值的构成
  • 4. 基因组选择的流程
  • 5. GS和常规育种的比较
  • 6. 什么时间多性状模型要优于单性状模型
  • 7. 当机器学习遇到基因组选择
  • 8. 感想
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档