生信拾光


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

基于transformer的多任务分子分析

发表于 2022-07-01 | 分类于 literature |
字数统计: 945 | 阅读时长 ≈ 3

今天介绍一篇基于transformer架构对小分子进行探究理解和多任务分析的文章。其中多任务分子分析包括分子特性预测,化学反应分析,药物相互作用的预测,分子从头生成和分子优化。

背景

Transformers

Transformer 是2017年由googleAI 在“Attention Is All You Need”的文章中提出的一个模型,最初主要用于自然语言处理。该模型是基于注意力机制,完全不需要递归和卷积,与传统的自然语言处理常用的RNN或CNN相比,在性能上更胜一筹,同时具有更高的可并行性,并且需要的训练时间也大大减少。

BERT (Bidirectional Encoder Representations from Transformers )

BERT是基于Transformers的双向编码器特征模型,首先对未标记的文本进行深度双向表征的预训练(Pre-training),然后只需增加一个输出层就可以对预训练的BERT模型进行微调(Fine-tuning),从而为广泛的任务(如问题回答和语言推理)创建先进高效的模型,而无需对特定任务的架构进行大量的修改。

课题设计

作者在本文中提出了一个模型— X-MOL,也是基于大规模的预训练和微调的架构。首先它使用百度的高性能计算资源对11亿个分子上进行预训练,以SMILES(Simplified Molecular Input Line Entry Specification)为基础,进行分子理解和特征表示。然后使用预训练好的模型,进行不同的微调,以适应不同的下游分子分析任务,包括分子特性预测,化学反应分析,药物相互作用的预测,分子从头生成和分子优化。

具体来说,这里的生成性预训练(generative pre-training)策略是通过一个编码器-解码器架构来实现的。与传统的编码器-解码器架构不同,例如在神经机器翻译中使用的架构,在X-MOL中,编码器和解码器共享多层transformer的参数(图b),迫使编码和解码过程在同一语义空间中进行。在X-MOL中,输入的随机SMILES和输出的随机SMILES被同时送入模型中。同时,输出的随机SMILES被完全掩盖了。此外,只有单向的注意力操作可以在输出的随机SMILES中进行,这意味着输出随机SMILES中的每个字符只能注意自己和先前生成的字符。

结果

在分子特性预测方面(图e),X-MOL在MoleculeNet基准测试中的分类和回归任务优于现有方法,包括各种经典的浅层学习和深度学习模型。

在化学反应生产率预测方面(图f),X-MOL的RMSE(Root Mean Square Error)也低于基准值。

在药物-药物相互作用预测方面(图g),从ROC,PR, F1,以及准确性上看,X-MOL优于另外两种方法DeepDDI和CASTER。

在分子生成任务方面(图h),X-MOL在基于分布学习的生成中,在有效性、独特性和新颖性这三个测量方面超过了现有的基于图形的分子生成方法。特别是,X-MOL在有效性方面大大超过了其他方法。在目标导向的生成中,X-MOL也优于基于图表示的模型。

在分子优化任务方面(图i),当我们将优化后的分子与原始分子进行比较时,X-MOL和冷启动模型都有助于改善分子优化过程中的目标属性,而且还显示出比VJTNN更好的性能。

文献链接:https://www.sciencedirect.com/science/article/pii/S2095927322000445?via%3Dihub

多标签分类法

发表于 2022-05-30 | 分类于 Data Sciences |
字数统计: 633 | 阅读时长 ≈ 2

多标签分类 (Multi-label Classification)

二分类问题是机器学习中最常遇到的问题,有时候我们也会遇到多标签分类(Multi-label Classification)的处理。首先什么是多标签分类,举个例子,比如一部电影的分类可以同时属于“动作类”,也可以是“喜剧类”,类别标签不是相互排斥的。另一种有时会和多标签分类混淆的分类问题——多类别分类(Multi-class Classification),类别标签是相互排斥的,如水果的分类,水果的类别有葡萄,苹果,香蕉等,但一种水果不可能即是葡萄又是苹果。

多标签分类方法

多标签分类的处理方法常见的有以下几种:

​ Ref1

首先我们构建一个多标签示例数据(Fig. A), χi ∈ x 是一个训练实例,

这里 L 是一个类标签的有限集,m>1。

