自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 阅读源码的方法

工具:1.称心如意的工具箱,包括IDE, UML,Mind Maping等工具2.高效地使用快捷键,这是一个良好的代码阅读习惯(查看类层次关系,函数调用链,方法引用点)拔掉鼠标,减低对鼠标的依赖!!!【尝试寻找对应的快捷键。工作效率必然能够得到成倍的提高。】阅读代码之前:其一,手动地构建一次工程,并运行测试用例;其二,亲自动手写几个Demo感受一下。发现领域模型:通过代码阅读,...

2020-04-20 22:43:03 399

原创 python如何导入(import)不同文件夹的文件

导入同一级的文件import file1导入下级目录的文件,需要在文件夹里新建一个空白的__init__.py文件,然后导入from dir2 import file2导入上级目录下的文件,需要使用sys.pathimport sys sys.path.append("..") import file3导入上级目录的下一级文件,也需要使用sys.pathim...

2019-11-18 18:29:00 7064 2

原创 源码分析:《Topic-to-Essay Generation with Neural Networks》

1.阅读配置参数的 Config.py 文件完整代码如下:#coding:utf-8class Config(object): data_dir = 'Data/' vec_file = 'Data/vec.txt' init_scale = 0.04 learning_rate = 0.001 max_grad_norm = 10 #梯度剪裁...

2019-11-12 02:45:10 752 1

原创 京东笔试题——消消乐问题

消消乐# 1a = [[3,1,2,1,1],[1,1,1,1,3],[1,1,1,1,1],[1,1,1,1,1],[3,1,2,2,2]] def candy(line): R, C = 5, 5 changed = True while changed: changed = False for r in range(...

2019-10-29 22:46:25 497

原创 python的数据预处理

# GB18030,全称:国家标准GB18030 - 2005《信息技术中文编码字符集》,是中华人民共和国现时最新的内码字集,# 是GB18030 - 2000《信息技术信息交换用汉字编码字符集基本集的扩充》的修订版。GB18030与GB2312 - 1980和GBK兼容,共收录汉字70244个df = pd.read_csv(path, encoding="gb18030")# 去掉集...

2019-10-24 20:07:42 182

原创 阅读论文《Difficulty Controllable Generation of Reading Comprehension Questions》

这篇论文实现了不同难度问题的文本生成,即输入阅读理解的句子,生成规定难度的问题。实验结果通过BLEU指标评估,并且还要符合规定的难度标签。Encoder 编码器用的是双向的LSTM。论文定义两个查找表,position embedding 分别是容易类:,困难类:Decoder 解码器用的是Attention机制和Copy机制,其中创新点在于全局难度控制。首先使用难度...

2019-10-18 00:01:09 463

原创 Transformer:Pytorch版本的源码解析

代码来源:http://nlp.seas.harvard.edu/2018/04/03/attention.html1. 首先加载包:import numpy as npimport torchimport torch.nn as nnimport torch.nn.functional as Fimport math, copy, timefrom torch.autogra...

2019-09-05 00:09:54 5690 2

原创 中文文本分类的总结

文本分类算法从机器学习的“人工特征 + lr/svm/xgboost”,到深度学习的"word embedding + DNN"、“language model + decoder”,不断演变。0.文本的预处理1)清洗数据:带有HTML标签、URL地址等非文本内容,长串数字或字母、无意义的文本。2)变形词识别和替换:特殊符号替换、同音近型替换(拼音首字母)、简繁替换3)停用词与标点...

2019-09-05 00:09:21 4305 2

原创 实现Word2Vec模型(Skip-Gram):TensorFlow版本

1. 数据预处理文本分词、替换文本中特殊符号、去除低频词(Counter 计数器,统计字符出现的个数)、单词映射表# 筛选低频词words_count = Counter(words)words = [w for w in words if words_count[w] > 50]# 构建映射表vocab = set(words)vocab_to_int = {w: c ...

2019-09-05 00:09:09 697

原创 KEEP笔试

题目1:给的数据的x和y,返回最小二乘法的k和b方法:将x和y的值保存为两个数组,然后按照最小二乘法来求解。最后得到的b与测试用例保留的个数少了一位,无法通过测试。。。x = [1,2,3]y = [3,5,6]def fun(x, y): size = len(x) i = 0 sum_xy = 0 sum_y = 0 sum_x = 0 ...

2019-09-04 23:39:56 748

原创 华为应聘状态码破解

