
深度学习
文章平均质量分 64
图灵生信
我爱学习,你爱吗[狗头]
展开
-
常见几种简单的深度学习算法在生物医学数据领域的特点和不足
在实际数据分析与模型构建过程中,往往需要根据实际项目背景、数据逻辑、数据质量等选择最合适的算法。切忌盲目追求高大上的算法模型。通过表格的形式,总结了常见几种简单的深度学习算法在生物医学数据领域的特点和不足(原创 2024-08-23 16:05:17 · 1063 阅读 · 0 评论 -
基于预训练模型,进行氨基酸序列编码,用于深度学习模型构建
在对氨基酸序列数据进行深度学习模型构建时,首先需要将字符形式的序列数据进行编码操作。最简单的当然是One-hot编码,但会引入稀疏性问题。这里提供一种基于预训练模型的编码方法原创 2024-08-23 15:40:49 · 393 阅读 · 0 评论 -
nnUNet源码解读(二):nnUNet数据预处理crop方法
dddd转载 2023-01-31 14:34:40 · 777 阅读 · 0 评论 -
L1、L2正则化和过拟合(转载)
L1正则化是指权重矩阵中各个元素的绝对值之和,为了优化正则项,会减少参数的绝对值总和,所以L1正则化倾向于选择稀疏(sparse)权重矩阵(稀疏矩阵指的是很多元素都为0,只有少数元素为非零值的矩阵)。L1正则化主要用于挑选出重要的特征,并舍弃不重要的特征。L2正则化是指权重矩阵中各个元素的平方和,为了优化正则项,会减少参数平方的总和,所以L2正则化倾向于选择值很小的权重参数(即权重衰减),主要用于防止模型过拟合。是最常用的正则化方法。一定程度上,L1也可以防止过拟合。转载 2023-02-27 15:53:05 · 360 阅读 · 0 评论 -
手撸深度学习中常用的激活函数
如果使用线性激活函数,那么输入跟输出之间的关系为线性的,无论神经网络有多少层都是线性组合。使用非线性激活函数是为了增加神经网络模型的非线性因素,以便使网络更加强大,增加它的能力,使它可以学习复杂的事物,复杂的表单数据,以及表示输入输出之间非线性的复杂的任意函数映射。输出层可能会使用线性激活函数,但。转载 2023-02-28 17:28:28 · 217 阅读 · 1 评论 -
手撸交叉熵损失函数Cross-entropy loss function
**损失函数**是用来评价模型的**预测值**和**真实值**不一样的程度。损失函数越好,通常模型的性能也越好。损失函数分为**经验风险损失函数**和**结构风险损失函数**:- 经验风险损失函数是指预测结果和实际结果的差别。- 结构风险损失函数是指经验风险损失函数加上正则项。原创 2023-02-28 16:15:32 · 1487 阅读 · 0 评论 -
基于Pytorch,从头开始实现Transformer(编码器部分)
GPT-3,BERT,XLNet这些都是当前自然语言处理(NLP)的新技术,它们都使用一种称为 transformer 的特殊架构组件,这是因为,transformer 这种新机制非常强大,完整的transformer 通常包含三个结构:scaled dot-product attentionself-attentioncross-attentionmulti-head attentionpositional encoding原创 2023-02-22 16:10:36 · 1798 阅读 · 1 评论 -
【SimpleITK】CT数据的3D space归一化
即 channel为150。转载 2023-02-01 15:26:21 · 317 阅读 · 0 评论 -
nnUNet源码解读(一):数据维度变换
最近用到 nnUNet 这个框架做了一个影像分割的项目。正好学习一下这个框架的源码。我的电脑是ubuntu,已经安装好了nnUNet框架,并且按照作者提供的的步骤,对相应步骤的原码进行解读。使用到数据也是作者在文档中提供的前列腺(prostate)数据集,下载地址:https://drive.google.com/drive/folders/1HqEgzS8BV2c7xYNrZdEAnrHk7osJJ–2只是记录我读源码的过程,所以文档格式很乱,也可能有错误。原创 2022-12-16 15:03:22 · 1676 阅读 · 0 评论 -
简单尝试使用迁移学习进行图像分类(VGG、Resnet)
考虑到VGG16要求图像的形状为(224,224,3),即像素为224x224的彩色图像,因为我准备用这个数据集进行实验。所谓的应急车辆包括:警车、消防车和救护车。在数据集中有一个,用来存放训练样本的标签。数据集下载:百度云下载链接提取码: quia我们自定义一个卷积神经网络模型,用该数据集进行训练。得到的模型结果作为baseline,与迁移学习的模型进行比较。模型训练结果如下:在这个案例中,使用迁移学习能够明显提高模型性能。转载 2022-09-07 19:00:37 · 1834 阅读 · 1 评论 -
图神经网络(2):基于DGL实现GCN算法
通过框架,自定义图卷积层(GCN)。需要掌握“如何使用DGL”实现图卷积算法。原创 2022-06-09 19:42:04 · 1912 阅读 · 1 评论 -
图神经网络(1):DGL基础
笔记是直接从Jupyter 保持下来的,格式会比较乱,主要是给自己看的。1. 构建图导入依赖库import dglimport torchimport numpy as np1.1 构建图src_idx = np.random.randint(0,3,5) # sorce nodes iddst_idx = np.random.randint(0,3,5) # destination nodes idG = dgl.graph((src_idx, dst_idx)) # con原创 2022-05-29 12:29:10 · 1225 阅读 · 0 评论 -
自动化特征选择
高维度的数据集可能使模型变得更加复杂,从而增大过拟合的可能性。在处理高维数据集时,最好将特征的数量减少到只包含最有用的那些特征,并删除多余特征。这样会得到泛化能力更好、更简单的模型。删除噪声特征可以提高模型性能。特征提取有三种基本策略:(1)单变量统计(univariate statistics);(2) 基于模型的选择(model-based selection);(3) 迭代选择(iterative selection)。这些方法都是监督方法,即它们需要目标值来拟合模型。换言之,需要将数据划分为训练集原创 2022-03-28 16:30:25 · 2057 阅读 · 0 评论 -
pytorch: 训练第一个回归模型
本文参考教程, 非常感谢原作者.1. 模型训练import torchfrom matplotlib import pyplot as pltimport torch.nn.functional as F# 自定义一个Net类,继承于torch.nn.Module类# 这个神经网络的设计是只有一层隐含层,隐含层神经元个数可随意指定class Net(torch.nn.Module): # Net类的初始化函数 def __init__(self, n_feature, n_转载 2021-07-07 14:17:14 · 389 阅读 · 0 评论 -
Tensorflow2 中屏蔽输出的log信息方法
在 Tensorflow2 版本中可以通过 os 模块 配置环境变量 TF_CPP_MIN_LOG_LEVEL 的值,控制 Tensorflow 是否屏蔽通知信息、警告、报错等输出信息。但需要注意的是 配置环境变量 一定要在 import tensorFlow 之前设置 ! 否则无效!使用方法如下:import os# 下面这句要在 import tensorflow 之前os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' # or any {'0', '1',原创 2021-05-21 09:58:47 · 1035 阅读 · 0 评论 -
TensorFlow2:使用RNN进行文本分类
(一) 实验环境import numpy as npimport tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layersprint('Tensorflow version: ', tf.__version__)### Tensorflow version: 2.3.0 (二) 实验数据max_features = 20000 # Only consider the top 20k原创 2021-05-07 10:54:10 · 733 阅读 · 0 评论 -
通过 Tensorflow 的基础类,构建卷积神经网络,用于花朵图片的分类
实验目的通过 Tensorflow 的基础类,构建卷积神经网络,用于花朵图片的分类。实验环境import tensorflow as tfprint(tf.__version__)output:2.3.0实验步骤(一) 数据获取和预处理1.1 数据选择 TensorFlow 官方提供的花朵图片数据,经如下代码获取:dataset_url = "https://storage.googleapis.com/download.tensorflow.org/example_images原创 2021-04-25 19:35:46 · 1544 阅读 · 1 评论 -
TensorFlow2 的基本循环训练
实验目的使用 TensorFlow2 基础类 api 训练一个线性回归模型。实验步骤本次实验所使用的环境如下:import tensorflow as tfprint(tf.__version__)2.3.01. 构造训练数据集通过如下代码,生成训练数据集:# 实际的线TRUE_W = 5.0TRUE_B = 10.0NUM_EXAMPLES = 1000# 随机向量xx = tf.random.normal(shape=[NUM_EXAMPLES])# 生成噪声原创 2021-04-23 16:48:44 · 513 阅读 · 2 评论 -
使用 CNN 训练MNIST数据分类模型
(一) 实验环境Python版本: 3.7.0TensorFlow 版本: 2.3.0实验数据:MNIST(二) 实验步骤1. 下载实验数据import tensorflow as tfimport numpy as npimport pandas as pdimport matplotlib.pyplot as plt# 第一次加载会自动下载。(train_X, train_Y), (test_X, test_Y) = tf.keras.datasets.mnist.load_d原创 2021-03-05 20:13:15 · 1076 阅读 · 1 评论 -
使用 全连接神经网络 训练MNIST数据分类模型
(一) 实验目的使用简单的全连接层神经网络对MNIST手写数字图片进行分类。通过本次实验,可以掌握如下知识点:学习 TensorFlow2 神经网络模型构建方式;学习 tf.keras.layers.Flatten() 、tf.keras.layers.Dense()、tf.keras.layers.Dropout() 三种神经网络层;学习 relu 和 softmax 两种激活函数;(另写)学习 adam 优化算法。 (另写)(二) 实验过程1. 导入 TensorFlow 模块im原创 2020-10-02 20:28:45 · 3564 阅读 · 1 评论 -
神经网络中的名词解释:梯度下降、Epoch、Batch_size、迭代
(一) 梯度下降梯度下降是在机器学习中用于寻找最佳结果(即曲线最小值)的一种迭代优化算法。如下图所示,要使绿色点达到最小值,需要考虑两个问题:1)绿色点向左还是右移动;2)移动多大的距离。对于向左还是向右移动的问题,我们可以根据数学求导公式来进行判断,即判断曲线还是在绿色点位置是递增还是递减,进而决定点该想哪个方向移动。对于移动多大的距离问题,以下图中绿色和蓝色两个点为例。在两个点位置分别做一条切线,可以看到蓝色点的切线斜率是低于绿色点的。这提示,蓝色点很有可能更加接近最小值,那么此时蓝色点原创 2020-10-02 19:14:50 · 6310 阅读 · 0 评论 -
卷积运算(转载)
知乎的这个回答比较好理解:如何通俗易懂地解释卷积?转载 2020-09-30 18:11:21 · 387 阅读 · 0 评论 -
基因组学中的深度学习 (转载)
转载说明:本文转载至 ‘碱基矿工’ 公众号这一篇文章的主题是深度学习在基因组学中的应用情况的。文章较长,读完要花些时间,不过我的建议是通读第一部分——关于如何进行模型训练的内容,读完后你应该可以理解机器学习模型的训练过程和逻辑,剩下的部分可以挑重点的看。START基因组学其实是一门将数据驱动作为主要研究手段的学科,机器学习方法和统计学方法在基因组学中的应用一直都比较广泛。不过现在多组学数据进一步激增——这个从目前逐渐增多的各类大规模人群基因组项目上可以看出来,这其实带来了新的挑战——就是数据挖转载 2020-09-20 11:51:52 · 3412 阅读 · 0 评论 -
使用Boston房价数据,训练一个一元线性模型
使用Boston房价数据,训练一个一元线性模型import tensorflow as tfimport matplotlib.pyplot as pltBoston_housing数据已经集成到Tensorflow2中了,第一次使用会自动进行下载boston = tf.keras.datasets.boston_housing(x_train, y_train), (x_test, y_test) = boston.load_data()Downloading data from htt原创 2020-09-03 19:30:29 · 417 阅读 · 0 评论 -
Tensorflow2基础知识点
准备TensorflowTensor表示张量;Numpy只能在CPU中计算;Tensor可以在GPU和TPU中计算。在Tensorflow2版本中,所有张量都可以调用numpy的方法 import tensorflow as tf import numpy as npprint("Tensorflow version:", tf.__version__)Tensorflow version: 2.3.0print("Eger execution is:", tf.executing_ea原创 2020-09-02 19:27:50 · 407 阅读 · 0 评论 -
Numpy 基础
1. 通过array函数创建多维数组创建一维数组a = np.array([1,2,3,4])print(a)[1 2 3 4]创建二维数组b = np.array([[1,2,3],[4,5,6],[3,2,1]])print(b)[[1 2 3][4 5 6][3 2 1]]2. 数组对象常用的属性(维度、形状、元素个数、元素字节数)以下面的二维数组为例:b = np.array([[1,2,3],[4,5,6],[3,2,1]])print(b)[原创 2020-09-01 20:25:02 · 340 阅读 · 0 评论 -
MNIST数据集
MNIST数据集MNIST数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST). 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员。在TensorFlow2版本中,MNIST已经被集成到了程序数据集中,通过以下代码进行导入(第一次运行会自动下载数据集):import tensor原创 2020-08-30 18:47:33 · 564 阅读 · 0 评论