1. Binary relevance (BR)

第一种方法是Binary relevance (BR) (Fig. B),即将具有 L 个标签的数据集划分为 L 个二元分类问题。然后以二分类的方法处理。但是这种方法的一个不足是,没有考虑到多标签间的相关性。

2. Classifier Chain (CC)

第二种方法是Classifier Chain (CC) (Fig. C),即将L个二元分类器链接成一个“链”,使得一个分类器的输出预测作为所有后续分类器的附加输入,克服了不考虑标签之间依赖关系的缺点,并捕获了标签之间可能的依赖关系。

3. Ensemble Classifier Chains (ECC)

第三种方法Ensemble Classifier Chains (ECC)(Fig. D)是在CC基础上提出来的,考虑到了“链”的顺序,通过多数投票聚合了多个具有不同顺序的链,从而可以进一步提升分类器的性能。

4. Label Powerset (LP)

第四种方法是Label Powerset (LP)(Fig. E),将多标签问题转换为单标签多类问题,即在训练数据中找到的所有唯一标签组合上进行训练。

5. Random Label Space Partitioning with Label Powerset(RD)

第五种方法Random Label Space Partitioning with Label Powerset(RD)(Fig. F)是在LP基础上延伸得到的。其将标签空间划分为大小为 k 的分区,每个分区训练一个 LP 分类器,并通过聚合所有 LP 分类器的结果来预测数据。

参考

  • https://www.sciencedirect.com/science/article/pii/S2001037022000824
  • https://www.jair.org/index.php/jair/article/view/12376
  • https://link.springer.com/article/10.1007/s10994-011-5256-5

MCC | 机器学习中优于F1-score和accuracy的一个性能评价指标

发表于 2022-03-28 | 分类于 Data Sciences |
字数统计: 955 | 阅读时长 ≈ 3

在机器学习中,模型性能的评估是一个关键问题。常见的评价指标有F1-score, Accuracy, Precision, Recall, ROC 和 AUC (对这些评价指标不了解的,可以参考生信菜鸟团之前的一篇文章: 机器学习实战 | 机器学习性能指标 )。但是我们对这些统计指标的可靠性要保持谨慎的态度,特别是在不平衡的数据集上。

F1-score, Accuracy, Precision, Recall

例如,在一个二元分类模型中,我们的数据是宠物图像,每张图片可以是狗🐶或猫🐱,分类器在每张照片中检测到一只宠物,然后我们测量其性能。假如我们总共有24张图片,然后分类器检测的混淆矩阵如下:

image-20220401104509019

我们依次计算下Precision, Recall, F1 score。

1
2
3
4
5
Precision = TP/(TP+FP) = 18/(18+3) = 0.86

Recall = TP/(TP+FN) = 18/(18+2) = 0.90

F1 = 2 * (Precision*Recall/Precision+Recall) = 0.88

从以上这些指标的计算结果来看,我们的模型似乎还不错。但是关于猫 (negative class)的分类,只有1个是正确识别了。那为什么F1-score的值还这么高呢?

从计算公式中,我们可以看出来,无论是Precision, Recall还是F1 score,他们都只关注了一个类别,即positive class。TN完全没有考虑。

如果我们设定数据中猫是Positive class,那么我们的混淆矩阵可以转换为:

image-20220401111415412

1
2
3
4
5
Precision = TP/(TP+FP) = 1/(1+2) = 0.33

Recall = TP/(TP+FN) = 1/(1+3) = 0.25

F1 = 2 * (Precision*Recall/Precision+Recall) = 0.29

从这里的计算结果可以发现,这个分类器对猫的识别很差。

然后我们再看下Accuracy,

1
Accuracy = TP+TN/(TP+TN+FP+FN) = 19/24=0.79

这个结果是相当有误导性的,因为虽然 90% (18/20)的狗被准确分类,但猫只有 25% (1/4)。如果取平均值,结果也只有57.5%,也是低于79%的。这里的原因是因为数据中两个分类的类别是不平衡的。

从以上计算中可以知道Accuracy对类别不平衡很敏感;Precision, Recall和 F1 score是不对称的,只关注了一个类别。

Matthews correlation coefficient,MCC

