- 博客(29)
- 收藏
- 关注
原创 注意力机制
摘要:注意力机制模拟人类感知方式,让机器识别数据重点。主要分为三类:软注意(全局加权)、硬注意(局部选择)和自注意(内部交互)。其核心是通过查询(Q)、键(K)、值(V)三个输入计算注意力权重。实现步骤包括:1)QKV计算;2)权重处理(如拼接或点积);3)线性变换输出。代码示例展示了基于线性层的注意力模块实现,通过拼接QK并softmax加权,最终与V相乘得到注意力表示。该机制可应用于各类模型,尤其在seq2seq架构中表现突出。
2025-10-29 16:23:14
860
原创 RNN实战案例_人名分类器(包括RNN,LSTM,GRU三种模型)
dataset转dataloader,并且升维,将[seq_length,n_letters]的二维数据变成三维的(将batch_size加到数据前变成[batch_size,seq_length,n_letters]。这里的read_json_data和draw_graph是基于模型训练中得到的数据转为json文件,然后进行画图,可以更加直观地展示三种模型的预测准确度,训练时间差异等。对应的索引就是在categorys中的索引,它是一个二维的数据。前向传播,损失函数计算,梯度清零,反向传播,梯度更新;
2025-10-28 10:08:48
860
原创 第三章_RNN及其变体
摘要:本文系统介绍了RNN及其变体LSTM、GRU、Bi-LSTM和Bi-GRU的工作原理及应用。RNN擅长处理序列数据,广泛应用于NLP任务。文章详细解析了RNN的四种结构类型(NvsN、Nvs1、1vsN、NvsM)及其内部构造,并通过代码示例展示了不同参数设置下的运行效果。同时,对比分析了LSTM和GRU的优缺点:LSTM通过门控机制有效缓解梯度问题但计算复杂,GRU结构更简单但同样存在梯度问题。最后,文章介绍了双向结构的Bi-LSTM和Bi-GRU的实现原理。
2025-10-28 03:00:00
1471
原创 自然语言处理Natural Language Processing, 简称NLP
本文介绍了自然语言处理中的文本预处理技术,主要包括分词、词性标注、命名实体识别等基本方法,以及文本张量表示(如one-hot、Word2vec等)。文章还探讨了文本数据分析方法(标签分布、句子长度分析等)、特征处理(n-gram、长度规范)和数据增强(如回译法)。通过代码示例演示了中文分词工具jieba的使用,并展示了文本可视化分析技术。这些预处理步骤对提升模型性能具有重要意义,是自然语言处理任务的基础环节。
2025-10-24 08:55:08
161
原创 循环神经网络RNN(Recurrent Neural Network)
自然语言处理(Nature language Processing, NLP)研究的主要是通过计算机算法来理解自然语言。对于自然语言来说,处理的数据主要就是人类的语言,例如:汉语、英语、法语等,该类型的数据不像我们前面接触的过的结构化数据、或者图像数据可以很方便的进行数值化。
2025-10-23 10:25:15
667
原创 卷积神经网络CNN
文章摘要:本文介绍了卷积神经网络(CNN)的基本概念和关键组件。CNN主要由卷积层、池化层和全连接层构成,其中卷积层通过卷积核提取图像特征,池化层进行降维操作。文章详细讲解了卷积层的作用机制,包括Padding填充和Stride步长的计算方法,并提供了多通道卷积计算的示例。同时还介绍了池化层的作用及其计算方式,包含最大池化和平均池化的代码实现。最后给出了图像处理的实际应用案例,展示了如何通过Python代码实现从原始图像到特征图的转换过程。文章通过理论解释和代码示例相结合的方式,系统介绍了CNN网络的基本原
2025-10-20 03:45:00
625
原创 人工神经网络项目实战:价格分类案例
我们需要帮助小明找出手机的功能(例如:RAM等)与其售价之间的某种关系。我们可以使用机器学习的方法来解决这个问题,也可以构建一个全连接的网络。小明创办了一家手机公司,他不知道如何估算手机产品的价格。为了解决这个问题,他收集了多家公司的手机销售数据。该数据为二手手机的各个性能的数据,最后根据这些性能得到。4个价格区间,作为这些二手手机售出的价格区间。,所以该问题也是一个。
2025-10-19 21:39:11
381
原创 day04_人工神经网络之激活函数;参数初始化;损失函数和模型优化
本文介绍了神经网络的核心组件与优化方法。主要内容包括:1)四种激活函数(sigmoid、tanh、relu、softmax)的特性;2)七种参数初始化方法及其适用场景;3)自定义神经网络的实现方式(继承nn.Module并重写init和forward方法);4)分类与回归任务中的损失函数选择;5)网络优化方法(BGD、SGD、动量法、Adagrad、RMSprop、Adam等)。文章通过代码示例展示了参数初始化的具体实现,并比较了不同优化算法的特点。最后强调要根据任务特点选择合适的激活函数、初始化和优化方法
2025-10-18 21:20:50
794
原创 自动微分学习
没什么可说的,y=wx+b,手动造w,x,b数据,注意w的列和x的行数要相等,b和x的列相等。:get_data():构造偏移量,传入该函数,通过make_regression构造数据集,解包的方式获取特征,标签和权重。在PyTorch中,当两个张量的维度数不同时,会在较小维度数的张量的前面添加1个维度,然后进行广播。传入的参数分别为:迭代次数,损失值列表,特征,标签,权重,模型。传入的参数分别为:特征,标签,迭代次数,批次, 学习率。.detach():共享张量数据,停止张量的自动微分。
2025-10-16 20:00:34
637
原创 张量的基本操作
本文总结了PyTorch张量的基本操作,主要包括以下内容:1.基础数学运算(加减乘除、取负号、矩阵乘法)及其带下划线的原地操作方法;2.统计运算(最大值、最小值、求和、平均值)和数学运算(开方、指数、对数等);3.四种索引操作(单个索引、列表索引、切片索引、布尔索引)和多维索引;4.形状和维度操作(reshape、view、squeeze、unsqueeze等)及维度交换方法;5.张量拼接的两种方式(cat和stack)及其区别。文章通过代码示例详细演示了各种操作的使用方法
2025-10-13 20:51:38
378
原创 深度学习记录01_conda虚拟环境安装,下载torch包并关联pycharm
摘要:本文介绍了Python虚拟环境创建及PyCharm配置流程。首先通过Anaconda创建名为env_test的Python3.10虚拟环境,安装torch包后,在PyCharm中选择"使用已有解释器"选项,定位到虚拟环境的python.exe文件完成配置。最后通过import torch测试验证环境配置成功。整个过程涵盖了从环境创建到IDE配置的关键步骤。
2025-10-12 21:19:29
185
原创 idea导入包Servlet时导入的是com.sun.net.什么什么的而且还有红色下划线
解决方法:自己把接口敲上,正确的包名也敲上,把光标放到包名下的servlet上按alt+enter。idea会让你下载一个javaee6的什么东西,下载完就好了。
2023-03-12 20:41:39
197
原创 特别菱形输出
zu特别菱形输出2 (15 分)编写程序,输出一个高度为n的、由大写英文字母字符组成的菱形图案。输入格式:输入在一行中给出一个正奇数n(n<=30)。输出格式:输出由n行不同大写英文字母字符组成的菱形,如样例所示。每个字符后跟一个空格。输入样例:11输出样例:在这里给出相应的输出。例如: A A B A A B C B A A B C D C B A A B C D E D C B A
2022-04-24 11:18:48
394
原创 7-7 约瑟夫环 (25 分)
#include<bits/stdc++.h>using namespace std;typedef struct node { int data; struct node *next;}lnode;lnode* created(int N){ lnode *p,*head,*tail; p=(lnode *)malloc(sizeof(lnode)); p->next=NULL; head=p;//比顺序建立链表多了一步 tail=p; p->dat.
2022-04-10 21:54:04
166
原创 7-6 删除重复字符 (20 分)
#include<bits/stdc++.h>#include<string>using namespace std;int main(){ char a[80]; int t[80]={0}; char s;cin.get(a,20);//就很搞笑,cin<<a和gets(a),getline(cin,a)都不行 int len=strlen(a); for(int i=0;i<len;i++) { for(int j=i+1;.
2022-04-10 17:05:54
272
原创 7-11 单链表就地逆置 (10 分)
7-11 单链表就地逆置 (10 分)输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表进行就地逆置(不增加新结点),并输出逆置后的单链表数据。输入格式:首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入多个整数,以-1作为该组测试的结束(-1不处理)。输出格式:对于每组测试,输出逆置后的单链表数据(数据之间留一个空格)。输入样例:11 2 3 4 5 -1输出样例:#include<bits/stdc++
2022-04-09 16:23:47
2731
原创 pta 7-2 两个有序链表序列的合并 (20 分)
7-2 两个有序链表序列的合并 (20 分)已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出样例:#include<bits/st
2022-04-06 12:05:04
4215
原创 L1-040 最佳情侣身高差
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。输入格式:输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。输出格式:对每一个查询,在一行
2022-03-09 21:40:50
1397
原创 L1-032 Left-pad (20 分)
根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用*去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是******GPLT。Node社区曾经对left-pad紧急发布了一个替代,被严重吐槽。下面就请你来实现一下这个模块。输入格式:输入..
2022-03-08 21:19:49
87
转载 数组内部存储细节
存储方式:didi 1)内存寻址从大到小, 从高地址开辟一块连续没有被使用的内存给数组 2)从分配的连续存储空间中, 地址小的位置开始给每个元素分配空间 3)从每个元素分配的存储空间中, 地址最大的位置开始存储数据 4)用数组名指向整个存储空间最小的地址 #include <stdio.h>int main(){ int num = 9; char cs[] = {'l','n','j'}; printf("cs = %p\n", ...
2022-01-04 00:06:15
247
1
原创 Java面向对象多态性和动态绑定
多态性Human human =null;American american=new American();Chinese chinese=new Chinese();human =american;human.eat();human=chinese;human.eat();同样的human.eat();执行的代码段分别是American和Chinese类中的方法这就是面向对象的多态性动态绑定如果发生了casting,那么引用方法就是优先选择实际类型方法,
2021-12-29 00:27:15
293
原创 打开eclipse出现“The Eclipse executable launcher was unable to locate its companion launcher jar”
我自己的话是下载了能打开,但是移到桌面上就出现上面那个问题。这种的话就是不要直接把.exe文件移到桌面上。直接右键发送到桌面快捷方式就行了。还有一个问题是直接访问官网可能会被墙,直接在应用商店里搜索下载应该也会有个20版本的或者是下面这个方法把网址开头的IP地址:http://mirror.kakao.com/eclipse 换以下任意一个即可下载。 北京理工大学:http://mirror.bit.edu.cn/eclipse/中国科学技术大学:http://mirrors.ustc...
2021-10-17 01:00:25
711
原创 计算机组成原理证明一个关系是函数
For a relation, write a method to determine if the relation is a function. The signature of the method is as follows:Int isFunction(int domainSpace[], int rangeSpace[], int domain[], int range[])Code:#include<stdio.h>#include<stdlib.h>#i
2021-05-19 21:31:39
322
3
原创 oj 喵帕斯之天才算数少女
SDUT7-4 喵帕斯之天才算数少女 (20 分)莲酱要上一年级了,但是老师给他出了一个特别难的算术题。老师给出了一个函数F(m, n)的定义是:若m=0,返回n+1。若m>0且n=0,返回F(m-1,1)。若m>0且n>0,返回F(m-1,F(m,n-1))。给出 m 和 n,计算 F(m, n) 的值。输入格式:第一行输入一个整数 t, 代表有 t 组数据。(1 <= t <= 15)每组数据输入一行,包含两个非负整数 m,n
2021-04-22 20:48:45
113
原创 oj 第X大的数
7-7 第X大的数 (20 分)X最近爱上了区间查询问题,给出N (N <= 100000) 个数,然后进行M (M <= 50) 次询问,每次询问时,输入一个数X (1 <= X <= N),输出N个数中第X大的数。输入格式:首先输入一个整数N,代表有N个数,下面一行包含N个整数,用空格隔开。然后为一个整数M,代表有M次询问,下面的M行,每行一个整数X。输出格式:输出N个数中第X大的数。输入样例:41 2 2 341234输出样例:
2021-04-22 20:42:16
183
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