照着书上给的代码段改了一上午BUG,最后发现是书上代码有问题。。。 ...
分类:
其他好文 时间:
2018-05-12 15:09:02
阅读次数:
151
一、模型 随机负采样方法,是后来对word2vec输出层做的一种改进,舍弃复杂的层次分类和huffman树 在已知词w上下文的情况下,对应的输出正样本就是w,负样本就是剩下的所有词,非常多,所以我们用某种方法,采样很小的部分,集合为NEG(w)。每个词u都有自己的辅助参数θ 我们希望最大化的函数为, ...
分类:
其他好文 时间:
2018-05-12 14:21:24
阅读次数:
144
一、输出层结构 注意到,huffman树的每一层,都有参数和激活函数sigmoid存在,实际上是一个神经网络。影响该节点的二分类走向。这和一般的多分类问题中,各种分类是同处于平等的最后一层,是不同的。 二、模型推导 我们重点关注输出层huffman树过程的模型推导。对于每个走到huffman树根节点 ...
分类:
其他好文 时间:
2018-05-12 13:16:36
阅读次数:
166
一、目的 词频越高的词,希望编码长度越短。 在huffman树中,叶子节点是各个词,叶子节点的权重是词频。每个词都有权重×距离根节点的长度,即词频*编码长度。Huffman树保证了上述所有词的上述乘积的和是最小的,即该编码方式的总代价是最小的。 二、huffman树的构造算法:这里略去,总之有确定的 ...
分类:
其他好文 时间:
2018-05-11 13:48:54
阅读次数:
195
题目 题目给出一组字母和每个字母的频数,因为哈夫曼编码不唯一,然后给出几组编码,因为哈夫曼编码不唯一,所以让你判断这些编码是否符合是哈夫曼编码的一种。 解题思路: 1、构造哈夫曼树,并求出总代价COST,即各个字母的频数乘以编码长度的和。 2、对于题目给出的每一组编码,判断是否符合哈夫曼编码,即这组 ...
分类:
其他好文 时间:
2018-04-22 18:10:33
阅读次数:
195
写在前面: 从大到小: priority_queue: 默认 9 8 5 3 2 由小到大: priority_queue<int, vector<int>, greater<int> > 2 3 5 8 9; 小试牛刀: 问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huff ...
分类:
其他好文 时间:
2018-04-21 16:18:07
阅读次数:
206
时间限制: 1Sec 内存限制: 128MB 提交: 61 解决: 43 时间限制: 1Sec 内存限制: 128MB 提交: 61 解决: 43 时间限制: 1Sec 内存限制: 128MB 提交: 61 解决: 43 题目描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffm ...
分类:
其他好文 时间:
2018-04-18 01:00:40
阅读次数:
150
题目链接: https://vjudge.net/problem/POJ-3253 题目大意: 有一个农夫要把一个木板钜成几块给定长度的小木板,每次锯都要收取一定费用,这个费用就是当前锯的这个木版的长度 给定各个要求的小木板的长度,及小木板的个数n,求最小费用 思路: HUffman算法 优先队列 ...
分类:
其他好文 时间:
2018-04-09 23:05:30
阅读次数:
212
文件压缩与解压缩> 近期这段时间一直在学习树的这样的数据结构,也接触到了Huffman树以及了解了什仫是Huffman编码,而我们经常使用的zip压缩也是利用的Huffman编码的特性,那仫是不是能够自己实现一个文件压缩呢?当然能够了.在文件压缩中我实现了Huffman树和建堆Heap的代码,zip ...
分类:
其他好文 时间:
2018-04-06 12:26:55
阅读次数:
182
如果用vector实现,在运行时遍历寻找最小的两个节点,时间复杂度为O(N^2) 但是我们可以用priority_queue优化,达到O(N logN)的时间复杂度 需要注意的是priority_queue的模板type不能存指针。因为指针是64位整数,存的是数据在内存中的地址。但如果直接存Node ...
分类:
其他好文 时间:
2018-03-10 15:55:48
阅读次数:
156