自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【2023校招提前批】【字节跳动】内推码:VPEQHYV

【2023校招提前批】【字节跳动】内推码:VPEQHYV

2022-07-08 17:08:34 2037 1

原创 预训练模型--BERT

前言上一篇文章中讲到了GPT,也简单讲到了GPT和BERT的区别,这里先贴回来温习一下:GPT和BERT之间的区别是:GPT选择了transformer中decoder阶段结构作为预训练结构;而BERT选择了transformer中encoder阶段结构作为预训练结构。这样首先需要知道encoder结构和decoder结构之间的利弊:encoderdecoder双向网络单向网络没有天然的预测目标(Bert自己构造mask)有天然的预测目标(天然mask+预测下一个词)

2022-01-03 21:37:55 915

原创 预训练模型--GPT

why预训练+finetune目前在nlp领域,比较流行的一种方式就是“pretrain+finetune”为什么是这种模式呢?在nlp领域大量数据是无标签的,只有小量数据是有标签的,而大量数据可以帮助模型获得更好的效果(泛化能力),所以在pretrain阶段采用大量无标签的数据无监督学习(在此阶段模型没有明确的下游任务目标,学习的是普适的文本特征),而再在finetune阶段再根据不同具体任务使用小量有标签的数据有监督微调;在nlp领域任务种类并不只有一种,也就是说上面提到的finetune阶段

2021-12-26 20:32:26 3871

原创 ELMO论文笔记Deep contextualized word representations

1. 为什么引入elmo是在传统词向量中加入了对上下文信息的关注,使得同一个词在不同上下文中有不同含义,得到不同的表达。2. 整体架构elmo主要使用了一个字符卷积层(get raw word vectors) 加上 两层双向的LSTM语言模型,来充分获得一个词的所有上下文信息,这正是与word2vec等传统词嵌入不同之处。(各个层之间添加了residual connection传递;elmo中可以添加适量的dropout和l2正则)3. 为什么是两层LSTM第一层LSTM更容易获得一些浅层

2021-12-19 20:49:16 1241 1

原创 Attention Is All You Need 论文解读

