自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于网络嵌入和语义表征的作者名消歧

0x01. 摘要在许多领域中,同名消歧一直被视为一个很有意义但具有挑战性的问题,如文献管理,社交网络分析等。对论文同名作者的消歧是指利用论文的信息,如标题,作者,作者机构,摘要,关键词等,通过一些方法将论文分配到正确的作者档案中。目前已经有很多研究者针对同名作者消歧问题提出了解决方法,这些方法主要包括利用论文信息进行基于规则的匹配,或者利用表示学习方法,对论文信息进行表征学习,然后利用聚类方法,如层次聚类,DBSCAN等对这些表征向量进行聚类,使得相似的论文聚成一簇,不相似的论文被分到不同的簇中。本文提

2021-05-18 23:05:27 1084 3

原创 Bi-Directional Attention Flow (BiDAF)机器阅读理解模型

https://zhuanlan.zhihu.com/p/133250669https://cloud.tencent.com/developer/article/1523768https://blog.csdn.net/weixin_41332009/article/details/112758665?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162089304316780357234709%2522%252C%2522scm%25

2021-05-13 17:22:13 257

原创 自然语言处理 - ELMo

1. 提出背景在2013年的word2vec及2014年的GloVe的工作中,每个词对应一个vector,对于多义词无能为力。ELMo的工作对于此,提出了一个较好的解决方案。不同于以往的一个词对应一个向量,是固定的。在ELMo世界里,预训练好的模型不再只是向量对应关系,而是一个训练好的模型。使用时,将一句话或一段话输入模型,模型会根据上下文来推断每个词对应的词向量。这样做之后明显的好处之一就是对于多义词,可以结合前后语境对多义词进行理解。比如apple,可以根据前后文语境理解为公司或水果。ELMO,..

2021-05-13 15:59:58 392

原创 数据结构THU2018 - 高级搜索树

0x01. B树1.大数据越来越小的内存:系统存储容量的增长速度 << 问题规模的增长速度事实1: 不同容量的存储器,访问速度差异悬殊。若一次内存访问需要一秒,则一次外存访问需要一天。->使用cache事实2: 从磁盘中读取1B,几乎与读取1KB一样快->以页(page)或块(block)为单位,使用缓冲区->单位字节的平均访问时间大大缩短。2.结构兄弟既翕,和乐且湛。–《诗经·小雅·棠棣》B树其实就是平衡的多路搜索树的一种等价变换,把搜索树的d代“压扁”,合

2021-05-01 22:49:43 191

原创 U-Net论文阅读(逐句翻译+精读)

U-Net最初是一个用于二维图像分割的卷积神经网络,分别赢得了ISBI 2015细胞追踪挑战赛和龋齿检测挑战赛的冠军. U-net是基于全卷积网络拓展和修改而来,网络由两部分组成:一个收缩路径(contracting path)来获取上下文信息以及一个对称的扩张路径(expanding path)用以精确定位。下面就来精读一下这篇论文吧~1. AbstractThere is large consent that successful training of deep networks requir

2021-04-28 14:25:43 3777

原创 数据结构 THU 2018 - 堆

二叉堆(Binary Heap)没什么神秘,性质比二叉搜索树 BST 还简单。其主要操作就两个,sink(下沉)和 swim(上浮),用以维护二叉堆的性质。其主要应用有两个,首先是一种排序方法**「堆排序」,第二是一种很有用的数据结构「优先级队列」**。本文就以实现优先级队列(Priority Queue)为例,通过图片和人类的语言来描述一下二叉堆怎么运作的。一、二叉堆概览首先,二叉堆和二叉树有啥关系呢,为什么人们总数把二叉堆画成一棵二叉树?因为,二叉堆其实就是一种特殊的二叉树(完全二叉树),只不

2021-04-27 23:18:10 134

原创 NC 链表相关 - 3,4,53