进入华为招聘的职位进展页面,打开浏览器的开发者工具,在控制台(console)输入下面代码,回车:fetch( "http://career.huawei.com/reccampportal/services/portal/portaluser/queryMyJobInterviewEvolve?reqTim=" + new Date().getTime()) .then(...

2019-09-03 22:17:28 70797 17

原创 算法&数据结构(十):并查集

leetcode:200. 岛屿数量问题描述:给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。解法:并查集,如果当前点为1,则为1相邻节点合并到同一集合。集合的查询需要遍历到顶点为止。时间复杂度:O(n*n)class Solution(object...

2019-09-02 16:37:29 158

原创 字节跳动 8.25 笔试 第一、二、三、四题

第一题题目:假设用户a,b,c,如果a和b之间关系大于等于3,则a和b是一类;如果ab一类,bc一类,则abc一类,输入关系矩阵,返回类数。思路:关系矩阵沿着对角线对称,因而只需要遍历(i, n) ,保存值大于等于3的关系,返回 n - 满足一类的长度,注意可能导致结果小于1,需要处理。n = int(input())line = []for i in range(n): ...

2019-08-25 22:21:07 556

原创 快手8.25 第一第二题

第一题要求图片最早的位置不变,图片的相对顺序不变n 每N个只能有一个是图片m 数组长度line = ['V_0','V_1','V_2','P_3','P_4','P_5','V_6','P_7','V_8','V_9']第一题只AC 80% 求解??ans = []n = int(input())m = int(input())line = []for i i...

2019-08-25 18:36:11 269

原创 算法&数据结构(九):贪心算法

leetcode:621. 任务调度器问题描述:解法:首先找到完成次数最多的任务,完成这个任务需要时间为 (count - 1) * (n + 1) + 1,接着找到相同任务次数(count)的其他任务,每个任务+1。但是有个意外情况,会导致任务总时间小于数组长度,例如(任务种类-1)> n, [A,A,B,B,C,C,D], n=2,这时可以依次完成任务 ABCDABC。时间复...

2019-08-17 10:56:00 198

原创 360笔试——2019.08.15

1.求表面积思路:顶部和底部不会被遮挡,且当v = grid[i][j] > 0,有且只有2个面。四周东南西北,取决于grid[i][j]的个数,再减去上下左右遮挡它的个数(注意最小为0,不能加上负数)def surfaceArea(grid): # 顶部和底部不会被遮挡,且当v = grid[i][j] > 0,有且只有2个面 # 四周东南西北,取决于gri...

2019-08-15 21:24:18 1249 2

原创 Batch Normalization原理

Internal Covariate ShiftInternal Covariate Shift 问题:训练过程中,由于深层网络中参数变化,引起内部结点数据分布发生变化。而ICS使得后层网络不断调整以适应输入数据分布的变化,导致学习率的降低;并且ICS使得网络训练容易陷入梯度饱和区,减缓收敛速度。为了减缓ICS问题,可以固定每一层网络输入值的分布,具体方法为白化、BN。白化白化(W...

2019-08-12 22:38:04 216

原创 网易互娱笔试8.11:三道题AC

第一题:给n个数组,计算每个数组里面的元素有多少个1,相同1次数为一类,计算每个数组有几类。思路:减1做&运算。注意将答案放在数组里面分别打印,否则报错。#coding=utf-8# 本题为考试多行输入输出规范示例,无需提交,不计分。import sysdef count_one(nums): res = [] for num in nums: ...

2019-08-11 17:49:09 1926 2

原创 网易有道笔试8.3

第四题:很奇怪不知道为何测试通过了,AC-0%,求解??#coding=utf-8# 本题为考试单行多行输入输出规范示例,无需提交,不计分。import sys n = int(sys.stdin.readline().strip())for _ in range(n): s = sys.stdin.readline().strip() t = sys.stdin...

2019-08-04 21:50:14 727

原创 网易游戏模拟笔试8.4-第一题AC100%,第二题AC50%

由于在参加大疆的考试,所以完成了大疆的考试,8.20进入了考场,少了一个多小时。网易游戏的题目还算简单。第一题缴税问题,小于5000元不交税,否则(工资-5000)为需要缴税的部分,然后分批次计算缴税费用。import sysn = int(sys.stdin.readline().strip())for i in range(n): v = int(sys.stdi...

2019-08-04 21:46:30 776 2

原创 算法&数据结构(八):回溯法

回溯是一种通过穷举所有可能情况来找到所有解的算法。如果一个候选解最后被发现并不是可行解,回溯算法会舍弃它,并在前面的一些步骤做出一些修改,并重新尝试找到可行解。leetcode:17. 电话号码的字母组合问题描述:给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射。注意 1 不对应任何字母。解法:如果没有剩余数字需要输入,则组合完成。如果还有数字...

2019-08-04 18:47:28 334

原创 算法&数据结构(五):栈与队列

leetcode:347. Top K Frequent Elements问题描述:给定一个非空数组,返回前K个出现频率最高的元素。解法:字典存放元素和频率,创建优先队列保存前K个(频率,元素)自动最小堆排序。# 排序算法# 时间复杂度:O(),其中 n 表示数组的长度。# 空间复杂度:O(n),最极端的情况下(每个元素都不同),用于存储元素及其频率的 Map 需要存储 n 个键...

2019-08-04 18:47:16 269

原创 Python的深拷贝与浅拷贝区别

直接赋值:随着原变量而变化浅拷贝:copy.copy 只拷贝父对象,不会拷贝对象的内部的子对象深拷贝:copy.deepcopy 拷贝对象及其子对象

2019-08-02 21:57:08 127

原创 作业帮笔试7.31

1.非递归中序遍历用栈的方式完成,由于后进先出的特性,不断压入根节点的所有左节点直到当前节点为空,然后弹出节点,并且遍历节点的右节点。如果有节点有左子树,则继续压入。。class Solution: def inorderTraversal(self, root: TreeNode) -> List[int]: # cur当做指针 cur =...

2019-08-02 15:43:53 476

原创 头条一面二面(7.14):面试内容记录

1. 部门:用户中心用户关系判断,社交网络,恶意行为,风险控制。2. 自我介绍技能:pytorch、tensorflow、python、C++、SQL知识领域:机器学习、深度学习、NLP(文本生成、文本分类、对话理解)个性:积极乐观(开心果),善于自学(两天学会C语言),亲和力强,善于团队合作,条理清楚、适应能力和幽默感亮点(能胜任此岗位的优点):会搞懂算法原理,查看...

2019-08-01 00:31:03 350

原创 华为7.31笔试(第一题AC、第二题AC、第三题超纲)

第一题题目:小明是个强迫症卖家,有10000台设备,卖的均价要求最接近D元,输出卖出的台数N,总售价M输入 0<D<10,精确到小数点后12位 ; 输出 M N思路:均价与D相接近,初始化M,N为1。然后计算均价M/N。如果均价 > 幸运数D,则台数(分母)增加。如果均价 <= 幸运数D,则总售价(分子)增加。直到 M N 超出循环,其中...

2019-08-01 00:02:52 4194 4

原创 算法&数据结构(六):二叉树

leetcode:617. 合并二叉树问题描述:给定两个二叉树,合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL 的节点将直接作为新二叉树的节点。解法:指定其中一个树,如果到达叶子节点,则下一步返回另一个树的结点(包含这个节点的左右子树)时间复杂度:log(n)class Solution(object): d...

2019-07-28 14:59:00 223

原创 算法&数据结构(七):动态规划

理解动态规划:将一个问题拆成几个子问题,分别求解这些子问题,即可推断出大问题的解。求解时,需要设计状态函数,转移方程。leetcode:300. 最长上升子序列问题描述:给定一个无序的整数数组,找到其中最长上升子序列的长度解法一:动态规划思路:遍历数组的每个元素,如果当前元素大于在他前面的任何一个元素,状态转移方程为 if n-1 < n, f(n) = f(n...

2019-07-25 17:18:54 251

原创 算法&数据结构(一):字符串

leetcode:3. 无重复字符的最长子串问题描述:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。解法:滑动窗口,元素如果不在字典里面,就右移右边界(扩大);元素在字典里面,就右移左边界(缩小)。通过右边界的指针循环遍历,直到右边界达到末尾。因为左边界最多比右边界在右边一位,因而不用规定左边界。时间复杂度:O(1)class Solution: def...

2019-07-24 23:32:15 224

原创 算法&数据结构(四):链表

剑指offer:从尾到头打印链表问题描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。解法:栈 a=[] a.append() a.pop() a.pop(0)时间复杂度:O(n)# class ListNode:# def __init__(self, x):# self.val = x# se...

2019-07-23 17:08:22 140

原创 算法&数据结构(三):数组

leetcode:448. 找到所有数组中消失的数字问题描述:给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。不使用额外空间且时间复杂度为O(n)解法:把元素的值作为下标,将下标对应的值取负,然后返回正数的下标时间复杂度: O(n)class...

2019-07-23 15:54:29 401

原创 算法&数据结构(二):查找与排序算法

重点掌握二分查找、归并排序、快速排序不同排序算法的时间复杂度与空间复杂度1. 冒泡排序比较相邻的元素,如果第一个比第二个大,就交换。从开始到结尾,这步做完后,最后的元素会是最大的数。然后重复,从开始元素到倒数第二。a = [1,5,6,0,2,4,1,2,0,5,3]for i in range(len(a)): # 设定一个标记,若为true,则表示此次循环没有...

2019-07-22 15:01:33 279

原创 从n-gram到Bert聊一聊词向量:神经概率语言模型

神经网络语言模型NNLM:论文:Bengio, Yoshua, et al. "A neural probabilistic language model."  http://jmlr.org/papers/volume3/bengio03a/bengio03a.pdf目标是学一个好的模型  ,分解函数为两个部分:一是V中任何元素i到实数向量的映射C,C表示与词汇表中的每个单词相关联的分...

2019-07-16 17:25:23 923

原创 模型融合:Stacking源码解析

第一层:训练数据:通过5-fold切分数据集分别训练和测试,将model1的预测值保存为P1,作为model2的训练数据。测试数据:通过每次训练的model1预测所有的测试数据,然后取平均值得到T1。如果第一层有三个模型,则得到预测值矩阵(P1, P2, P3)和 预测值矩阵 (T1, T2, T3)。第二层:预测值矩阵(P1, P2, P3)作为训练集,预测值矩阵 (T1, ...

2019-07-14 00:09:49 829

原创 Encoder-Decoder架构与注意力机制

Encoder-Decoder架构模型,如下图:Encoder会利用整个原始句子生成一个语义向量,Decoder再利用这个向量翻译成其它语言的句子。这样可以把握整个句子的意思、句法结构、性别信息等等。Encoder对X 进行非线性变换得到中间语义向量c :Decoder根据语义c 和生成的历史单词来生成第个单词  :Encoder和Decoder具体使用什么模型,都可以自己...

2019-07-14 00:08:15 7905

原创 《Attention is All You Need》论文理解Transformer

谷歌的Transformer模型最早是用于机器翻译任务,当时达到了SOTA效果。Attention is All You Need:https://arxiv.org/abs/1706.03762Tensorflow:https://github.com/tensorflow/tensor2tensorPytorch代码:http://nlp.seas.harvard.edu/2018...

2019-07-14 00:07:23 1482

原创 从n-gram到Bert聊一聊词向量:Word2Vec

Word2Vec模型中有CBOW和Skip-Gram两种模式:CBOW(多到一)是给定上下文来预测输入单词,训练方法为负采样Skip-Gram(一到多)是给定输入单词来预测上下文,训练方法为哈夫曼树训练步骤:1.将输入的文本生成词汇表,统计词频选择前k个构成词汇表 vocab.txt。每个词对应生成one-hot向量,向量的维度是V2.将输入的文本的每个词生成一个one-...

2019-07-14 00:06:03 1606

原创 seq2seq 源码分析(PyTorch版)

torch.__version__版本为-1.1.01.首先引入包,定义 填充符 PAD_token、开始符 SOS_token 、结束符 EOS_token# 在开头加上from __future__ import print_function这句之后,如果你的python版本是python2.X,你也得按照python3.X那样使用这些函数。# Python提供了__futu...

2019-07-11 21:32:02 2147 1

原创 激活函数的性质、表达式及其优劣:Sigmoid -> Tanh -> ReLU -> Leaky ReLU 、PReLU、RReLU 、ELUs-> Maxout

激活函数的性质1. 非线性:即导数不是常数。保证多层网络不退化成单层线性网络。这也是激活函数的意义所在。2. 可微性:可微性保证了在优化中梯度的可计算性。传统的激活函数如sigmoid等满足处处可微。对于分段线性函数比如ReLU,只满足几乎处处可微(即仅在有限个点处不可微)。对于SGD算法来说,由于几乎不可能收敛到梯度接近零的位置,有限的不可微点对于优化结果不会有很大影响。3. 计算简...

2019-07-11 19:59:37 7429

原创 分类算法(三):贝叶斯分类器的原理

对贝叶斯分类来说,考虑如何基于概率和误判损失来选择最优的类别标记。贝叶斯公式判别式:给定x,直接建模p(c|x)来预测c,例如决策树、BP神经网络、支持向量机生成式:先对联合概率分布p(x,c)建模,再得到p(c|x),例如贝叶斯。 :先验概率,样本所占样本空间的比例。先验概率是指我们主观通过事件发生次数对概率的判断。 :泳衣归一化的证据因子 :条件概率,或似然。 ...

2019-07-10 21:41:07 460

空空如也

空空如也

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

TA关注的人

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