自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 HTTP协议

HTTP协议要求:浏览器在向服务器发送请求数据时,或是服务器在向浏览器发送响应数据时,都必须按照固定的格式进行数据传输。无状态指的是客户端发送HTTP请求给服务端之后,服务端根据请求响应数据,响应完后,不会记录任何信息。缺点:多次请求间不能共享数据优点:速度快请求之间无法共享数据会引发的问题:如:京东购物,加入购物车和去购物车结算是两次请求HTTP的无状态特性,加入购物车请求响应结束后,并未记录加入购物车是何商品。

2023-12-22 16:20:30 102

原创 Mybatis复习总结

mybatis的使用方法

2023-12-19 23:24:25 121

转载 Attention

Attention 正在被越来越广泛的得到应用。尤其是 BERT 火爆了之后。Attention 到底有什么特别之处?他的原理和本质是什么?Attention都有哪些类型?本文将详细讲解Attention的方方面面。

2022-10-07 11:23:27 249 1

原创 文本分类任务和命名实体识别任务进行多任务学习中的问题

与标准的单任务相比,在学习共享表示的同时训练多个任务有两个主要挑战:Loss Function(how to balance tasks):多任务学习的损失函数,对每个任务的损失进行权重分配,在这个过程中,必须保证所有任务同等重要,而不能让简单任务主导整个训练过程。手动的设置权重是低效而且不是最优的,可能会出现第一个任务已经训练的很好了,然而第二个任务还完全没有收敛。

2022-09-12 17:36:30 726

原创 指针网络GlobalPointer模型存在的不足以及改进点(思考)

如果把下面的几个小不足能够用一种通用的方法解释清楚并解决,可能就够水文章了吧,哈哈哈哈哈哈哈哈哈。。。

2022-09-08 16:50:09 1482

原创 在Pytorch中调用RNN模型的小细节

在pytorch中调用RNN模型的时候,使用self.rnn = nn.RNN(embedding_num,hidden_num)往往忽略了其中的一个参数,在点开RNN源码的时候,可以看到其中batch_first这个参数:

2022-09-05 14:59:48 500

原创 面向需求去拓展自己的技能点

面向需求去拓展自己的技能点

2022-08-30 18:21:50 133

原创 flask部署神经网络模型

1.GET请求GET请求把参数包含在url里,GET是获取数据的2.POST请求POST请求通过request body传递参数,用于修改服务器上的数据3.flask部署模型api

2022-08-29 17:30:20 677

原创 selenium爬取景点描述信息(开箱即用)

​通‘百度百科’(百度百科_全球领先的中文百科全书)和‘去哪儿旅行’(北京旅游攻略-2022北京自助游-周边自驾-游玩攻略-自由行-吃喝玩乐指南-去哪儿攻略)两个网站对数据库中的景点爬取了对应的景点描述信息,并进行数据清洗保存。

2022-08-19 18:13:12 276

原创 AssertionError(“Torch not compiled with CUDA enabled“)原因

AssertionError("Torch not compiled with CUDA enabled")原因及解决办法

2022-08-14 10:27:26 3313 1

原创 Linux跑模型发现被kill原因

Linux跑模型发现被kill原因

2022-08-13 16:14:44 1966

原创 记录模型压缩概述

2.模型压缩的基本方法模型压缩可以通过以下几种方法实现:剪裁:类似”化学结构式的减肥“,将模型结构中对预测结果不重要的网络结构减裁掉,使网络结构变得更加小,比如在每层网络中,有些神经元的权重非常的小,对模型加载信息的影响微乎其微,如果将这些权重较小的神经元删除,则既能保证模型精度不受大影响,又能减小模型大小量化:类似”量子级别的减肥“,神经网络模型的参数一般都用float32的数据表示,但是如果我们将float32的数据计算精度都变成int8的计算精度,则可以牺牲一点模型精度来获取更快的计算速度 。

2022-08-09 18:13:43 386

