从零入门 AI for Science(AI+药物) #Datawhale AI 夏令营

使用平台

我的Notebook · 魔搭社区 https://modelscope.cn/my/mynotebook/preset

主要操作

  1. 运行实例,如果有时长尽量选择方式二(以下操作基于方式二的实例实现
    在这里插入图片描述

  2. 创建文件夹,并重命名为 2.3siRNA

  3. 上传两个文件在这里插入图片描述
    到文件夹, 这里面的第三个按钮是上传在这里插入图片描述

  4. 在当前文件夹打开终端(如图示意打开终端)并输入解压命令
    在这里插入图片描述

注意:如果你的压缩包名字不是这个请将“siRNA_0715.zip” 换成你的压缩文件的名字“xxx.zip”(xxx为文件名)
(方便复制)

unzip siRNA_0715.zip 
到这里准备工作可以了,如果解压出问题了,可以重新上传一下,然后重复解压的操作

总览

在这里插入图片描述

详细可以参考这篇

参赛平台

上海科学智能研究院

Task 1 跑通基线

baseline

  1. 运行笔记本

2.3siRNA/task3.2_siRNA.ipynb
在这里插入图片描述
就是这个橙不溜秋的书签,双击运行

  1. 运行笔记本中的所有代码
    在这里插入图片描述
  2. 等待结果出来
    在这里插入图片描述
    可以看到多了一个文件夹和文件

右键下载result/submission.csv文件(download

在这里插入图片描述

注意用完平台记得关闭实例(右上角)!!!
注意用完平台记得关闭实例(右上角)!!!
注意用完平台记得关闭实例(右上角)!!!

在这里插入图片描述
tips: 算力充足可以当我没说,不关的话时长会一直使用

提交文件获得第一个分数

平台: 上海科学智能研究院

注册和实名制略过

点击提交结果和选中刚刚下载的文件等待上传

在这里插入图片描述
在这里插入图片描述

点击我的成绩查看分数

在这里插入图片描述

至此Task1 baseline 任务完成

Task1 知识点终结

基因组分词器类

基因组分词器的目的是将基因组序列分割成固定长度的n-gram片段。这是为了进一步处理或分析基因组数据时的需要。

基因组数据通常是由ACGT四个字母(腺嘌呤、胞嘧啶、鸟嘌呤和胸腺嘧啶)组成的序列。

n-gram

指由n个连续字母构成的片段。将基因组序列分割成n-gram片段可以帮助我们理解基因组的结构和功能。

基因组分词器将基因组序列分割成固定长度的n-gram片段可以用于以下应用:

  • 基因组注释:通过分析n-gram片段可以识别基因、启动子、转录因子结合位点等功能区域。
  • 基因组比对:将n-gram片段与已知的基因组序列进行比对,可以找到相似的片段并识别基因的同源性。
  • 基因组序列分类:通过分析n-gram片段可以将不同物种的基因组序列进行分类。

GRU的神经网络模型

GRU是一种循环神经网络(RNN)模型,全称为Gated Recurrent Unit。它是一种改进的RNN架构,用于处理序列数据,尤其在自然语言处理和语音识别等任务中表现出色。

GRU通过引入门控机制来解决传统RNN存在的短期记忆和长期记忆不平衡的问题。它具有两个门控单元:重置门(reset gate)和更新门(update gate)。重置门控制了当前状态如何与先前状态相结合,而更新门控制了用于传递信息的新状态的计算。

GRU单元结构如下图所示
在这里插入图片描述
GRU是Ilya Sutskever和Oriol Vinyals等人在2014年提出的一种改进的RNN单元,它旨在解决传统RNN在处理长序列时出现的梯度消失或梯度爆炸问题。

GRU的核心思想是引入两个门控机制:更新门(Update Gate)和重置门(Reset Gate)。这两个门控机制允许模型动态地决定在每个时间步上应该保留多少之前的信息,以及应该更新多少当前的信息。这使得GRU能够更好地捕捉长距离依赖关系。

GRU的数学模型
更新门(Update Gate)

更新门决定了在当前时间步应该保留多少之前的隐藏状态。更新门的公式如下:

z t = σ ( W z ⋅ [ h t − 1 , x t ] ) z_t = \sigma(W_z \cdot [h_{t-1}, x_t]) zt=σ(Wz[ht1,xt])

其中, z t z_t zt 是更新门的输出, W z W_z Wz 是更新门的权重矩阵, σ \sigma σ 是sigmoid函数。

重置门(Reset Gate)

重置门决定了在当前时间步应该忽略多少之前的隐藏状态。重置门的公式如下:

r t = σ ( W r ⋅ [ h t − 1 , x t ] ) r_t = \sigma(W_r \cdot [h_{t-1}, x_t]) rt=σ(Wr[ht1,xt])

其中, r t r_t rt 是重置门的输出, W r W_r Wr 是重置门的权重矩阵。

候选隐藏状态(Candidate Hidden State)

候选隐藏状态是当前时间步的新信息,其公式如下:

h ~ t = tanh ⁡ ( W ⋅ [ r t ⊙ h t − 1 , x t ] ) \tilde{h}_t = \tanh(W \cdot [r_t \odot h_{t-1}, x_t]) h~t=tanh(W[rtht1,xt])

其中, h ~ t \tilde{h}_t h~t 是候选隐藏状态, W W W 是候选隐藏状态的权重矩阵, ⊙ \odot 表示Hadamard乘积。

最终隐藏状态(Final Hidden State)

最终隐藏状态结合了之前保留的信息和当前的新信息,其公式如下:

h t = ( 1 − z t ) ⊙ h t − 1 + z t ⊙ h ~ t h_t = (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h}_t ht=(1zt)ht1+zth~t

其中, h t h_t ht 是最终的隐藏状态。

GRU在自然语言处理、语音识别和时间序列预测等领域有着广泛的应用

小结

相比于普通的RNN模型,GRU具有更好的记忆能力和更强的建模能力,同时减少了参数数量,使得训练过程更加高效。 由于其优秀的性能和实用性,GRU已经成为经典的循环神经网络模型之一,并被广泛应用于各种序列数据分析任务中。

机器学习知识点

MAE (Mean Absolute Error)

表示预测值与真实值之间的平均绝对误差。

它计算每个样本的预测值与真实值之间的差值的绝对值,然后对所有样本取平均。

召回率(Recall)

表示所有真正例中被正确预测为正例的比例。

召回率可以衡量模型对正例的覆盖程度,即模型有多少能够找到真正例。

F1得分

精确度和召回率的调和平均值。

F1得分的取值范围为0到1,其中1表示最佳性能,0表示最差性能。

精确度(Precision)

表示被预测为正例中实际为正例的比例。

精确度可以衡量模型的准确性,即模型有多少预测为正例的样本真正是正例。

Sigmoid函数

一种常用的激活函数,用于在神经网络中引入非线性。

它的数学表达式如下:

s i g m o i d ( x ) = 1 / ( 1 + e x p ( − x ) ) sigmoid(x) = 1 / (1 + exp(-x)) sigmoid(x)=1/(1+exp(x))

其中,exp(-x)表示e的-x次方,e是自然常数。

Sigmoid函数的输出值范围在0到1之间,通常用于将输入值映射到一个概率分布,或者作为二分类问题中的激活函数。
在GRU单元中,Sigmoid函数被用于计算两个门控向量:更新门(update gate)和重置门(reset gate)。这两个门控向量通过Sigmoid函数将输入向量和先前的隐藏状态向量映射到0到1之间的值,以控制它们对更新和重置操作的贡献。
更新门决定了先前的隐藏状态应该如何被保留或更新,而重置门决定了先前的隐藏状态如何与当前输入进行组合。
Sigmoid函数在GRU单元中通过限制门控向量的取值范围,使得GRU单元能够自适应地更新和遗忘信息,并有效地处理输入序列数据。

Hadamard乘积

也称为元素级乘积或逐元素乘积,是一种运算,用来对两个具有相同维度的向量、矩阵或张量进行逐元素的相乘

对于两个维度相同的向量 A 和 B,Hadamard乘积的运算规则为:
C = A ⊙ B C = A ⊙ B C=AB
其中 ⊙ 表示Hadamard乘积运算,C 是结果向量,C 的每个元素都等于 A 和 B 对应位置元素的乘积。

对于矩阵和张量,Hadamard乘积的运算规则与向量相同,只不过是在对应位置的元素进行相乘。
Hadamard乘积通常用于逐元素操作,如逐元素乘法、逐元素加法等。
它与矩阵乘法或点积运算不同,矩阵乘法是对应位置元素的乘积再求和
Hadamard乘积是对应位置元素直接相乘。
Hadamard乘积在深度学习中经常用于一些操作,如逐元素激活函数、逐元素损失函数、逐元素操作的正则化等。它可以帮助模型学习非线性关系,同时保持数据的维度不变。

小结

在分类问题中,精确度和召回率是互相影响的指标。高精确度可能意味着模型只预测那些非常确信的正例,导致召回率较低。相反,高召回率可能意味着模型会将更多样本预测为正例,导致精确度较低。因此,F1得分作为精确度和召回率的综合指标,可以平衡这两个指标的表现。在评估模型性能时,通常会综合考虑精确度、召回率和F1得分。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/875639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LC 128.最长连续序列

128.最长连续序列 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: nums [100,4,200,1,3,2]…

go标准库---net/http服务端

1、http简单使用 go的http标准库非常强大,调用了两个函数就能够实现一个简单的http服务: func HandleFunc(pattern string, handler func(ResponseWriter, *Request)) func ListenAndServe(addr string, handler Handler) error handleFunc注册一个路…

BGP路由反射器

原理概述 缺省情况下,路由器从它的一个 IBGP对等体那里接收到的路由条目不会被该路由器再传递给其他IBGP对等体,这个原则称为BGP水平分割原则,该原则的根本作用是防止 AS内部的BGP路由环路。因此,在AS内部,一般需要每台…

LabVIEW做二次开发时应该注意哪些方面?

在使用LabVIEW进行二次开发时,以下几个方面需要特别注意: 需求明确化: 确认并详细记录客户的需求,明确系统的功能、性能、可靠性等要求。制定详细的需求文档,并与客户反复确认,避免后期的需求变更和误解。 …

【Android】数据存储方案——文件存储、SharedPreferences、SQLite数据库用法总结

文章目录 文件存储存储到文件读取文件 SharedPreferences存储存储获取SharedPreferences对象Context 类的 getSharedPreferences() 方法Activity 类的 getPreferences() 方法PreferenceManager 类中的 getDefaultSharedPreferences() 方法 示例 读取记住密码的功能 SQLite数据库…

4.Java Web开发模式(javaBean+servlet+MVC)

Java Web开发模式 一、Java Web开发模式 1.javaBean简介 JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。名称中…

JAVA代码审计JAVA0基础学习(需要WEB基础知识)DAY2

JAVA 在 SQL执行当中 分为3种写法: JDBC注入分析 Mybatis注入分析 Hibernate注入分析 JDBC 模式不安全JAVA代码示例部分特征 定义了一个 sql 参数 直接让用户填入id的内容 一个最简单的SQL语句就被执行了 使用安全语句却并没有被执行 Mybatis: #…

【MetaGPT系列】【MetaGPT完全实践宝典——多智能体实践】

目录 前言一、智能体1-1、Agent概述1-2、Agent与ChatGPT的区别 二、多智能体框架MetaGPT2-1、安装&配置2-2、使用已有的Agent(ProductManager)2-3、多智能体系统介绍2-4、多智能体案例分析2-4-1、构建智能体团队2-4-2、动作/行为 定义2-4-3、角色/智…

PyTorch和TensorFlow概念及对比

PyTorch和TensorFlow是两个流行的深度学习框架,用于构建和训练机器学习和深度学习模型。它们各自有一些独特的特点和优点: 一 、PyTorch 动态计算图: PyTorch使用动态计算图(Dynamic Computation Graph),…

【OpenCV C++20 学习笔记】调节图片对比度和亮度(像素变换)

调节图片对比度和亮度(像素变换) 原理像素变换亮度和对比度调整 代码实现更简便的方法结果展示 γ \gamma γ校正及其实操案例线性变换的缺点 γ \gamma γ校正低曝光图片矫正案例代码实现 原理 关于OpenCV的配置和基础用法,请参阅本专栏的其…

五、工厂方法模式

文章目录 1 基本介绍2 案例2.1 Drink 抽象类2.2 Tea 类2.3 Coffee 类2.4 DrinkFactory 抽象类2.5 TeaFactory 类2.6 CoffeeFactory 类2.7 Client 类2.8 Client 类运行结果2.9 总结 3 各角色之间的关系3.1 角色3.1.1 Product ( 抽象产品 )3.1.2 ConcreteProduct ( 具体产品 )3.1…

生物信息学新突破:在英特尔 Gaudi 2 上实现 ProtST 蛋白质语言模型加速

引言 随着人工智能技术的快速发展,蛋白质结构预测和语言模型在生物信息学领域扮演着越来越重要的角色。ProtST作为一种新兴的蛋白质语言模型,其性能在英特尔 Gaudi 2 加速器的助力下得到了显著提升。本文将探讨如何利用英特尔 Gaudi 2 加速 ProtST 模型…

哈希表相关的力扣题和讲解和Java、C++常用的数据结构(哈希法)

20240725 一、什么时候适用什么样的结构。1.java中1.1 HashSet:1.2 TreeSet:1.3 LinkedHashSet:1.4 HashMap:1.5 TreeMap:1.6 LinkedHashMap:1.7 总结 2. c中2.1 std::unordered_set:2.2 std::s…

项目实战——外挂开发(30小时精通C++和外挂实战)

项目实战——外挂开发(30小时精通C和外挂实战) 外挂开发1-监控游戏外挂开发2-秒杀僵尸外挂开发3-阳光地址分析外挂开发4-模拟阳光外挂开发5-无限阳光 外挂开发1-监控游戏 外挂的本质 有两种方式 1,修改内存中的数据 2,更改内存中…

谷粒商城实战笔记-54-商品服务-API-三级分类-拖拽效果

文章目录 一,54-商品服务-API-三级分类-修改-拖拽效果1,el-tree控件加上允许拖拽的属性2,是否允许拖拽3,完整代码 一,54-商品服务-API-三级分类-修改-拖拽效果 本节的主要内容是给三级分类树形结构加上拖拽功能&#…

Mysql 集群搭建 05

文章目录 1. Mysql主从复制集群搭建1.1 主库配置1.2 从库配置 2. 分库分表2.1 拆分策略2.2 实现技术2.2.1 MyCat概述2.2.2 MyCat入门2.2.3 配置 schema.xml 3. 双主双从4. 双主双从读写分离 1. Mysql主从复制集群搭建 主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志…

Dubbo 参数调优指南

在现代微服务架构中,Apache Dubbo 是一款高性能的 Java RPC 框架,它提供了丰富的功能来支持大规模分布式系统的构建。为了确保 Dubbo 服务能够在高并发环境中稳定运行,性能调优是不可忽视的重要环节。本文将深入探讨 Dubbo 的参数调优策略&am…

【知识图谱】人工智能之知识图谱的详细介绍

知识图谱(Knowledge Graph)作为一种新型的知识表示和组织方式,正逐渐成为信息领域的研究热点。以下是对知识图谱的详细介绍: 一、定义与概念 知识图谱以结构化的形式描述客观世界中概念、实体及其关系,将互联网的信息…

uniapp实现表格的多选功能

记录一下最近在做一个的表格数据多选功能。需求大致为支持多选、支持跨分页的连续选择、支持通过查询框后手动选择数据(我是后端选手,前端不太熟悉单纯记录~)。 主要思路为: 将table中的唯一id,存入数组tableIds中进…

金融业的等保测评实践与成效:以实际案例为鉴

在数字化浪潮席卷全球的今天,金融业作为信息密集型的行业,其信息安全与业务连续性面临着前所未有的挑战。为了确保金融数据的安全性和业务的稳健运行,金融业积极响应国家信息安全等级保护制度(简称“等保”)&#xff0…