self attention 是很多bert框架,或者说是transformer框架的共同点,它的提出颠覆了之前在进行“语言理解”任务中深度神经网络一定要使用CNN进行循环串行计算的弊端,取而代之的是全局并行注意力的计算。首先,简单直观的实现一个self-attention(这部分参考参考https://towardsdatascience.com/illustrated-self-attention-2d627e33b20a一文)以下为python实现:最下层绿色的input为:input = [

2021-12-05 18:00:43 2558

原创 Google’s Neural Machine Translation System 论文笔记

首先这里推荐一篇非常深入浅出的文章,对读懂了解谷歌神经机器翻译有很好的帮助,且对该论文的来龙去脉有一个了解,比如最直接的借鉴–Bengio团队双向编码器的seq2seq+注意力模型,这会在了解GNMT为什么encode层第一层要设计成双向LSTM有一个很好的了解,以及为什么要设置8层LSTM有个通俗的了解–“8个递进厉害的翻译员”,文章见:https://www.linkresearcher.com/theses/e9d88b0d-ed71-4f66-ba1d-fbf8375393d3接着来详细讨论下GN

2021-11-14 22:23:15 1000

原创 Convolutional Neural Networks for Sentence Classification笔记

首先,什么是卷积神经网络CNN,参考https://www.zhihu.com/question/22298352?rf=21686447个人理解:过去时刻的输入也会对现在产生影响,卷积使用kernel在输入上(对现在时刻和非现在时刻)提取特征,每次移动提取的特征组成feature map。文章整体架构:首先最左边是输入层,包含一句话的n个词,每个词表示为embedding为k维的词向量。注意这里有static和non-static两个通道,分别表示:non-static 通道: 词向量使用

2021-10-31 22:05:22 420

原创 Word2Vec两篇经典论文笔记

Efficient Estimation of Word Representations in Vector SpaceDistributed Representations of Words and Phrases and their Compositionality首先第一篇文章Efficient Estimation of Word Representations in Vector Space针对之前提出的NNLM和RNNLM计算复杂的问题,在此基础上减少了隐藏层(将语言模型的建立看成一个.

2021-10-24 21:43:47 3260

原创 a neural probabilistic language model 论文笔记

原文见:https://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf统计语言模型首先统计语言模型的学习目标本质上都是一种语言的单词序列的联合概率函数:p(w1,w2,w3…,wt) = p(w1) p(w2|w1) p(w3|w1w2)…p(wn|w1w2…wt-1)上式可以理解为,给定前面的t-1个词,后面第t个词出现的概率,假设语料库有100000个词,该计算的时间复杂度为100000的t次方,随着t的增加计算量将呈现指数级别的增加,为了

2021-10-17 19:44:06 127

翻译 机器学习法则:ML工程的最佳实践

原文参考:https://developers.google.com/machine-learning/rules-of-ml/第一次阅读,大多是翻译,少部分是自己的思考,随着学习的进行,会逐渐更新一些理解1 常见术语实例(Instance):将要对其进行预测的事情。例如,实例可能是一个网页,我们要将其归为“关于猫的”网页或者“不是关于猫的”网页。标签(Label):预测任务的答案或结果。无论是机器学习系统的答案或结果,还是训练数据的答案或结果,都可以称为标签。例如,将网页标记为“关于猫的”。特

2021-10-14 22:50:19 115

原创 【字节搜索校招/社招/实习内推】

【字节搜索校招/社招/实习内推】字节跳动校招内推码: VPEQHYV来一起打造地表最强搜索引擎!【岗位jd】:搜索团队22届秋招岗位:算法工程师-搜索、NLP工程师-搜索、推荐算法工程师-搜索、后端开发工程师-搜索【部门介绍】: 字节跳动搜索团队主要负责抖音、今日头条、西瓜视频等产品的搜索算法创新和架构研发工作。我们使用最前沿的机器学习技术进行端到端建模并不断创新突破,同时专注于分布式系统、机器学习系统的构建和性能优化,从内存、Disk等优化到索引压缩、召回、排序等算法的探索,充分给同学们提供成长自

2021-07-19 22:34:55 320

原创 docker下安装jupyterHub

docker下安装jupyterHub安装docker什么是docker安装docker1)centOs2)Windows3)Macdocker的基本操作1)列出机器上的镜像(images)2)从docker registry server 中下拉image或repository(pull)3)推送一个image或repository到registry(push)4)从image启动一个container启动容器5)将一个container固化为一个新的image(commit)6)查看所有的容器7)进入容

2020-12-30 23:40:55 5729 6

原创 Alphalens和Jqfactor_analyzer单因子分析解读

Alphalens和Jqfactor_analyzer单因子分析解读摘要:Alphalens和Jqfactor_analyzer都是一款开源的Python 的工具包,Alphalens是Quantopian公司(成立9年的知名量化平台于今年10月正式宣告关门)旗下,是较早的开源回测框架,因其接口简单易用被广泛的量化分析师所青睐,不过alphalens 作为国外的开源量化模块,在使用时应该注意美股与A股的不同(比如A股是单向交易一般散户不能做空,采用的是T+1的交易制度等),同时考虑到Quantopian

2020-12-09 17:35:59 3285

原创 建模学习第一课--评价类问题层次分析建模

评价类问题解决:1)评价目标2)可选方案3)评价准则体系(选择哪些因素作为评价准则,a在网上搜b常识c背景材料)选取评价因素方法:a在网上搜论文的指标进行借鉴更有说服力更专业b没有找到相关方案:和队员进行讨论,或者其他平台其他相关问题,搜索网站推荐https://search.chongbuluo.com/(google>baidu>zhihu>weixin)...

2020-04-16 12:00:49 599

原创 二叉搜索树转换双向链表c++

