自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

郝同学的博客

初来乍到,请多指教!

  • 博客(72)
  • 资源 (6)
  • 收藏
  • 关注

原创 micro-F1和macro-F1评价指标的理解

实际场景下我们究竟该如何选择micro-F1、macro-F1 or Weighted-F1?

2022-10-24 22:57:23 4393 1

原创 【ML】GBDT、Xgboost和LightGBM的模型理解

机器学习中的集成学习核方法总结,决策树CART,XGBoost,GBDT,LightGBM

2022-05-02 22:15:13 995

原创 【C++】字符串的基本操作和相关算法题

思路一、问题背景二、字符串的插入、删除和追加操作详解【C++】三、相关算法题【C++】一、问题背景  首先来说字符串问题是十分经典的类型,我们经常会遇到输入是字符串的题目,然后利用各种STL标准库或者是一些动态规划的方法来求解问题,再或者是一些字符串遍历的一些技巧来提高效率等等,下边将介绍C++中相关的字符串常用操作函数以及我们可能常会遇到的算法问题。二、字符串的插入、删除和追加操作详解【C++】1. 字符串的插入(Insert函数)1)在字符串s1的第p(从0开始数)个位置前插入字符串s2:s1

2022-04-28 15:11:36 1925

原创 【C++】字符串子串的系列问题