马修斯相关系数 (MCC)是phi系数(φ)的一个特例。即将True Class和Predicted Class视为两个(二进制)变量,并计算它们的相关系数(与计算任何两个变量之间的相关系数类似)。真实值和预测值之间的相关性越高,预测效果越好。只有当预测在所有四个混淆矩阵类别(TP、TN、FN和FP)中都获得了良好的结果时,它才会产生高分。

计算公式如下:

image-20220401114108284

根据计算公式,可知当分类器是完美的(FP = FN = 0),MCC的值是1,表示完全正相关。相反,当分类器总是分类错误时(TP = TN = 0),得到的数值是-1,代表完美的负相关。所以,MCC的值总是在-1和1之间,0意味着分类器不比随机二分类选择好。此外,MCC是完全对称的,所以没有哪个类别比其他类别更重要,如果把正反两个类别换一下,仍然会得到相同的值。

然后我们再计算一下,上面例举的数据中MCC的值:

image-20220401115041223

MCC的值是0.17 ,表明预测类和真实类是弱相关的。从以上的计算和分析,我们知道这种弱相关是因为分类器不擅长对猫进行分类。

在python中,scikit-learn模块包含MCC计算的函数

sklearn.metrics.matthews_corrcoef(y_true, y_pred, *, sample_weight=None)

1
2
3
4
5
from sklearn.metrics import matthews_corrcoef
y_true = [+1, +1, +1, -1]
y_pred = [+1, -1, +1, +1]
matthews_corrcoef(y_true, y_pred)
-0.33...

参考资料

  • The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation.
  • Matthews Correlation Coefficient is The Best Classification Metric You’ve Never Heard Of.
  • sklearn.metrics.matthews_corrcoef

如何处理机器学习中数据不平衡的分类问题

发表于 2022-03-01 | 分类于 Data Sciences |
字数统计: 1.1k | 阅读时长 ≈ 4

数据不平衡的分类问题

机器学习中数据不平衡的分类问题很常见,如医学中的疾病诊断,患病的数据比例通常小于正常的;还有欺诈识别,垃圾邮件检测,异常值的检测等。而极端的数据不平衡通常会影响模型预测的准确性和泛化性能。

这里介绍几种处理不平衡数据的计算方法:

  • Oversample and downsample
  • Generating synthetic data, eg. SMOTE, ADASYN
  • GAN

方法

1. oversample and downsample

一种简单直接的方法是随机重采样 (randomly resample),包括oversample和downsample。Oversample 即对少数组别重复取样,downsample 即从多数类中删除示例。但是,同时要注意Oversample可能导致某些模型过度拟合。downsample可能导致丢失对模型非常宝贵的信息。

image-20220301223756926

可以利用python中imbalanced-learn package实现,如

阅读全文 »

220204 | 文献摘要

发表于 2022-02-04 | 分类于 literature |
字数统计: 352 | 阅读时长 ≈ 1

Nat. M.L. | 基于条件变换器、知识提炼和强化学习的多约束分子生成

题目:Multi-constraint molecular generation based on conditional transformer, knowledge distillation and reinforcement learning

杂志:Nature Machine Intelligence

IF: 15

时间:18 October 2021

链接:https://www.nature.com/articles/s42256-021-00403-1

摘要

基于机器学习的生成模型可以从头开始生成具有理想的生理化学和药理学特性的新分子。许多优秀的生成模型已经被提出,但分子生成任务中的多目标优化对于大多数现有的模型来说仍然相当具有挑战性。在此,我们提出了多约束分子生成(multi-constraint molecular generation, MCMG)方法,通过知识提炼将条件转化器和强化学习算法结合起来,可以满足多种约束。通过有效地学习并将结构-属性关系纳入一个有偏见的生成过程,条件转化器被用来训练一个分子生成模型。然后采用知识蒸提炼型来降低模型的复杂性,以便通过强化学习有效地进行微调,提高生成分子的结构多样性。正如一组综合基准所证明的那样,MCMG是一种非常有效的方法,可以穿越庞大而复杂的化学空间,寻找满足多种属性约束的新型化合物。

阅读全文 »
123…26

六六

Seize the day! Collect the moment! Share the memory!

130 日志
5 分类
52 标签
RSS
0%
© 2023 六六 | Site words total count: 87.3k
博客全站共87.3k字