递归版本递归的思想:按照中序遍历每个节点并加入链表更新Plast----将整个树分解成了无数的小树,然后将他们分别转化成了一小段一小段的双向链表,再利用pLast记录总的链表的末尾,然后将这些小段链表一个接一个地加到末尾。class Solution {public: // Plast 节点始终记录已经加入链表的最后一个节点 TreeNode* Plast = NULL...

2020-04-06 15:11:37 418

原创 锁的分类

从线程是否需要锁定同步资源,分为乐观锁(互斥同步锁)– 可以简单理解为通常需要版本号控制– 举例:如git push– 适合:并发多读少写的情况悲观锁(非互斥同步锁)– 修改数据时把数据锁住别的线程无法访问改变– 缺点:可能会导致永久阻塞– 举例:如数据库select xxx for update–适合:临界区有IO操作、代码复杂、竞争激烈,并发多写入,避免大量自旋锁消耗。多...

2020-03-26 11:58:15 115

转载 堆和栈的区别(转载)

一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(...

2020-03-22 18:02:15 140

原创 C++默认大小根堆priority_queue求中位数

以前实现大小根堆总要自己写代码,循环父节点和孩子节点比大小换位置,今天看到C++中有默认的大小根堆实现// 大根堆priority_queue<type> BigRoot;// 小根堆priority_queue<type, vector<type>, greater<type>> SmallRoot;当然如果全是正数的话,小根堆实现比较...

2020-03-16 19:58:04 432

原创 SVM重复样本点会改变判断结果嘛

这是一道在面试中被问到的题目,比较晕,今天做了实验只是get了结果先记录一下,具体原因探索清楚再补充【问题】当样本点整体copy一份会改变SVM的预测吗仅正/负样本点整体copy一份会改变SVM的预测吗【实验】```pythonfrom sklearn import svm # 测试数据X = [[-2, 0], [0, 0], [0, 1], [1, 0]] # tra...

2020-03-15 11:31:57 518

原创 HiveQL distribute by、group by、sort by、order by、sort by、cluster by区别

distribute by f(col):控制数据经过map后如何分给reduce的,把数据按照col列(以及总共reduce个数,默认是采用hash算法)分散到不同的reduce,即col值经过hash后相同的数据会被分到同一个reduce,当然这里我用的f(col),表示划分的可以是任何col的函数如length等。group by f(col):用于分类所有记录结果的特定集合列,查询...

2019-07-10 15:05:15 436

原创 机器学习面试常见问题--线性回归、逻辑回归、交叉熵、多分类

1,线性回归与逻辑回归区别?在拟合数据上,线性回归是用一条线直接拟合训练数据,而逻辑回归先利用sigmoid函数将数据映射为相应分类的概率拟合概率;在学习策略上,线性回归利用最小二乘法使损失函数(均方误差)最小化,而逻辑回归利用梯度下降法使损失函数(最大似然函数/交叉熵)最小化,即求所有训练样本的条件概率之积的最大值。2,为什么用对数似然函数?使用最大似然函数时,很多样本的概率需要连乘...

2019-05-23 07:46:24 937

原创 C++面试常见概念2️⃣--指针引用、const汇总总结

1,指针引用的区别:首先最根本的,指针是地址,引用是别名。1)在使用上,指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变。也就是说在赋值后,指针可以被重新赋值,即指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变,但是指定的对象其内容可以改变(非const的情况下)。指针可以指向空值,但是引用不可以它初始化的时候就必须指向一个已经存在的对象...

2019-05-22 21:06:25 175

原创 leetcode334. 递增的三元子序列

题目:给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。解释:数学表达式如下:如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1,使得 arr[i] < arr[j] < arr[k] ,返回 true ; 否则返回 false 。说明:要求算法的时间复杂度为 O(n),空间复杂度为 O(1) 。示例 1:...

2019-05-19 11:00:36 182

原创 C++面试常见概念--inline、virtual、static汇总总结

inline内联函数简单来说,编译器将inline函数体代码直接复制到inline函数调用点处而非普通函数的函数调用,有点像宏但是比宏更安全会,会做安全检查或自动类型转换。特点:省去了参数压栈、栈帧开辟与回收,结果返回等,加快运行速度;大多类的成员函数(没有循环递归、定义在内类或显示内联等)会自动转化为内联函数;但是也会造成代码膨胀、版本迭代不便、程序员不可控缺点。virtual虚函...

2019-05-15 19:52:53 379

原创 leetcode 301.删除无效括号

题目删除最小数量的无效括号,使得输入的字符串有效,返回所有可能的结果。【说明:】 输入可能包含了除 ( 和 ) 以外的字符。示例 1:输入: “()())()”输出: ["()()()", “(())()”]示例 2:输入: “(a)())()”输出: ["(a)()()", “(a())()”]示例 3:输入: “)(”输出: [""]思路首先正向(从左向右...

2019-05-13 21:02:44 426

原创 计算两字符串之间的距离

这个问题是对问题“已知两个字符串s和t,对s在任意位置执行三种操作:插入一个字符;删除一个字符;替换一个字符,求将s变成t所需要的最少操作次数x”的延伸,其实就是多加一步公式1-x/max(len(s),len(t)),因为将字符串s变成字符串t需要变化的次数越多,那么两个字符串之间的距离就越大。那么如何求字符串s变成字符串t的次数呢,假设len(s)=m,len(t)=n,建立一个[m,n]的...

2019-05-12 22:38:33 695

原创 两个数组的交集 II

题目:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。进阶:如...

2019-05-11 22:33:17 100

原创 leetcode 217.存在重复元素

题目给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true思路1使用set记录元素,因为se...

2019-05-10 17:23:57 109

原创 正则化网站Regex Golf--Backrefs (9)

推荐两个正则化尝试和练习题网站:正则化尝试:https://regexr.com正则化练习题:https://alf.nu/RegexGolf

2019-05-10 16:40:22 471

原创 leetcode189.旋转数组

题目给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步:[7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99...

2019-05-10 16:36:07 109

原创 LeetCode152. 乘积最大子序列

题目:给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 :输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。思路:记录数组中每一个索引位置值包含进连乘末尾的最大最小值maxhere、minhere(...

2019-05-09 17:17:10 114

原创 力扣212. 单词搜索 II

题目:给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例:输入:words = [“oath”,“pea”,“eat”,“rain”] and board =[[‘o’...

2019-05-08 23:56:03 724

原创 力扣208. 实现 Trie (前缀树)

题目:实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。示例:Trie trie = new Trie();trie.insert(“apple”);trie.search(“apple”); // 返回 truetrie.search(“app”); // 返回 false trie.startsWith(“ap...

2019-05-07 23:03:58 744

原创 力扣139.单词拆分I & II

题目:给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可...

2019-05-06 17:57:36 637

原创 力扣131.分割回文串

题目:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: “aab”输出: [ [“aa”,“b”], [“a”,“a”,“b”] ]分析:有点向之前求所有子串问题,采用DP动态规划算法,只是多加上了判断是否为回文串, 在"aab" 一例中可以依次分析如下分割是否满足回文串特性:a-a-ba-abaa-ba...

2019-05-06 15:42:55 1194

原创 力扣877. 鸡蛋掉落问题

题目:你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <= ...

2019-05-05 21:32:43 546

原创 ssh远程登录命令

口令登录:1,我们直接从一个ssh登录命令例子来看eg.ssh -l ubuntu -p 22 [email protected]其中:-l 后面是username-p后面是端口号,SSH的默认端口是22,也就是说,你的登录请求会送进远程主机的22端口。-最后面[email protected]是要登录的远程主机host2,什么是ssh呢简单说,SSH是一种网络协议,用...

2019-04-16 10:28:30 451

原创 C++ Two Sum;Three Sum; FourSum--在数组中找两数/三数/四数之和为固定值

首先,本篇解决的问题采用两个指针方法的均假设数组有序的前提下,如果无序,则先通过排序算法使数组有序。1. Two Sum 问题可以通过map解决,vector<int> twoSum(vector<int> &nums, int target) { vector<int> v; map<int, int> hash; ...

2019-04-14 21:47:16 430

转载 趣说GET和POST请求方法的区别--面试官想要的

转:GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标...

2019-04-12 11:41:18 109

原创 熵、交叉熵与损失函数

在机器学习中一些分类问题通常以交叉熵作为损失函数,有必要系统的了解一下熵与交叉熵。1. 熵熵是一个很抽象的概念,在百度百科中的解释是–熵本质是一个系统“内在的混乱程度”。更具体地,可以理解为一件事发生概率P的确定性。比如当P=0一定不发生或者P=1一定发生时,熵最小为0;当P=0.5最不确定发生或者不发生时熵最大为1。即一件事情越难猜测发生或者不发生时熵就越大,越好猜测的熵就越小。熵的公式...

2019-04-12 11:07:39 650

空空如也

空空如也

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

TA关注的人

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