首页 > 其他分享 >Datawhale AI 夏令营:siRNA药物药效预测----Task 1

Datawhale AI 夏令营:siRNA药物药效预测----Task 1

时间:2024-07-28 22:56:57浏览次数:16  
标签:Task AI 模型 Datawhale 学习 MAE 序列 100 siRNA

Task1:赛题解析&背景入门

思考引导(前言)

RNA干扰(RNAi)

RNA干扰(RNAi)是一种天然存在的基因表达调控机制,通过小干扰RNA(siRNA)等分子来沉默特定基因的表达。这一机制在细胞中起着重要作用,能精确地抑制目标基因的表达,从而减少相应蛋白质的产生。siRNA通过与靶mRNA结合,诱导RNA诱导沉默复合物(RISC)切割mRNA,最终导致mRNA降解和基因沉默。在基因治疗和疾病治疗中,RNAi技术有望通过沉默致病基因来发挥治疗作用。

化学修饰siRNA

化学修饰siRNA是指在siRNA分子中引入化学修饰,以增强其稳定性、靶向性和有效性。这些修饰可以增加siRNA在体内的稳定性,减少其毒性和副作用,提高其基因沉默效率。常见的化学修饰包括磷酸酯骨架修饰、核苷酸修饰和末端修饰等。这些修饰不仅能提高siRNA的药效,还能减少非特异性沉默,提升siRNA药物的临床应用潜力。

深度学习与RNN

深度学习是一种基于人工神经网络的机器学习方法,擅长处理复杂的非线性关系和高维数据。递归神经网络(RNN)是一类深度学习模型,特别适用于处理序列数据。RNN通过在隐藏层中引入循环连接,可以有效捕捉序列中的时间依赖关系。在RNAi效率预测任务中,RNN能够通过学习siRNA序列和靶mRNA序列之间的复杂关系,准确预测其基因沉默效果。

词汇表与序列编码

在处理基因序列数据时,通常需要将核酸序列转换为数值表示形式,以便输入到深度学习模型中。词汇表(vocab)是一种将序列中的每个元素(如核苷酸或核苷酸组合)映射到一个唯一的数值索引的结构。在本文中,使用了一个基于3-gram的词汇表,这意味着每三个连续的核苷酸组合成一个“单词”。这种方法能够捕捉序列中的局部模式,并提高模型的预测能力。

关注重点:

  • 哪种模型最适合当前的任务? 在baseline提供的RNN模型基础上,尝试不同的深度学习模型(如LSTM、Transformer)和传统机器学习模型(如随机森林、XGBoost)。比较不同模型的性能,选择最佳模型。

  • 如何调优模型的超参数? 利用网格搜索或随机搜索方法调整模型的超参数(如学习率、隐藏层数、嵌入维度等),找到最优的超参数组合。【已尝试,但效果不好,还是推荐改进算法,第二个成绩是将迭代次数(epochs)改为100,可能过拟合了,第三次是将批次大小(bs)改为100,迭代次数改为20(因为想赶十二点前,多了训练不完),第三次是将批次大小改为128,迭代次数改为50,对比起来还是推荐改算法再调参,每天就三次机会参数改动大了不好把握,小了又怕浪费机会,还不如尝试改进算法】

  • 如何通过数据增强提高模型的鲁棒性? 通过序列随机截断、拼接等方法增强数据,增加模型的鲁棒性和泛化能力。

Part1: 赛题介绍

本次比赛旨在利用机器学习技术,预测化学修饰后的siRNA序列在RNA干扰(RNAi)机制下对靶基因的沉默效率。RNAi是一种重要的基因表达调控机制,通过干扰特定基因的表达,可以用于疾病治疗。这次比赛的目标是通过构建并优化模型,准确预测siRNA的沉默效率,从而提升药物设计的效率和效果。

数据集

数据集包括siRNA裸序列、经过化学修饰的siRNA序列、目标mRNA序列以及实验条件(如药物浓度、细胞系、转染方式等)。最重要的字段是mRNA_remaining_pct,这是我们模型的训练目标,表示siRNA对靶基因沉默后的剩余mRNA百分比,值越低表示沉默效率越好。