一、解题背景:  字符串的子串应该是常见的一类有关字符串的算法题目,这里我将leetcode的相关几道题汇总了一下,写了一些具体的思路和多种的求解方法。二、问题求解:3. 无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。/***********************************************************

2022-04-14 22:54:42 3673

转载 【NLP】自然语言处理中的数据增强

自然语言处理中的数据增强  在实际的生产场景下,数据的稀缺性是一种常见的现象,因此如何进行数据增强或者是小样本学习是十分关键的技术。数据增强(DA)在机器学习领域多指采用一些方法(比如数据蒸馏,正负样本均衡等)来提高模型数据集的质量,增强数据。  最开始的数据增强在计算机视觉中得到了广泛的应用,然后被引入到自然语言处理中,并在许多任务中取得了改进。DA方法的重点之一是提高训练数据的多样性,从而帮助模型更好地泛化到未见测试数据。哈工大提出了最新的《自然语言处理数据增强方法》综述论文,155页pdf阐述

2022-04-12 15:49:10 1089

原创 【Python】SyntaxError: invalid syntax jedi

一、问题背景  突然在写代码的时候,if的条件语句下突然报错,显示:It selects exactly one of the suites by evaluating the expressions oneby one until one is found to be true (see section Boolean operationsfor the definition of true and false); then that suite is executed(and no other

2022-04-01 09:49:15 3067

原创 【C++】前序中序(或后序遍历)构造二叉树

一、背景  每次用前序与中序或是中序与后序遍历来构造二叉树的问题,其实思路挺清晰的就是找出每个位置的父节点,然后递归,就是每次写出来下次怎么实现的又搞不清楚了,记录下来以后能快速的回想起来respect!!!二、解题思路105. 从前序与中序遍历序列构造二叉树思路还是比较清晰的,首先我们明白前序遍历的第一个节点就是根节点,然后根据这个信息,从中序遍历中找出左右子树的范围,然后去递归实现。class Solution {public: TreeNode* buildTree(vector&

2022-03-25 15:22:24 2450

原创 【长期更新】日常学习中遇到的知识点

简单常见的机器学习知识点,想起来就做一个记录存档方便查阅!

2022-03-23 19:54:23 1315

原创 【C++】动态规划-求解子序列等系列问题

一、问题背景  动态规划是一个对我而言比较复杂的一个问题,于是我想在这记录下我平时遇到过的动态规划的题目,以及总结其解体的通用思路。二、问题求解看到了有博主总结的dp的解题思路,我在这里分享给大家:确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历的顺序举例尝试推导dp数组以下是leetcode中的相关的例子1143. 最长公共子序列给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,

2022-03-22 10:52:38 1897

原创 【C++】前缀和方法系列问题求解

一、结题背景  在刷leetcode的相关算法题的时候,对于求解数组的连续子数列的和的相关问题。常能想到的就是双层遍历,暴力求解,但是这样的效率不高,所以我们这里引入哈希表来降低时间复杂度,只用遍历一次便能求解出答案。二、相关问题1. 两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。

2022-03-17 11:50:01 1111

原创 【C++】0314算法阿里笔试题

一、题目二、 自己的dfs的题解#include <bits/stdc++.h>using namespace std;int res3=INT_MAX;int transfet(vector<string> &tmp) { int sum=0; for (auto &t: tmp) { sum += stoi(t); } return sum;}void dfs(string str, vector&l

2022-03-14 22:13:31 838

原创 【C++】单调栈解法的相关题目

一、解题背景  在刷题的过程中遇到部分比较难的题目是需要利用单调栈的思想来进行求解题目的,这类问题往往有一个统一的思路,需要在遍历的过程中保存一个单调递增的序列或者是单调递减的序列,一旦不满足单调性的时候,就就需要做一些处理来获取我们想要的结果。二、部分题目leet84. 柱状图中最大的矩形给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。class Solution {public: int la

2022-03-11 15:07:15 1286

原创 【C++】二叉树中路径系列问题

二叉树中所有路径,以及满足求和为N的子路径等系列问题求解0X00. 问题1:二叉树根到叶子节点所有路径总数给你一个二叉树的根节点 root ,按任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。class Solution {public: vector<int> tmp; vector<string> res; vector<string> binaryTreePaths(TreeNode* root)

2022-03-09 11:35:36 752

原创 【Pytorch】易忘函数scatter的理解

一、Scatter函数的理解  这个函数是用一个src的源张量或者标量以及索引来修改另一个张量,常用来做one-hot编码。这个函数主要有三个参数 scatter(dim,index,src)dim:沿着哪个维度来进行索引(一会儿举个例子就明白了)index:用来进行索引的张量src:源张量或者标量# 这里是三位矩阵的情况下self[index[i][j][k]][j][k] = src[i][j][k] # if dim == 0self[i][index[i][j][k]][k] =

2022-02-24 23:01:54 507

原创 快速排序、归并排序、堆排序的理解及各自应用场景

快速排序、归并排序、堆排序的理解及各自应用场景

2022-02-21 21:51:34 2692

原创 【C++】priority_queue的理解及实战解决k路归并问题

一、相比刷leetcode各位已经知道了priority_queue的重要性!!!  在C++中的priority_queue底层是堆(heap)来实现的,priority_queue又称为优先队列。在优先队列中,队首元素一定是当前队列中优先级最高的那一个。  当然,可以在任何时候往优先队列里面加入(push)元素,而优先队列底层的数据结构堆(逻辑实现是完全二叉树,具体的构建方法自行查阅)会随时调整结构,使得每次的队首元素都是优先级最大的。二、用法:0x00 定义为:priority_queue &

2022-02-21 15:39:19 1250 3

原创 【C++】快速幂的递归和迭代实现及LeetCode加速代码

  快速幂(Exponentiation by squaring,平方求幂)是一种简单而有效的小算法,它可以以O(logn)的时间复杂度计算乘方。快速幂不仅本身非常常见,而且后续很多算法也都会用到快速幂。一、递归快速幂递归方程如下:上述的迭代式无疑是一种二分的思想,来减少做乘法的次数;将上述的迭代式写成递归的代码如下:double qpow(double x, int n) { if (x==0) return 0; // int32 变量 n ∈ [-2147483648, 2147483

2022-02-18 12:12:23 979

原创 【C++】归并排序的理解-剑指offer51:计数数组中的逆序对和148:排序链表

归并排序的理解-解决数组中的逆序对问题0x00 归并排序的基本思想:0x01 利用归并排序来计算数组中逆序对个数:0x00 归并排序的基本思想:归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。其过程展示图如下(这里以数组[8, 4, 5, 7, 1, 3, 6, 2]为例子):最后

2022-02-17 14:56:55 664

原创 【C++】数字的组合排列情况

数字的排列组合—递归实现(c++)

2022-01-22 20:15:48 2542

原创 Tmux及Screen最常用指令及问题

Tmux和Screen最常用指令及常见问题

2022-01-14 22:39:37 1226

原创 从数据集CLEVR来看视觉推理的发展

从数据集的提出来看视觉推理任务领域的相关发展状况及展望!!以下内容包含多篇顶会论文分享!!!

2022-01-13 23:21:59 4455

原创 深度学习中句子语义表征融合中加、乘方式的理解

一、问题背景  往往我们在将文本信息和图片信息进行Embedding表示之后,有时候我们需要进行语义信息的融合,我们常常使用简单的加法或点乘来进行信息融合,虽然加法和乘法交互看起来都挺自然而直观,但我们应该选择哪种方法?  在阅读论文的时候,偶然发现了来自 AAAI2018年接受的 FiLM: Visual Reasoning with a General Conditioning Layer 论文,提出了一种可以嵌入到CNN模型中的通用网络层,用于多输入任务。例如,对于分类+回归的任务,有可能回归任

2021-12-04 23:06:40 4065 1

原创 【Python】根据预测结果矩阵与实际结果矩阵计算模型正确率

判断两个数组对应位置相等的个数,然后计算模型预测的正确率一、问题背景二、解决方法一、问题背景  在多分类模型预测的结果中,我想知道预测的结果与实际的答案相比,其正确率是多少,这个时候我们往往是对应比较两个数组list之间对应相等的个数。因此,我大致总结了一些方法来计算此正确率。假设我们此处的预测结果和实际结果分别为:# 假设是三分类任务,存在0,1,2三种结果list1 = [1,2,0,0,1]list2 = [1,0,2,1,1]二、解决方法方法1:我立马能想到的方法就是直接遍历数组直

2021-11-28 21:40:22 2232

原创 深度学习中常见的句子编码方式(句子语义表示的方法)

一、Bert预训练:其中我们常用Bert预训练之后产生的CLS Token的浓缩表示表示一个句子;其次我们会使用seq长度的token组合的表示,这样多了一个句子长度的维度。二、BiLSTM:将前向lstm和后向lstm进行结合,这样句子就包含了前向和后向的所有信息,但这一类的方法由于LSTM的本身的时序性,导致了其耗时比较长;三、Glove等词向量模型:有时候直接使用目前现成的简单的词向量模型,效果反而还挺不错的;四、词袋模型:这种表示完全丢失了句子的语义顺序,大多数时候是不

2021-11-25 22:20:22 1831

原创 【Python】易忘的某些函数用法(实时更新)

以此记录自己常忘记的函数用法一、torch.stack vs torch.cat二、python中的 * 和 ** 作用含义三、torch.Tensor.index_add_一、torch.stack vs torch.cathop = []hop.append(torch.randn(2,3))hop.append(torch.randn(2,3))'''[tensor([[ 1.2735, 0.7435, 1.9758], [-0.8915, -1.2238, 1.55

2021-11-04 22:01:52 429

原创 【Pytorch】pack_padded_sequence与pad_packed_sequence实战详解

一、问题背景  在NLP的相关任务中,我们使用RNN或LSTM处理文本序列时,通常来说句子的长度是不一致的,我们常常采用的方法使用< PAD >(0)来补全至相同长度的序列。虽然这个时候序列的长度是一致的,但是序列中填充了许多无效值 0 ,这个时候喂给 RNN 进行 forward 计算,不仅1.浪费计算资源,最后得到的值2.可能还会存在误差。  因此,为了解决这样的问题,在将序列送给 RNN 进行处理之前,需要采用 nn.utils.rnn.pack_padded_sequence 进行压

2021-10-24 15:46:24 2758 1

原创 【Mac m1】在pytorch环境下安装transformer

一、问题背景  项目中需要用到huggingface中的transformers中的预训练模型,由于我的电脑是2020款mac m1芯片,conda下的pytorch环境已用miniforge安装完成,我第一次直接使用pip install transformers ,然后就报错了????:  从上述的问题可以发现是tokenizers安装失败,那么究竟为啥会失败呢,经过查阅相关资料后,如果要安装transformers, transformers主要依赖tokenizers,安装tokenizers

2021-10-18 11:29:35 4436 4

转载 【C++】字符串和数字互相转换大全

一、使用字符串流对象进行数字转换C++ 有两个类,ostringstream 和 istringstream,可以用来对内存中的值执行字符串/数字转换。必须在程序中包含 sstream 头文件才能使用这些类。以下是这些类的用法://This program illustrates the use of sstream objects#include <sstream>#include <iostream>#include <string>using name

2021-09-08 15:57:11 5984

原创 【Pytorch】numpy数组与tensor互相转换的多种方法

一、numpy数组转化为torch中的tensor:总的来说有四种方法,如下:import torchimport numpy as nparr1 = np.array([1,2,3], dtype=np.float32)arr2 = np.array([4,5,6])print(arr1.dtype)print("nunpy中array的默认数据类型为:", arr2.dtype)tensor = torch.tensor(arr2)Tensor = torch.Tensor(arr

2021-09-04 16:10:46 58207 6

原创 【Pytorch】训练过程中学习率变化的几种策略

一、问题背景  我们往往在训练模型的时候,学习率不能是一成不变的,大的学习率收敛快,但可能出现过拟合的情况,难以达到最优点;小的学习率收敛较慢,耗时较长,但能将loss降得更低。  因此训练全过程并不是使用一个固定值的学习速度,而是随着时间的推移让学习率动态变化,比如刚开始训练,离下山地点的最优值还很远,那么可以使用较大的学习率下的快一点,当快接近最优值时为避免跨过最优值,下山速度要放缓,即应使用较小学习率训练,具体情况下因为我们也不知道训练时的最优值。二、解决方案  一种比较经典的策略就是warm

2021-08-27 16:01:11 2548 2

原创 Dropout层的个人理解和具体使用

一、Dropout层的作用  dropout 能够避免过拟合,我们往往会在全连接层这类参数比较多的层中使用dropout;在训练包含dropout层的神经网络中,每个批次的训练数据都是随机选择,实质是训练了多个子神经网络,因为在不同的子网络中随机忽略的权重的位置不同,最后在测试的过程中,将这些小的子网络组合起来,类似一种投票的机制来作预测,有点类似于集成学习的感觉。  关于dropout,有nn.Dropout和nn.functional.dropout两种。推荐使用nn.xxx,因为一般情况下只有训练

2021-08-24 23:29:34 35959 3

原创 【Python】去除字符串中标点符号的多种方法

一、问题背景  由于最近做nlp相关的项目,在进行数据预处理的时候,需要对文本进行分词、去停用词、词性标注、标点去除等预处理方法。  由于标点符号会影响我们分词的效果,这里我着重了解学习了标点去除的方法,总结了有以下几种,欢迎大家补充????二、解决方案以下描述了4种方法:import reimport stringsentence = "+今天=是!2021! 年/8月?1,7日★.---《七夕节@》:让我*们出门(#@)去“感受”夏天的荷尔蒙!"sentenceClean = []

2021-08-17 12:33:13 23817 7

原创 【Spark】Spark训练Lr模型,并保存为Pmml

scala版本spark构建的Lr模型:模型接口详情可以参考spark的scala的API文档:https://spark.apache.org/docs/latest/api/scala/org/apache/spark/index.htmlimport org.apache.spark.ml.Pipelineimport org.apache.spark.ml.classification.{LogisticRegression, LogisticRegressionModel}import o

2021-08-10 18:36:27 1123

原创 【Spark】如何将spark中DataFrame的内容保存到一个或多个csv文件

一、问题背景  原本我是想利用spark处理大量的数据集来训练Lr模型,然后需要提取数据集中的标签索引,然后我就想将标签的索引保存成csv格式的数据,再直接导入到hive表中。  这里我们需要得到csv格式的数据,首先我想到可以先创建成dataframe格式的数据==>再转换成csv格式数据。二、解决方案  经过我的一系列变换,将我所需要的数据都存储到了ListBuffer的数组中,然后直接利用createDataFrame来创建df数据,代码如下:import org.apache.spa

2021-07-21 18:30:23 8081

原创 【Seq2seq】Decoder中提高模型回复多样性方法

一、问题背景  最近研究了seq2seq模型的相关优化算法,包括有其中的Attention、dropout、Scheduled Sampling和Teacher Forcing等优化、训练模型的方法。以下是传统seq2seq模型结构,没有进行任何优化,该模型分为两部分:编码器和解码器。 编码器读取输入文本,并返回代表该输入的向量。 然后,解码器获取该向量并依次生成相应的文本。  这样依次按概率生成词的模式,就会使得系统为了达到生成结果的概率最大,就会产生很多通用一致的回复,这必然是我们不想看到的,所以

2021-05-26 18:31:52 830 1

原创 二叉树的层次遍历队列和数组实现C++

  下面利用c++实现的二叉树的层次遍历,这也是剑指offer中面试32题 ==> 从上到下打印二叉树,同一层中从左至右打印。  我分别使用队列queue和数组array来实现了这个遍历过程,总的来说两种方法的思路比较类似。思路:都是先将节点放入容器中,然后再依次放入该节点的左右孩子节点,然后打印该节点,之后移动下标或弹出该节点。具体的思路可以从代码中感受,只有自己去梳理并写一遍才是最深刻的哈哈<( ̄︶ ̄)↗[GO!]#include<iostream>#inclu

2021-04-30 16:16:15 605 1

原创 【Python】处理json文件

1. JSON介绍  首先介绍一下JSON文件格式,JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。  它的格式是以大括号区分来存储数据,json和dict非常类似,都是key-value的形式,而且json和dict也可以非常方便的通过dumps和loads互转,但是它们之间还是有区别的:json:是一种数据格式,是纯字符串。可以被解析成python的dict或其他形式。dict:是一个完整的数据结构,是对hash table这一数据结构的实现

2021-04-29 15:28:21 292

原创 RuntimeError: Output 0 of SelectBackward is a view and is being modified inplace.

1. 问题背景今天在浏览一些代码的时候,总是出现了以下的错误描述RuntimeError: Output 0 of SelectBackward is a view and is being modified inplace. This view is the output of a function that returns multiple views. Such functions do not allow the output views to be modified inplace. You

2021-04-28 14:20:22 8420

原创 SQL实战初级技能+常用场景代码

1. SQL过滤 :SQL1: =select * from <表名>where day=20200202and temperature = 6and province= '江苏'很明显,这是查温度=6度,省=江苏的数据。注意,数据类型数字直接=,汉字或英文需要加半角单引号’’。SQL2:BETWEENwhere day=20200202and temperature between 0 and 5and province= '江苏'SQL3:Like(Like模

2021-04-27 13:57:15 264

原创 如何在线打开Xmind文件 — 百度脑图在线工具

1.问题背景:  某些时候会接收到别人发给我们的xmind(一种思维导图)的文件,但苦于我们的电脑上没有下载Xmind软件,所以我们怎么快捷的查看该文件的内容呢?2.解决方案:Step 1:  我在网络上搜索了相关的解决方法,发现一个比较快捷的,因此推荐给大家,就是我们可以直接使用百度脑图 (https://naotu.baidu.com/)来直接打开xmind类型文件。  首先我们需要登录我们的百度账号进去,然后就进入到了以下界面:Step 2:  然后我们点击新建脑图,然后再直接点击这

2021-04-21 16:33:48 46213 13

百面机器学习-集成学习

这里的资源是百面机器学习中及集成学习部分的内容,大家可以自由下载来阅读学习哈!里边主要是关于Xgboost和GBDT之间的区别和联系。

2022-05-02

BERT手把手实现分类任务-Pytorch

BERT手把手实现分类任务-Pytorch

2022-03-15

Mac中的EasyConnect应用的dmg安装资源!亲测有效

Mac中的EasyConnect应用的dmg安装资源!亲测有效

2022-02-17

面向任务的对话系统的最新进展和挑战_中文译文.docx

超级详细的文章中文译文!而且是word版本哈哈哈!

2021-01-26

POP3邮件编程实现.zip

实现了设定服务器地址、帐户、密码后连接到POP3服务器,能从pop3服务器中检查所有邮件,同时可以查看邮件内容,及邮件的删除和附件的查询。

2020-06-04

NECCS-C类.zip

是08—13年的试卷资源,有需自取,其中还包含了一些听力的资源和原文,有需要的同学可以下载下来作为练习题用。

2020-05-11

空空如也

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

TA关注的人

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