原创 python出现Twisted Trial in xxx原因及解决办法

python出现Twisted Trial in xxx原因及解决办法

2022-08-09 12:53:02 233

原创 整理【Pandas的缺失值处理】

总结下pandas中处理异常值的方法

2022-08-04 10:15:43 1775

原创 总结一下常见的序列标注任务的标注体系

常见的标注体系以及BMEO格式转换BIO格式代码实现

2022-07-26 22:40:02 2387 5

原创 fit和transform和fit_transform的区别

fit和transform和fit_transform的区别

2022-07-25 21:51:09 239

原创 论文分享《一个大型的中文跨域任务导向对话数据集》

《一个大型的中文跨域任务导向对话数据集》

2022-07-25 13:34:22 180

原创 分类型变量和连续型变量送入模型前的处理

之前比赛中,在处理完数据之后,要将分类型变量统一做编码处理,可能太紧张把这个问题疏忽了,后来想想为什么这么简单的事都能忘!借此机会在记录一下离散变量一般情况下是类别变量。一般情况下,类别变量和连续变量是需要统一的。比如今天的降雨量这种连续型变量,我们可以将其转换为下雨或者不下雨两种状态,如果今天的降雨量不为0,我们可以将其定义为下雨,反之,降雨量为0,当然就是不下雨了。但是,很显然,把这种连续型变量统一到类别型变量的做法,肯定是会丢失很多信息的,所以通常的做法就是编码类别型变量。编码类别型变量,最直接的做法

2022-06-16 10:58:46 1600

原创 DataLoader类实现自定义数据集