Part2: 评分机制

在这次比赛中,模型的评分由多个指标共同决定,以全面评估模型的性能。这些指标包括平均绝对误差(MAE)、区间内的平均绝对误差(Range MAE和和F1得分(F1 Score)。这些指标分别衡量模型在预测上的准确性和稳定性,以及在区间内的表现。最终的评分(Score)是综合这些指标的加权结果。通过下述代码,我们可以更加了解本次赛题的评分细节。

# score = 50% × (1−MAE/100) + 50% × F1 × (1−Range-MAE/100)
def calculate_metrics(y_true, y_pred, threshold=30):
    mae = np.mean(np.abs(y_true - y_pred))

    y_true_binary = (y_true < threshold).astype(int)
    y_pred_binary = (y_pred < threshold).astype(int)

    mask = (y_pred >= 0) & (y_pred <= threshold)
    range_mae = mean_absolute_error(y_true[mask], y_pred[mask]) if mask.sum() > 0 else 100

    precision = precision_score(y_true_binary, y_pred_binary, average='binary')
    recall = recall_score(y_true_binary, y_pred_binary, average='binary')
    f1 = 2 * precision * recall / (precision + recall)
    score = (1 - mae / 100) * 0.5 + (1 - range_mae / 100) * f1 * 0.5
    return score

最终的评分结合了MAE和区间内MAE的反比例值,以及F1得分。MAE和Range MAE越小,1减去它们的比值越大,表明误差小,模型表现好。F1得分高则表示模型分类性能好。最终评分是这几个值的加权平均数,权重各占50%。

Part3: 相关生物背景知识与应用

AI与制药、RNAi作用机制、传统siRNA设计原则与知识、AI在生命科学领域应用

【主要讲解在现代生命科学研究中,人工智能(AI)正日益成为不可或缺的工具,通过其强大的数据处理和分析能力,显著推动了多个领域的发展,感兴趣可以搜索相关资料】

RNA干扰_百度百科 (baidu.com)

Part4: 代码解读

鉴于不知道能不能全部展示,就展示介绍一下调用的包吧,顺便看看调参,算法没改动感觉没什么好讲的。

对于一些跑过深度学习的人来说基本上都是老朋友,上述是用pycharm展示的,在配置的python环境中确保上述内容均有即可,没有的话就用pip install 跟上上述包即可,后面可以跟版本不跟就是默认下载最新版本。【这里有个重点比赛用魔塔平台跑十分迅速,但用自己电脑跑是真的很慢,我跑了一下就放弃用电脑自带的GPU跑了】

批次大小 (bs):批次大小影响训练速度和模型性能。通常建议尝试不同的批次大小,一般来说,较大的批次大小可以加快训练速度,但可能会增加内存需求。

迭代次数 (epochs):训练的迭代次数通常需要根据数据集大小和模型复杂度来调整。50次迭代可能足够,但也可以尝试更多的迭代次数,例如100或200次,以提高模型的性能。

学习率 (lr):学习率对训练的影响很大,是一个关键的超参数。通常建议从较小的值开始,如0.001,并观察训练过程中的损失情况。如果损失不断减小,说明学习率合适;如果损失停滞或波动较大,可能需要调整学习率。可以尝试使用学习率调度器,如optim.lr_scheduler.ReduceLROnPlateau,来动态调整学习率。

后面几天的任务就是尝试一下改进算法啦,大家一起努力吧~

标签:Task,AI,模型,Datawhale,学习,MAE,序列,100,siRNA
From: https://blog.csdn.net/2301_78848706/article/details/140756643

相关文章

  • 从头理清uboot(3)-main_loop 及 CMD实现
    从头理清uboot(3)-main_loop及CMD实现目录从头理清uboot(3)-main_loop及CMD实现1.main—loop函数2.cmd_process函数分析3.cmd定义流程1.main—loop函数上篇引导启动的分析最后会调用run_main_loop,在其中会循环调用main_loop()函数。见下方:staticintrun_main_loop(v......
  • Docker安装最新版portainer,无需agent-验证通过
    https://tehub.com/a/cepm8veVzh  Docker安装最新版portainer,无需agent 要安装portainer/portainer-ce,你可以按照以下步骤操作:安装docker如果你尚未安装docker,请参考官方文档安装docker:https://docs.docker.com/engine/install/下载portainer/portainer-ce镜像......
  • (2024最新)有效解决OpenAI Chatgpt Plus升级报错【您的银行卡被拒绝了/your card has be
    在OpenAI升级ChatGPTplus时我们可能会遇到升级报错【您的银行卡被拒绝了/yourcardhasbeendeclined」,有些人看到这个可能就会不知所措注意,这个问题目前依旧存在,很多人都在这里望而却步,没办法升级到chatgptplus出现这种错误,有以下几个解决方案:1.检查银行卡信息:确保你......
  • AI时代下的SEO
    AI时代下的SEO随着人工智能技术的飞速发展,SEO领域也在不断地演变和升级。最近阅读了几篇关于2024年SEO发展前景的文章,这些文章不仅让我对SEO的未来有了更深的理解,也引发了我对AI在SEO中作用的思考。AI与SEO的融合:协同作用首先,AI技术在SEO中的应用已经成为一种趋势。AI......
  • SciTech-BigDataAIML-Python Time Series Handbook - Kalman filter: 卡尔曼滤波器算
    网上文档:Python时间序列手册:有ipynb和PDF文件:https://filippomb.github.io/python-time-series-handbook/notebooks/07/kalman-filter.htmlMITPDF:AnIntroductiontotheKalmanFilter-MITIllinoisUniversityPDF:UnderstandingtheBasisoftheKalmanF......
  • 【AI+技术】日志分析:分层告警
    ❀威胁感知层威胁感知层是网络安全体系结构中的一部分,旨在实时监测、分析和感知网络中的安全威胁和异常活动。以下是威胁感知层中的几个重要组成部分的详细介绍:安全检测安全检测是威胁感知层的核心组成部分,负责通过监控网络流量、系统日志、主机行为等方式,实时检测和识别潜......
  • 国内AI育种近期动态
    近期,可以看到,AI育种入局者越来越多,产品、报告、论文、会议、新闻也越来越多,这是好事,大家一起把蛋糕做大。(点击标题链接,查看详情)华智生物联合多家单位启动生物育种大模型计划7月5日,在2024世界人工智能大会暨人工智能全球治理高级别会议期间,中信农业旗下华智生物联合中国农业科学......
  • java使用google开源工具Thumbnailator实现图片压缩
    Thumbnailator,一款google使用的开源的图片压缩工具类。github地址:https://github.com/coobird/thumbnailator优点:1、压缩程度可控制,想压缩成多小就多小。2、压缩之后图片尽可能的不失真。3、压缩速度要快。4、代码简单,依赖较少。5、可以实现对图片到编辑,如如旋转,裁切,加......
  • AI智能名片商城微信小程序:重塑消费场景与商品设计的创新实践
    摘要:在全球经济环境日益复杂多变的背景下,商家面临着成本上升、利润压缩的严峻挑战。然而,消费者对于高品质生活与高性价比商品的追求并未因此减弱,反而催生了新的消费场景与消费模式。本文深入探讨了AI智能名片商城微信小程序如何成为商家应对市场变化、重塑消费场景、设计创新商......
  • AI智能名片小程序在预测性产品管理与营销中的深度应用探索
    摘要:本文深入探讨了AI智能名片小程序在预测性产品管理与营销中的广泛应用及其带来的深远影响。通过详细分析该技术在数据收集、市场分析、用户画像构建、个性化推荐、客户关系管理以及风险预测等方面的具体实践,本文揭示了AI智能名片小程序如何助力企业实现精准决策、优化资源配......