- 博客(23)
- 收藏
- 关注
原创 语义相关性评估指标:召回率、准确率、Roc曲线、AUC;Spearman相关系数、NDCG、mAP。代码及计算示例。
常规的语义相关性评价可以从检索、排序两个方面进行。这里只贴代码。
2024-02-19 17:00:20
890
1
原创 序列模型懒人简介(RNN、Seq2Seq、LSTM、GRU、Transformer)
点关注不迷路哦!点关注不迷路哦!点关注不迷路哦!RNN主要用于处理序列数据。RNN采用循环的结构,每个单元的输出与当前输入和之前的隐状态向量有关,每个单元输出一个预测值和传递到下一个单元的隐状态向量。很容易发现RNN有以下问题:1、输入与输出长度相同;2、不适合解决长期依赖。Seq2Seq结构,采取了两个RNN结构,一个作为解码器encoder,一个作为编码器decoder。解码器将序列数据转化为上下文向量,编码器解析这个向量,当输出为停止符时结束。显然,Seq2Seq的提出是为了适应输入输出长度不同
2021-09-14 21:58:08
1734
原创 调参侠——如何对神经网络进行调参
从实践的角度,手把手教你如何对神经网络超参数进行调参。本文涉及的调参目标有:学习率Batch Size网络深度与宽度EpochsL1、L2正则化与平衡系数Dropout激活函数Leaning Rate学习率是决定网络何时能够找到最优解的重要超参数。关于学习率的超参数设定,主要是初始学习率大小和学习率变化方案。学习率的变化属于网络训练的一个trick,在网络始终使用相同的学习率的情况下,模型优化程度与学习率的设定有着以下的关系。可以简单总结为以下几点:较大的学习率加速了网络训练,
2021-08-08 00:28:07
6546
原创 梯度消失/爆炸:原因,影响,解决方案,误区。
BP算法中的梯度值——梯度消失/爆炸的起因!常规的前馈网络具有以下的单层形式:而对于某层权值的梯度计算,采用以下公式:其中E代表损失值;O代表网络输出层;h代表隐藏层;w为根据梯度值更新的权重。通过BP算法的观察发现,梯度的计算与以下几个因素有关(不理解这一点可以尝试将梯度的偏导计算展开):(y-y’):预测与真实值的偏差。激活函数求导。W:权重值。神经元(输入)的值。根据梯度链式传递法则,可以发现,激活函数的求导值(2)和权重值(3)会以连乘的形式参与到该层权重的梯度计算中,而预
2021-08-05 00:40:51
1754
原创 研究生科研写作必备在线工具(免费)
科研空白期来分享一些自己常用的研究生工具。转载自我自己的知乎1. 英文翻译DeepL翻译。比较好用的一款英文翻译工具,十分推荐。彩云小译也是比较推荐的翻译工具,当DeepL翻译结果不理想时可以考虑换个工具(彩云小译)使用。2. 专业术语Linguee。十分好的一个用来找专业术语的工具。3. 英文润色工具改写匠。4. Latex工具Latex公式编辑器。支持图片识别转Latex公式,相较于Mathtype最好的地方就是免费,且功能强大。Latex表格编辑器。5. 投稿阶段elsevier
2021-07-18 17:43:54
395
原创 Concat层介绍——关于实现方式的踩坑记录
Concat层作用:用于连接两组或多组网络结点。Concat层实现,在Tensorflow、Pytorch等框架中都有专用的函数。但需要自己实现的时候,需要了解Concat的具体实现,避免踩坑。以下两张图,第一张是Concat层的正确实现方式,第二张是错误的实现方式。Concat层的反向传播,是由该层对应的部分网络分别传播的。图1的方式能完美的实现这一点,使每个embedding得到更好的训练。图2的方式不是正确的Concat,这种方式训练的embedding不具备独立性,不能很好地对特征进行表达
2021-05-24 17:46:05
1597
原创 Transformer——作用、原理与结构
Transformer作用和RNN作用基本相同。原论文Attention is all you need中将Transformer结构用于NLP任务。Transformer相对于RNN的好处在于:1、很大程度地解决了长期依赖问题。2、可以并行地进行训练。全文见:https://zhuanlan.zhihu.com/p/372777550...
2021-05-16 21:13:09
2473
原创 通俗易懂:Attention中的Q、K、V是什么?怎么得到Q、K、V?
说一下Attention中的QKV是什么,再举点例子说明QKV怎么得到。还是结合例子明白的快。Attention中Q、K、V是什么?首先Attention的任务是获取局部关注的信息。Attention的引入让我们知道输入数据中,哪些地方更值得关注。对于Q(uery)、K(ey)、V(alue)的解释,知其然而知其所以然。首先Q、K、V都源于输入特征本身,是根据输入特征产生的向量,但目前我们现在无需关注是如何产生这组向量的。V可以看做表示单个输入特征的向量。当我们直接把一组V输入到网络中进行训练,那
2021-04-29 22:56:41
43764
5
原创 Warning: masked_scatter_ received a mask with dtype torch.uint8, this behavior is now deprecated,ple
训练时报警告如下,影响查看训练信息了:Warning: masked_scatter_ received a mask with dtype torch.uint8, this behavior is now deprecated,please use a mask with dtype torch.bool instead. (function masked_scatter__cuda)找到需要变换类型的训练集变量。这里要求训练集mask是bool类型而不是unit8,在返回训练集的时候加上 .boo
2020-11-13 21:23:26
6235
3
原创 RuntimeError: ‘lengths‘ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor
用CPU训练的时候不会报错,用GPU(cuda)训练时报了这个错。国内博客基本没找到,上谷歌搜索了下。只需要把 lengths 张量转化为cpu形式即可。在自己得到训练集的方法中,在return中直接返回lengths.cpu()。我的是这样的:具体原因我还不知道,是与nn.utils.rnn.pack_padded_sequence()这个函数相关,可能是版本/设备的问题。...
2020-11-13 21:17:09
4801
原创 有关循环神经网络——RNN、Seq2Seq、LSTM、GRU简单概括式的理解与总结
RNN:循环神经网络。RNN输入为两个向量xt与st-1,分别代表输入向量与之前输入序列所储存的knowlegde。简单而言,RNN适合处理序列问题(当前输入数据与之前输入数据有关),如上下文、文本处理、时序问题,具体如文本翻译、时序建模等等。RNN由于梯度乘性问题,对于过长的序列,前面的序列对后面的序列影响基本为0,由此引入了LSTM。双向RNN:解决传统RNN的 信息只能由过去知识来获得。很多时候我们的模型要求当前输出并不只被过去的信息所干涉,可能也会被未来一段时间的信息所干涉,由此引入双向RNN。
2020-11-06 16:51:07
1789
原创 强化学习之DQN:算法思想、案例及详解,使用DQN算法实现自动走迷宫
DQN算法及案例:如何使用DQN实现走迷宫算法原理案例详解算法原理在了解DQN之前,我们需要知道值函数近似这一思想。值函数近似:在数据较大情况下,根据s&a去查询Q值会比较困难。值函数近似是输入s和a,近似地计算得到Q值,在DQN中使用的是神经网络完成这一步骤,简单情况下使用线性函数也行。DQN:融合神经网络和Q值。Q值难以记录,可以通过神经网络输入s、a,然后输出Q值进行策略的选择。前面提到的算法训练目标是Q矩阵,DQN训练目标训练一个神经网络,可以通过这个网络来计算得到Q值并选择最优动作
2020-10-23 22:30:34
12813
2
原创 概率矩阵分解通俗易懂的理解
用来做什么传统的协同过滤方法既不能处理大数据量的推荐,也不能处理只有很少评分的用户。概率矩阵分解通过用户-产品评分矩阵,可以学习到用户和产品的特征向量,可以得到完整推荐结果。怎么做到的概率矩阵分解简单而言就是:我们要得到推荐结果,即使:R矩阵(用户-产品评分矩阵)是本身已有推荐数据,矩阵稀疏,我们需要填补这些稀疏的部分作为推荐结果。此时我们假定R矩阵等于U、V的内积,U、V分别为用户特征矩阵和产品特征矩阵。U、V的内积得到的矩阵具有以下特性:1、最大限度地满足,本身已有矩阵R,在不稀疏、有评分数据的
2020-09-25 17:14:26
4038
原创 HBase学习日志
记一下学习HBase时学了什么。HBase定义,一种数据库。支持增删改查操作。HBase逻辑结构:列、列族(多个列)、row key(唯一标识)、region(多个行,即表的切片内容)、store(真正存储的内容)。下图可以视作三维表。HBase数据模型:Name Space(分HBase、default)、region、row、column和列族、Time Stamp、cell。HBase物理存储:HBase中时间戳是很重要的概念。增删查改是与时间戳有关的(追求效率)。查找会找到最大时间戳的数据
2020-09-10 18:37:04
206
原创 Zookeeper学习日志
谨以此文纪念我学完马上就遗忘的知识。RIP。Zookeeper是整个大数据框架中最简单的框架。在学习Zookeeper之前,需要知道这玩意到底有什么用。官方说辞:Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。上面一段话简称一致性服务。至于Zookeeper是如何做到这些的,从学完的体会来讲,是通过维护一个文件目录来达到目的的。以下简单记录一下
2020-09-10 18:16:44
179
原创 hadoop学习日志
以此文记录一下我的大数据学习过程。在学习hadoop生态系统之前,我首先阅读了二十余篇的国内外大数据相关论文,看了清华大学的大数据慕课,对大数据领域有了初步的认识。首先直接进行总结:hadoop生态系统的入门是从最基本的框架hadoop开始学习的,hadoop学习了解的主要组件包括yarn(资源调度)、MapReduce(核心并行计算框架)、HDFS(分布式文件系统)。学习主要包括了原理学习和实操学习,入门player比较困难的第一个门槛就是环境搭建。在搭建完成环境后,了解了一些集群环境的(linux端
2020-08-23 22:38:56
574
原创 hadoop分发脚本之xsync
脚本作用:复制文件到多台机器的相同目录下。对具有相同名称的文件内容会直接覆盖。进入 /usr/local/bin/目录,创建xsync文件并编写。$ cd /usr/local/bin/$ touch xsync$ vim xsync代码如下:需要注意#5中,获取主机名。(我的三台机器是hadoop1、hadoop2、hadoop3,分发脚本在hadoop1中。)#!/bin/bash#1 获取输入参数个数,如果没有参数,直接退出pcount=$#if((pcount==0)); th
2020-07-11 00:37:59
427
原创 namenode节点无法启动/自己挂掉
问题:在我们jps之后仅几秒内出现如下情况。然后namenode节点会自己消失。变成这样。针对初学者,这里还是说一下解决思路吧。以后有问题可以自己解决了。
2020-07-08 11:36:52
2466
原创 机器学习入门:L1范数最小正则化通俗易懂的理解
L1范数最小正则化概念解释基本原理为什么L1范数最小正则化能够获得稀疏解?概念解释对于L1范数最小正则化,我们先拆分开来解释。L1范数:向量中各元素绝对值之和。如[1,-1,3]的L1范数为1+1+3=5。正则化:对模型提高泛化能力的一种方案。对于训练得到的模型,可能会出现模型复杂的情况,正则化可以看作对模型的简化,以提高模型适应能力。最小:指最小化损失函数。在我们训练模型时,通过最小化损失函数可以使模型对于训练集更为拟合。那么对于L1范数最小正则化的理解可以是这样的:向损失函数J中添加一个L1
2020-07-06 00:58:20
8733
6
原创 感知器算法原理详解
感知器是人工神经网络中的一种典型结构, 它的主要的特点是结构简单。它是一种分类学习器,是很多复杂算法的基础。其“赏罚概念”在机器学习算法在中广为应用。在分类正确时,对正确的权重向量w赏,即w不变;当分类错误时,对权重向量罚,即将权重向量w向着争取的方向转变。算法步骤在这里先对感知器算法步骤进行说明。假设有样本集如下图所示,其中xi为样本特征向量,yi为对应样本分类标签。在传统线性可分的二分类情况下,可以使wTx>=0时分类为正样本,wTx<0分类为负样本。算法步骤如下图所示,对所有负
2020-07-04 18:14:15
13868
2
原创 解决Linux环境下重启后Java环境变量失效
把代码追加写在etc目录下的profile下就行了。vim /etc/profile# 然后在末尾追加配置环境变量export JAVA_HOME="my jdk path"export PATH=$JAVA_HOME/bin:$PATH然后source一下,重启linux机器就可以解决啦。source /etc/profile...
2020-07-02 00:28:02
3517
1
原创 常见数学建模方法学习总结及资料汇总
数学建模方法前言层次分析法(AHP)多属性决策模型模拟退火模型种群竞争模型遗传算法模型线性规划模型非线性规划模型PCA主成分分析聚类分析多元回归分析前言这是我在进行初级的数学建模时进行的一些原理学习,网上资料显得比较杂乱无章,这里我对一些数学建模方法的文档和视频资料进行了收集并汇总了以下写的好的,在学习时跟着这些资料学习并看看我的汇总就可以达到一个比较好的效果啦~层次分析法(AHP)应用:决策。(择优选择方案、优劣等级划分…)原理:根据问题的性质,使问题归结为最低层(供决策的方案、措施)到中间层(
2020-06-24 00:27:16
3640
原创 Python:Sklearn的K-Means以及均值漂移聚类代码
Python:Sklearn的K-Means以及均值漂移聚类代码K-Means聚类MeanShift聚类(均值漂移)如何选择聚类方法K-Means聚类聚类流程图如上图所示,K-Means聚类需要自己设置簇数k,可以通过肘方法确定k值。import pandas as pdimport numpy as npimport matplotlibfrom matplotlib import pyplot as pltfrom pandas import DataFrame,Seriesfrom
2020-06-23 22:56:50
1985
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人