用torch.utils.data.DataLoader类可以构建带有批次的数据集DataLoader类的功能非常强大没伴随的参数也比较复杂,具体定义如下:class DataLoader(dataset, batch_size=1, shuffle = False, sampler= None, num_workers=0, c

2022-05-24 22:06:58 738

原创 保存与载入模型的常用方法

一般使用torch.save()函数将模型保存起来,该函数一般经常与模型的state_dict()方法联合使用。同理,加载模型使用的是torch.load()函数,该函数与模型的load_state_dict()方法联合使用1.保存模型torch.save(model.state_dict(), "./model.pth")执行完该命令后,会在本地目录中生成一个model.pth文件,该文件就是保存好的模型文件2.载入模型model.load_state_dict(torch.loa

2022-05-20 10:24:34 2256

原创 手动实现BN的计算方法

对模拟数据中第1个样本这种的第一个具体数据进行BN计算,具体步骤如下:取出模拟数据中第一个通道的数据 用手动的方式计算该数据的均值和方差 将均值和方差代入BN计算的公式中,对模拟数据的第1个样本中的第1个具体数据进行计算,具体代码如下 import torchimport torch.nn as nndata = torch.randn(2,2,2,1)print(data)print("第一通道的数据:",data[:,0])#计算第1通道数据的均值和方差Mean = torch

2022-05-19 21:48:50 520

原创 神经网络中warmup为什么有效?

首先warmup主要解决的问题或者说是作用:有助于减缓模型在初始阶段对mini-batch的提前过拟合现象,保持分布的平稳 有助于保持模型深度的稳定性从训练的效果可以体现为:一开始loss比较大,不容易收敛,因此用小一点的学习率,慢慢学,慢慢往上涨;梯度偏离真正较优的方向可能性比较大,那就走短一点,如果错了还可以调整回来。由于刚开始训练的时候,模型的权重是随机初始化的,此时如果选择一个较大的学习率,可能带来模型的不稳定(震荡),选择预热学习率的方式,可以使得开始训练的几个epoch或者一些ste

2022-05-17 16:51:14 2510

原创 一阶动量与二阶动量的角度理解优化

对于一阶动量与二阶动量的理解:我的理解是一阶动量为过去各个时刻梯度的线性组合,而二阶动量自然是过去各个时刻梯度的平方的线性组合。举个例子:我们取 为最近两个时间步的加权和,如(这里的加权值之和不一定要为1,只要是线性组合即可),也可以取为过去所有时刻的平均值,如。二阶动量就是过去各个时刻梯度的平方的线性组合一阶矩和二阶矩的概念和作用?假设梯度g是一个随机变量,随机变量g的一阶矩和二阶矩分别为E(g)和E(g的平方),一阶矩表示梯度均值,二阶矩表示其方差。由于我们只能得到的是样本,所以通常做法

2022-05-16 14:37:59 3110

原创 电脑是怎么把代码转换成可执行程序的?

编译过程的5个阶段:词法分析;语法分析;语义分析与中间代码产生;优化;目标代码生成首先编译器是一种翻译程序,它用于将源语言(程序设计语言写成)翻译为用二进制表示的伪机器代码程序,通常有两种方式进行翻译,一种是编译,另一种是解释。在计算机发展的早期阶段,内存较小的不能一次完成程序的编译,这时通常将编译过程分成若干遍来完成,每一遍仅完成一部分的功能,成为多遍编译。与采用高级程序设计语言写的词法分析器相比,用汇编语言写的词法分析通常分析速度要快些...

2022-04-25 16:01:34 1302

原创 python内置函数reverse用法

是python中列表的一个内置方法(也就是说,在字典,字符串或者元组中,是没有这个内置方法的),用于列表中数据的反转;reverse():用法list1 = [1,2,3,4,5,6]list1.reverse()print(list1)以上就会将数组输出为list1:[6,5,4,3,2,1]该方法没有返回值,但是会对列表的元素进行反向排序...

2022-04-12 10:19:02 4018

原创 Python sort函数

1.sortsort函数默认是按照从小到大的顺序排列sort(key,reverse)中key接受的是函数的返回值,表示该元素的权值,sort按照权值大小进行排序,reverse是一个bool类型的值,表示是否颠倒排列顺序,一般默认为False2.cmp目前已被删除3.functools.cmp_to_key在python3中取消了cmp函数,但是可以用functools.cmp_to_key代替...

2022-04-01 21:24:39 604

原创 Vscode中Tensorboard踩过得坑

在一个项目demo中,接触到了tensorboard,查过资料之后发现Tensorboard是Tensorflow官方推出了可视化工具,可以帮助我们实现可视化的功能,它可以将模型训练过程中的各种数据汇总起来存在自定义的路径与日志文件中,然后在指定的web端可视化地展现这些信息。当使用Tensorflow训练大量深层的神经网络时,我们希望去跟踪神经网络的整个训练过程中的信息,比如迭代的过程中每一层参数是如何变化与分布的,比如每次循环参数更新后模型在测试集与训练集上的准确率是如何的,比如损失值的变化情况,等

2022-03-20 14:06:09 4841

原创 剑指Offer32.从上到下打印二叉树

1.从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树:[3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]解题思路:题目要求的二叉树的从上至下打印(即按层打印),又称为二叉树的广度优先搜索(BFS)。 BFS 通常借助队列的先入先出特性来实现算法流程:特例处理:当树的根节点为空,则直接返回空列表[]初始化:打印结...

2022-03-14 10:27:43 80

原创 python模块之codecs

使用“import codecs”导入codecs模块。codecs模块中重要的函数之一是lookup,它只有一个参数encoding,指的是编码方式的名称,即utf-8或者gb2312等。codecs模块还提供了单独函数,以简化对lookup的调用。它们是:getencoder(encoding) getdecoder(encoding) getwriter(encoding) getreader(encoding) encoder = codecs.getencoder("utf

2022-03-06 10:34:52 1151

原创 python中dropna的用法

DataFrme.dropna(axis=0,how=’any’,thresh=None,subset=None,inplace=False)参数:axis: 默认axis=0 (0为按行删除,1为按列删除)how: 默认 ‘any’(‘any’指带缺失值的所有行/列;'all’指清除一整行/列都是缺失值的行/列)thresh: int(保留含有int个非nan值的行)subset: (删除特定列中包含缺失值的行或列)inplace: (默认False,即筛选后的数据存为副本,True表示直接

2022-01-13 11:16:28 3706

原创 记录篇:【百面机器学习】第七章.采样---不均衡样本集的重采样

在训练二分类模型时,例如医疗诊断、网络入侵检测、信用卡反诈骗等,经常会遇到正负样本不均衡的问题。对于很多分类算法,如果直接采用不均衡的样本集来进行训练学习,会存在一些问题。例如,如果正负样本比例达到1∶99,则分类器简单地将所有样本都判为负样本就能达到99%的正确率,显然这并不是我们想要的,我们想让分类器在正样本和负样本上都有足够的准确率和召回率。对于二分类问题,当训练集中正负样本非常不均衡时,如何处理数据以更好地训练分类模型?为什么很多分类模型在训练数据不均衡时会出现问题?本质原因是模型在训练

2021-12-26 11:46:05 345

原创 记录篇:【百面机器学习】第七章.采样---马尔可夫蒙特卡洛采样法

在高维空间中,拒绝采样和重要性重采样经常难以寻找合适的参考分布,采样效率低下(样本的接受概率小或重要性权重低),此时可以考虑马尔可夫蒙特卡洛(Markov Chain Monte Carlo,MCMC)采样法。MCMC采样法是机器学习中非常重要的一类采样算法,起源于物理学领域,到20世纪80年代后期才在统计学领域产生重要影响。它可以用于很多比较复杂的分布的采样, 并且在高维空间中也能使用。 简述MCMC采样法的主要思想从名字看,MCMC采样法主要包括两个MC,即蒙特卡洛法(Monte Carl

2021-12-26 11:31:05 364

原创 记录篇:【百面机器学习】第七章.采样---常见的采样方法及高斯分布的采样

对于一个随机变量,通常用概率密度函数来刻画该变量的概率分布特性。具体来说,给定随机变量的一个取值,可以根据概率密度函数来计算该值对应的概率(密度)。反过来,也可以根据概率密度函数提供的概率分布信息来生成随机变量的一个取值,这就是采样。因此,从某种意义上来说,采样是概率密度函数的逆向应用。与根据概率密度函数计算样本点对应的概率值不同,采样过程往往没有那么直接,通常需要根据待采样分布的具体特点来选择合适的采样策略。常见的采样方法:逆变换采样拒绝采样(又称接受/拒绝采样)重要性采样如何对高斯

2021-12-26 11:20:02 1281

原创 记录篇:【百面机器学习】第七章.采样---均匀分布随机数

如何编程实现均匀分布随机数生成器?首先需要明确的是,计算机程序都是确定性的,因此并不能产生真正意义上的完全均匀分布随机数,只能产生伪随机数(伪随机数是指这些数字虽然是通过确定性的程序产生的,但是它们能通过近似的随机性测试)。另外,由于计算机的存储和计算单元只能处理离散状态值,因此也不能产生连续均匀分布随机数,只能通过离散分布来逼近连续分布(用很大的离散空间来提供足够的精度)。 一般可采用线性同余法(Linear Congruential Generator)来生成离散均匀分布伪随机数,计算公式为

2021-12-26 11:14:24 315

原创 记录篇:【百面机器学习】第七章.采样---采样的作用

举例说明采样在机器学习中的应用采样本质上是对随机现象的模拟,根据给定的概率分布,来模拟产生一个对应的随机事件。采样可以让人们对随机事件及其产生过程有更直观的认识。例如,通过对二项分布的采样,可以模拟“抛硬币出现正面还是反面”这个随机事件,进而模拟产生一个多次抛硬币出现的结果序列,或者计算多次抛硬币后出现正面的频率。 另一方面,采样得到的样本集也可以看作是一种非参数模型,即用较少量的样本点(经验分布)来近似总体分布,并刻画总体分布中的不确定性。从这个角度来说,采样其实也是一种信息降维,可以起到简化问题

2021-12-26 11:10:30 1029

原创 记录篇:【百面机器学习】第七章.优化算法

有监督学习的损失函数在有监督学习中,损失函数刻画了模型和训练样本的匹配程度。对二分类问题,Y={1,−1},我们希望sign f(xi,θ)=yi,最自然的损失函数是0-1损失。该损失函数能够直观地刻画分类的错误率,但是由于其非凸、非光滑的特点,使得算法很难直接对该函数进行优化。0-1损失的一个代理损失函数是Hinge损失函数0-1损失的另一个代理损失函数是Logistic损失函数另一个常用的代理损失函数是交叉熵(Cross Entropy)损失函数机器学习中的优化问题

2021-12-23 15:39:59 640

原创 记录篇:【百面机器学习】第五章.非监督学习---聚类算法的评估

问题 以聚类问题为例,假设没有外部标签数据,如何评估两个聚类算法的优劣?数据的聚类依赖于实际需求,同时也依赖于数据的特征度量以及评估数据相似性的方法。相比 于监督学习,非监督学习通常没有标注数据,模型、算法的设计直接影响最终的输出和模型的性能。为了评估不同聚类算法的性能优劣,我们需要了解常见的数据簇的特点。 以中心定义的数据簇:这类数据集合倾向于球形分布,通常中心被定义为质心,即此数据簇中所有点的平均值。集合中的数据到中心的距离相比到其他簇中心的距离更近。 以连通定义的数据簇:这类数据集

2021-12-08 20:23:52 142

原创 记录篇:【百面机器学习】第五章.非监督学习---自组织映射神经网络

自组织映射神经网络(Self-Organizing Map,SOM)是无监督学习方法中一类重要方法,可以用作聚类、高维可视化、数据压缩、特征提取等多种用途。问题1 自组织映射神经网络是如何工作的?它与K均值算法有何区别? 自组织映射神经网络本质上是一个两层的神经网络,包含输入层和输出层(竞争层)。输入层模拟感知外界输入信息的视网膜,输出层模拟做出响应的大脑皮层。输出层中神经元的个数通常是聚类的个数,代表每一个需要聚成的类。训练时采用“竞争学习”的方式,每个输入的样例在输出层中找到一个和它最匹配

2021-12-08 20:12:29 578

原创 记录篇:【百面机器学习】第五章.非监督学习---高斯混合模型

高斯混合模型(Gaussian Mixed Model,GMM)也是一种常见的聚类算法,与K均值算法类似,同样使用了EM算法进行迭代计算。高斯混合模型假设每个簇的数据都是符合高斯分布(又叫正态分布)的,当前数据呈现的分布就是各个簇的高斯分布叠加在一起的结果。 图5.6是一个数据分布的样例,如果只用一个高斯分布来拟合图中的数据,图中所示的椭圆即为高斯分布的二倍标准差所对应的椭圆。直观来说,图中的数据明显分为两簇,因此只用一个高斯分布来拟和是不太合理的,需要推广到用多个高斯分布的叠加来对数据...

2021-12-08 19:45:41 895

原创 记录篇:【百面机器学习】第五章.非监督学习---K均值聚类

问题3 针对K均值算法的缺点,有哪些改进的模型?K均值算法的主要缺点如下:(1)需要人工预先确定初始K值,且该值和真实的数据分布未必吻合(2)K均值只能收敛到局部最优,效果受到初始值很大(3)易受到噪点的影响(4)样本点只能被划分到单一的类中改进的模型:■ K-means++算法■ ISODATA算法 问题4 证明K均值算法的收敛性K均值聚类的迭代算法实际上是一种最大期望算法(Expectation-Maximization algorithm),简称EM算法。

2021-12-08 19:17:17 92

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除