- 博客(24)
- 收藏
- 关注
原创 分类任务-
x = x * attention_weights #PyTorch 支持广播机制,因此即使 attention_weights 的形状为 (batch_size, channels, 1, 1),也可以直接与形状为 (batch_size, channels, height, width) 的 x 进行逐元素相乘。plt_train_acc.append(train_acc/train_loader.dataset.__len__()) #记录准确率,) # 打印训练结果。
2025-03-25 07:06:23
341
原创 深度学习复习笔记(8)特征提取与无监督学习
模型只看到一部分,然后生成一张图片,和自己的原图进行对比生成loss。GAN模型,判别器梯度来源于分类任务,生成器把判别器的准确率当成他的梯度(越低越好)。:将不同的图片提取出风格和内容特征,再用一张图片的风格特征融合另一张的内容。:对原图进行增广,提取自己和自己(的增广)共同的特征(交集),归为一类。预训练:预训练的任务和后面的任务没有关系,只是让模型具有特征提取能力。***关注模型的训练时,最该关注梯度从何而来。经过预训练的模型,下游任务只需要少量的数据。把遮盖后的文字当成x,原来的文字当作y。
2025-03-22 13:35:01
383
原创 生物信息复习笔记(4)——数据预处理
gene_name <- mapIds(org.Hs.eg.db, gene_id1,"SYMBOL","ENSEMBL") ##(数据库,需转化的数据集,SYMBOL是org.Hs.eg.db这个数据库里对于基因名的标志,匹配数据库里的数据源)##经过之前counts3 <- counts2[,valid_sample]和urv_dat1 <- surv_dat1[valid_sample,]的处理,counts3样本排序和surv_data样本排序是一样的。
2025-03-21 03:47:28
649
原创 生物信息复习笔记(3)——GEO数据库
精准搜索方式:GEO首页--Series--Search(Accession数据集编号,Title数据集解释)--点击物种Organism进行筛选--选好数据集后点击Accession进入(Experiment type实验方式,Platforms测序平台信息)--点击Samples查看样本信息(os是生存时间,os_event是否出现阳性结果,Value标准化后的数据,Data processing数据处理,可以找到标准化的方式)##用R在GEO下载数据,把下载的数据赋值到gset变量。
2025-03-21 00:47:52
433
原创 生物信息复习笔记(4)——概述
基因的表达并不意味着蛋白质一定表达,中间有很多各种各样的因素,干扰蛋白质的表达,最终对人身体以及疾病有影响的,是体内各种蛋白质的表达(表型)KEGG:圆圈大小代表不同数量基因,横轴是富集到对应生物学功能或信号通路上的基因的比例。:HR大于1且具有统计学意义时,可以说患有这个病的女性死亡风险比男性高。GO:纵轴不同生物学功能,横轴基因数量。p值小,具有统计学意义。ALDH2为保护基因,PPARG和CYB5R3为风险基因。基因富集到了哪些生物学功能,哪些信号通路上。HR<1,保护基因。挑,圈,联,靠:流程。
2025-03-20 21:54:50
134
原创 生物信息复习笔记(2)——测序基本概念
如基因A在样本1和样本2中,在样本1中count比在样本2中间中高,也不能说A在样本1中的表达比在样本2中高。(即在某个样品中,某基因的counts值除以该基因长度,再除以该样本所有基因的counts值的和。测序深度的平衡,靠counts值除以所有基因的counts值的和,即表示该基因在该样本中所有基因的占比。:剪切体在剪切pre-mRNA时,有多种不同的剪切方法,不同的剪切方法产生不同的转录本。:如基因A和基因B,基因A的count比基因B的count高不能直接说A的。:(用的不多)(只能用于组间比较)
2025-03-20 21:11:13
417
原创 生物信息复习笔记(1)——看懂测序
再加入中性溶液,让DNA发生折叠,折叠后单链的DNA与Flow cell上的另一种引物杂交结合,在DNTP和聚合酶的作用下互补配对,合成一条新的链。通过化学反应使其中一个引物上的一个基团被切割掉,导致其中一种单链从FLow cell上脱落,并冲洗掉,仅留下另一种单链(拿掉反向链,即与模板链互补的链,留下正向链,和模板链一致)。,新的链会解开,然后形成两条互补的DNA单链。当正链的DNA测序完成后,会洗掉在测序过程中的配对产生的所有反链,然后重复桥式PCR的过程,完成互补链的测序。的引物后,与之杂交结合。
2025-03-20 19:41:46
318
原创 深度学习复习笔记(7)分类任务——图片分类项目 半监督学习
xi = np.zeros((len(file_list), HW, HW, 3), dtype=np.uint8) #xi用来装该文件夹下的所有图片 np.zeros()创建一个由0填充的矩阵 (样本数,长,宽,厚度)no_label_loader = DataLoader(no_label_dataset, batch_size=batch_size, shuffle=False) #打标签数据不能打乱,不然X,Y无法对应。只有X,和transformX。
2025-03-18 23:38:10
820
原创 深度学习复习笔记(7)分类任务——图片分类项目监督学习
xi = np.zeros((len(file_list), HW, HW, 3), dtype=np.uint8) #xi用来装该文件夹下的所有图片 np.zeros()创建一个由0填充的矩阵 (样本数,长,宽,厚度)yi = np.zeros((len(file_list)), dtype=np.uint8) #yi用来装该文件夹下的所有标签,dtype=np.unit8指定类型为整数,RGB都是整数。
2025-03-17 23:41:09
769
原创 深度学习复习笔记(7)分类任务——迁移学习
把大佬的特征提取器拿过来用,分类头用自己的。(大佬的模型已经训练过很久了,把大佬模型的参数迁移过来,让我的模型一开始就具备很强的特征提取能力)每一个项目最大的不同在于数据结构的不同,不同的数据结构读法是不同的。如果只是单一的图片样式进行训练,模型见到相同图片的缩小版,旋转版本就识别不出,所以需要数据增广,把所有情况都进行训练。:把整个迁移学习过来的特征提取器冻上,只训练后面的分类头。相比于SGD,Adam不止看当前的梯度,还看之前的梯度。AdamW的W类似于L2正则化的w,使曲线更加平滑。
2025-03-17 23:39:43
203
原创 深度学习复习笔记(7)分类任务——模型
如果使用1*1卷积,可以把256*112*112用64个1*1卷积核降维为64*112*112,再进行卷积核为3*3的卷积,此时参数量为64*64*3*3,比直接卷积参数量缩小了16倍。data = torch.ones((4, 3, 224, 224)) #创建全为1的张量,维度是4*3*224*224 代表(样本数或batch,厚度,尺寸,尺寸)卷积不容易过拟合,因为参数少了很多。self.conv1 = nn.Conv2d(3, 64, 11, 4, 2) #卷积,池化。
2025-03-15 16:25:51
1250
原创 深度学习复习笔记(7)分类任务——卷积
输入,卷积,池化,卷积,池化 循环,卷到一定程度 拉直,全连接,每个类别都得到一个值,值最大的就是模型预测出的类别。当y尖=0,那么前半部分为0,要想让Loss最小,希望1-y‘趋近于1,y’趋近于0,即y‘和y不是一个类别。当y尖=1,那么后半部分为0,要想让Loss最小,希望y‘趋近于1,即y’和y尖接近,是一个类别。通过backward()梯度回传,得到每一个卷积核的每一个权重的梯度,通过优化器更新模型。:卷积核是模型的参数,上图第一层卷积的参数量是3*3*3*5(忽略bias).
2025-03-14 17:21:23
371
原创 深度学习复习笔记(6)线性回归——新冠预测项目优化
其中关键的argsort函数,sort是对矩阵进行排序后返回值(从小到大),argsort是对矩阵进行排序后返回下标(从小到大),在配合[::-1]逆置矩阵,即可得到相关系数最高的几个特征的位置。当我们在优化模型时,会让损失函数尽可能小,如果y2和模型差距过大,模型会往y2靠。当参数减小时,y2和其他样本的差距就小,模型也会更平滑,防止过拟合。选择x轴能很好区分样本,而y轴不行,所以选x轴。计算每一列(维度)和最后一列(标签)的相关性,找到最高的几列,其余的(噪声)全部不要。方差越大越混乱,分得越散。
2025-03-12 00:12:47
213
原创 深度学习复习笔记(6)线性回归——新冠预测项目
def train_val(model, train_loader, val_loader, device, epochs, optimizer, loss, save_path): #(模型,训练集,验证集,设备,迭代轮数,优化器,损失函数,最好模型的保存路径)train_val(model, train_loader, val_loader, device, config["epochs"], optimizer, loss, config["save_path"]) #训练,验证。
2025-03-11 21:38:43
753
原创 深度学习复习笔记(6)线性回归
模型的训练不是一直上升的,很有可能上升后下降,最好点出现在中间。所以训练中穿插着验证并把验证效果最好的那个记录下来。数据处理:输入文件地址,输出x,y(每个项目都要针对性的去处理)靠数据处理可以提升模型性能。一般会把训练数据拆分,拆分成训练集和验证集(验证模型好坏),以确保模型在测试集上的表现。训练集的选取要随机(均匀),均匀覆盖整个情况以保证训练效果。模型的参数跟验证集无关,模型的参数是在训练集的数据上更新。模型框架就是一种超参。
2025-03-09 03:16:53
120
原创 深度学习复习笔记(5)简单线性回归
plt.plot(X[:, idx].detach().numpy(), X[:, idx].detach().numpy()*w_0[idx].detach().numpy()+b_0.detach().numpy()) #画直线,一个x对应一个w,所以要切片。百分号后面替换百分号前面。x = torch.normal(0, 1, (data_num, len(w))) #(平均,标准差,规格)data_num为长,w的个数为宽。
2025-03-08 17:53:40
588
原创 深度学习复习笔记(4)python基础——numpy,tensor,引用
因为张量网上计算x的梯度后会保留,前面计算过一次x的梯度为6,再计算一次为6+6=12.所以在第二次计算前要有清零操作:"x.grad = torch.tensor(0.0)"array3 = np.concatenate((array1, array2)) #后面加axis=0等效(默认是axis=0)tensor4 = torch.normal(0, 0.01, (10,4)) #normal(平均数,标准差,张量规格):竖着为0维,横着为1维,立体方向为2维,以此类推。
2025-03-03 01:12:34
237
原创 深度学习复习笔记(4)python基础——函数,类
def __init__(self, name, age): #self是类本身,通过self在各个函数之间传递数据(各函数本身是互相屏蔽的,有了self后函数之间可以传递数据)print(sijia.print_name()) #输出fsj和None,fsj来源于sijia.print_name(),None来源于print_name函数无return。super(superman, self).__init__(name, age) #表示在继承person的基础上修改初始化。
2025-03-02 22:17:08
195
原创 深度学习复习笔记(4)python基础——列表
print(list1[1:]) #无值表示到终点结束。# 把循环中每个值加入列表中,循环后置。# 相当于: list5 = []# 切片,插入,删除。
2025-03-02 20:38:59
178
原创 深度学习复习笔记(4)python基础——条件
range(10) 表示[0, 10)的范围;range(小,大,步长)# table 是后移, shift + table 是往前。# python缩进4个空格表示属于。# for i in 范围。# 判断,缩进,空值。# while 循环。
2025-03-02 20:17:16
72
原创 深度学习复习笔记(4)python基础——数据结构
字典 哈希表(dict{}) key: value 给一个key,可以在O(1) 时间复杂度给出value。#数据结构 赋值 整型,浮点型,列表,字典,字符串。# 交换(python 支持多变量在等号面前承接)#访问字符串的下标(下标从零开始)# 列表 list[](关键)# ctrl + / 是注释。# 浮点型和整型可直接赋值。# 访问列表最后一个元素。# 灵活的字典和列表。
2025-03-02 19:26:45
221
原创 深度学习复习笔记(3)深度神经网络
才会激活传递信息,如果没有阈值,信息不经筛选全部传递给大脑人会受不了。激活函数也是一个道理,对信息进行筛选。如果没有激活函数,无论神经网络有多深,最后都只是输入和输出的线性组合,纯粹线性组合无法处理复杂问题。:如模型是用 -5~5 的训练集训练的,那么用 5~10 的测试集测试,就叫界外预测。引入激活函数,使得神经网络引入了非线性元素,可以逼近任何非线性函数。:人的神经元有兴奋和抑制两种状态,只有刺激达到一定。:(链式求导)(从结尾往前求导)(反向传播)(函数的结构 = 模型的架构):即多层的全连接网络。
2025-03-02 18:30:17
130
原创 深度学习复习笔记(2)基本概念
这是一个 输入为 序列,输出为 分类 的任务。图片 是一个矩阵/张量,文字 是序列,而图片与文字结合可以是一个序列,因为图片放在文字序列的前/后。(视频是由图片构成的序列):如上面的淘宝商品的任务就是 多模态任务。有图,有文字(两个模态)有时会根据邻居距离物体远近给予不同的权重,距离近的权重更高。:认为规定的,模型无法通过学习改变的参数。:(下围棋是分类任务)(ChatGPT是生成任务)的意思是让Loss最小的w,b。:(不可解释性)(实践的科目)是超参数,学习率的设置是玄学。表示不同的(迭代)版本,
2025-02-25 18:36:03
218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人