NC4. 判断链表是否有环题目描述难度 的⭐判断给定的链表中是否有环。如果有环则返回true,否则返回false。你能给出空间复杂度为O(1)的解法么?思路使用快指针、慢指针方法,快指针一次移动两格,慢指针一次移动一格,总之,如果有环的话,它俩早晚有一天会碰上。class Solution {public: bool hasCycle(ListNode *head) { ListNode *slow = head; ListNode *fast = h

2021-04-23 22:29:23 94

原创 数据结构 THU2018 - 第九章. 哈希

1. 哈希的引入????哈希存储的基本思想是以关键字(key)为自变量,通过散列函数或哈希(Hash)函数,计算出函数值(哈希地址),作为数据元素的地址,并将数据元素存入相应地址的存储单元中。查找时再根据要查找的关键字使用同样的散列函数计算出哈希地址,然后直接到相应的存储单元中取出元素即可。例:假设有一个集合:S={16,76,63,57,40},使用Hash法存储该集合。现选取哈希函数:h(K)=K%m. 即关键字值对m(正整数)取余作为哈希地址。本例中集合元素个数n等于5,为了能他们的使哈希值

2021-04-21 15:06:36 324

原创 NC78 反转列表& 61 两数之和 & 127最长公共子串

NC 78 反转列表????题目描述输入一个链表,反转链表后,输出新链表的表头。难度 ⭐示例1输入{1,2,3}返回值 {3,2,1}????思路使用迭代法,新建一个新列表,然后每次都像那个列表中插入即可。复杂度O(n).# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution

2021-04-20 21:01:43 125

原创 机器学习 - Dropout

1. Dropout简介1.1 Dropout出现的原因在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。为了解决过拟合问题,一般会采用模型集成的方法。此时,训练模型费时就成为一个很大的问题,不仅训练多个模型费时,测试多个模型也是很费时。综上所述,训练深度神经网络的时候,总是会遇到两大缺点:(1)容易过拟合(2)费时Dropout可以比较有效的缓解过拟合的发生,在一定程度上达到正则化的效果。1.2 什么是Dropout在2012年,Hinton

2021-04-19 18:34:28 1341

原创 leetcode HOT 21&148&236

Leetcode 21. 合并两个有序链表难度 ⭐将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。思路当两个链表都非空时,选链表头最小的那个添加到辅助链表中;当有一个链表为空,另一个链表非空的时候,直接一股脑塞进辅助链表。# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):#

2021-04-17 22:22:03 104

原创 HIVE - Programming Hive Reading (Chapter 1)

CHAPTER 1: Introduction????1. Introduction//大数据!From the early days of the Internet’s mainstream breakout, the major search engines and ecommerce companies wrestled with ever-growing quantities of data. More recently, social networking sites experienced

2021-04-17 16:55:29 157

原创 CV - Detailed Guide to Understand ResNets

今天被男朋友鄙视,因为我说不出来Resnet…(反正他也不看我博客) 哼 本宫这样就把它补上!BackgroundResearchers observed that it makes sense to affirm that “the deeper the better” when it comes to convolutional neural networks. This makes sense, since the models should be more capable (their fl.

2021-04-17 15:53:52 178

原创 leetcode 29 ~ 39

Leetcode 29⭐⭐题目描述Given two integers dividend and divisor, divide two integers without using multiplication, division, and mod operator.Return the quotient after dividing dividend by divisor.The integer division should truncate toward zero, which means

2021-04-15 21:01:39 160

原创 Leetcode - 全排列

题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = “23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]class Solution(object): num2str = {2: "abc", 3: "def", 4: "ghi", 5: "jkl", 6: "mno", 7:

2021-04-07 19:15:37 133

原创 Leetcode 5. 最长回文子串 & 20.有效的括号

难度:medium题目描述给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。思路由于是找回文串,可以采用中心扩展的方法,遍历每个中心点位置,尽可能大的向左右两边扩展。最后取一个最好的中心点即可。class Solution(object): def longestPalindrome(self, s): """ :type s: str :

2021-04-07 16:09:32 109 1

原创 NC 41. 无重复字符的最长子串 & NC19. 子数组的最大累加和

????题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例:输入: s = “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3???? 思路❗ 双指针class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """

2021-04-06 19:12:53 122 2

原创 Leetcode 2. 两数相加

难度 ⭐⭐???? 题目描述给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。????示例输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.????‍????思路既然是逆序的,那么正好符合我们计算加法时的规律。同时考虑进位即可。class

2021-04-06 18:34:41 69

原创 leetcode - 二叉搜索树相关

1. 剑指 Offer 54. 二叉搜索树的第k大节点难度 ⭐???? 题目描述给定一棵二叉搜索树,请找出其中第k大的节点。???? 示例输入: root = [3,1,4,null,2], k = 13/\ 1 4\ 2输出: 4分析:二叉搜索树的一个性质就是,如果按照中序遍历之,一定是从小到大排序的。所以,可以利用这个性质来求第k大。class Solution {public: int kthLargest(TreeNode* root, int k)

2021-03-27 23:00:02 127

原创 数据结构 - 二叉搜索树, AVL树

这几天写OS lab写的焦虑爆棚,好在现在写完了lab4/7. 又忙活哥大入学的事情,最终结论是可以先快乐网课一学期。所以最近都没更新博客,my apologies…1.二叉搜索树1.1 定义一个节点的左后代都比它小,右后代都比它大。对BST做中序遍历,是单调非降的。1.2 二叉搜索树的查找对二叉搜索树做查找,相当于对一个有序向量做二分查找。TreeNode* search(TreeNode* root, int val){ //找到树里值为val的节点,成功时返回该节点,失.

2021-03-27 20:07:12 200

原创 数据结构THU2018 - 图

1. 图的表示1.1 邻接矩阵两个节点之间要是有边,就在矩阵中标记为边权重;如果没有边,就标记为0.1.2 关联矩阵每个节点对应一个边集:1.3 邻接表为了节省空间,每个节点只需保存一个与其相连的节点列表:空间复杂度:有向图:O(n+e)无向图: O(n+2e), 因为边被保存了两次2. 广度优先搜索3. 深度优先搜索4. 拓扑排序顺序输出零入度节点5. 最小生成树Prim算法:实例:6. 最短路径实例:...

2021-03-18 23:22:56 109

原创 Leetcode 547. 省份数量 (连通块数量,DFS)

1. 题目描述有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。返回矩阵中 省份 的数量。示例:输入:isCo

2021-03-18 22:09:04 167

原创 Leetcode 200. 岛屿数量(连通块数量,DFS)

1. 题目描述给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例:输入:grid = [[“1”,“1”,“1”,“1”,“0”],[“1”,“1”,“0”,“1”,“0”],[“1”,“1”,“0”,“0”,“0”],[“0”,“0”,“0”,“0”,“0”]]输出:1示例 2:输入:grid = [[“1”,“

2021-03-18 20:23:25 161

原创 Leetcode 872. 叶子相似的树 (DFS)

1. 题目描述请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。举个例子,如上图所示,给定一棵叶值序列为 (6, 7, 4, 9, 8) 的树。如果有两棵二叉树的叶值序列相同,那么我们就认为它们是 叶相似 的。如果给定的两个头结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false 。示例:输入:root1 = [3,5,1,6,2,9,8,null,null,7,4], root2 = [3,5,1,6,7,4,2,nu

2021-03-18 19:53:32 71

原创 Leetcode Hot 64 - 最小路径和(DP)

1.题目描述:给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。提示:m == grid.lengthn == grid[i].length1 <= m, n <= 2000 <= grid[i][j] <= 1002.题解

2021-03-18 17:47:28 72

原创 数据结构THU2018 - 树

1. 树的节点定义每个节点都指向一个parent(根节点除外),每个节点可以有一个左孩子,一个右孩子。struct Node{ Node* parent = NULL; Node* left_child = NULL; Node* right_child = NULL; int data = -1; Node(int e){ data = e; } Node* InsertAsLC(int e){ //插入左节点

2021-03-16 10:58:35 113

原创 数据结构THU2018 - 栈

1. 栈的构造用vector来自定义栈:class stack{ vector<char> stack_; int size = 0;public: void push(char c){ stack_.push_back(c); size++; } int top(){ return stack_[size-1]; } int pop(){ size --;

2021-03-13 22:33:00 128

原创 数据结构 THU2018 - 列表

1. 列表的构造1.1 节点定义struct Node{ int data; Node * next = NULL; Node * prev = NULL; Node(int data){ this->data = data; }};int main() { Node * head = new Node(-1); Node * tail = new Node(-1); head->next = tail;

2021-03-10 19:58:21 92

原创 数据结构 THU2018 - 向量

1. 二分查找int binary_search(int*A,int target,int low, int high){ if(low > high){ return -1; } int middle = (low+high)/2; if(A[middle] == target) return middle; if(A[middle]<target){ return binary_search(A,ta

2021-03-10 19:21:09 84 1

原创 数据结构 THU2018 - 绪论

迭代与递归1. 减而治之例. 数组翻转迭代方法:void Reverse(int *A, int low, int high){ while(low < high){ int tmp = A[low]; A[low] = A[high]; A[high] = tmp; low++; high--; }}递归方法:void Reverse(int *A, int low, int high

2021-03-10 15:03:41 150

原创 自然语言处理 - Transformer 到 BERT

先修知识:self-attention 到 Transformer:https://blog.csdn.net/weixin_41332009/article/details/1144417081. BERT简介Bidirection: BERT的整个模型结构是双向的。Encoder: 是一种编码器,BERT只是用到了Transformer的Encoder部分。Representation: 做词的表征。Transformer: Transformer是BERT的核心内部元素。BERT的基本思

2021-03-07 17:50:20 617

原创 自然语言处理 - Self-attention 到 Transformer

先修知识:RNN https://blog.csdn.net/weixin_41332009/article/details/114023882?spm=1001.2014.3001.5501RNN 变种https://blog.csdn.net/weixin_41332009/article/details/114044090?spm=1001.2014.3001.5501Seq2seq+attention https://blog.csdn.net/weixin_41332009/articl

2021-03-06 19:29:18 622

原创 深度学习 - 卷积神经网络综述

1. 卷积神经网络概念卷积神经网络(CNN)是一种前馈神经网络,它由若干卷积层和池化层组成,尤其在图像处理方面CNN的表现十分出色。1962年,Hubel和Wiesel通过对猫脑视觉皮层的研究,首次提出了一种新的概念“感受野”,感受野是卷积神经网络每一层输出的特征图(feature map)上的像素点在输入图片上映射的区域大小。再通俗点的解释是,特征图上的一个点对应输入图上的区域。1989年,LeCun结合反向传播算法与权值共享的卷积神经层发明了卷积神经网络,并首次将卷积神经网络成功应用到美国邮局的手

2021-02-27 19:42:20 3324

原创 自然语言处理 - 机器翻译,Seq2seq,Attention

本文翻译和精简自 Stanford cs224n lec081. Seq2seq1.1 seq2seq的训练可以看出,整个seq2seq模型分为两大部分:Encoder RNN和Decoder RNN。在Encoder RNN部分,先将待翻译的原文经过一个RNN (这里可以是vanilla RNN, LSTM,GRU等等),并且使用最后一个隐藏状态作为整句话的encoding表示,作为Decoder RNN的初始隐藏状态输入到Decoder RNN中去。在Decoder RNN部分,每个time

2021-02-26 22:08:12 646

原创 自然语言处理 - 梯度消失和RNN变种 (LSTM, GRU, 双向RNN, 多层RNN)

本文翻译和精简自 Stanford cs224n lec 07.1. 梯度消失和梯度爆炸1.1 梯度消失1.1.1 梯度消失的产生原因以最简单的网络结构为例,假如有三个隐藏层,每层的神经元个数都是1,且对应的非线性函数为 yi=σ(zi)=σ(wixi+bi)y_i=\sigma (z_i) = \sigma(w_ix_i+b_i)yi​=σ(zi​)=σ(wi​xi​+bi​), 如下图:​​引起梯度消失的“罪魁祸首”其实就是激活函数sigmoid:σ(x)=11+e−x\sigma(x)=

2021-02-26 13:31:39 675

原创 自然语言处理 - Language model和RNN

本文翻译和精简自stanford cs224n lec 6.1. Language Model通俗的说,language model就是用来预测下一个出现的词的概率,即:P(x(t+1)∣x(t),x(t−1),...x(1))P(x^{(t+1)}|x^{(t)},x^{(t-1)},...x^{(1)})P(x(t+1)∣x(t),x(t−1),...x(1))1.1 统计学方法:n-gram language model简化:一个词出现的概率只和它前面的n-1个词有关系,这就是"n-gram

2021-02-24 20:19:51 428

原创 自然语言处理 - GloVe

先修知识:潜在语义分析 LSAWord2vec看上一讲的文章:https://blog.csdn.net/weixin_41332009/article/details/1139205801. GloVe模型的提出思想潜在语义分析使用的 SVD 这种count based模型与Word2Vec 这种 direct prediction模型,它们各有优缺点。Count based模型 优点训练快速有效的利用了统计信息 缺点对于高频词汇较为偏向(disproportionate im

2021-02-24 10:40:20 462

原创 自然语言处理 - word2vec

本文翻译和精简自Stanford cs224n lec1+lec21. 如何表示词语的含义?1.1 Wordnetwordnet依靠专家的知识,建立了同义词(synonym)和IS-A关系词(hypernym).使用方法:见https://blog.csdn.net/King_John/article/details/80252594但是,wordnet的缺点是显而易见的。不能把握词语细微的差别。如"proficient"和"good"在wordnet中是同义词,但是它们在不同语境下意思未必完全

2021-02-23 21:08:44 482 1

原创 机器学习 - 如何挑选特征

1. 前向特征选择方法从所有特征中选择特征的重要性最大的特征入模型。1.1 直接利用feature importance变量来判断特征重要性我们在构建树类模型(XGBoost、LightGBM等)时,如果想要知道哪些变量比较重要的话,可以通过模型的feature_importances_方法来获取特征重要性。例如LightGBM的feature_importances_可以通过特征的分裂次数或利用该特征分裂后的增益来衡量。一般情况下,不同的衡量准则得到的特征重要性会有差异。一般通过多种评价标准来交叉选

2021-02-21 16:41:41 721

原创 特征工程

1. Box-Cox变换现实中的数据未必符合正态分布,如下图:画出分布图可以看到,这显然不是正态分布的钟形曲线。为了解决这个问题,就需要转化数据使之符合正态分布。但开始之前,我们需要衡量上图的这种“偏离”程度。于是我们引入“偏度”这个概念。偏度(skewness),表征分布函数曲线相对于平均值的不对称程度。正态分布的偏度为0,则:两侧尾部长度对称;偏度为负,即负偏离(左偏离),则:数据位于平均值左边的比右边的少,直观表现为左边的尾部相对于右边的尾部要长。偏度为正,即正偏离(右偏态),则:数.

2021-02-20 23:02:31 249

空空如也

空空如也

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

TA关注的人

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