<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[budding0828]]></title><description><![CDATA[Dance, like you never fall down.]]></description><link>https://blog.youkuaiyun.com/budding0828</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; budding0828]]></copyright><item><title><![CDATA[C++ 使用VS进行内存泄漏检查]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/108131045</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/108131045</guid><author>budding0828</author><pubDate>Thu, 20 Aug 2020 19:43:28 +0800</pubDate><description><![CDATA[这是在win10 vs2012的环境下进行的实验。主要参考的博客和回答有：

疯狂-的-蜗牛：https://blog.youkuaiyun.com/mfcing/article/details/42673393
vczh的回答：https://www.zhihu.com/question/63946754

首先在代码顶部加上如下语句：
#ifdef VCZH_CHECK_MEMORY_LEAKS
#define _CRTDBG_MAP_ALLOC
#include &lt;stdlib.h&gt;
#include]]></description><category></category></item><item><title><![CDATA[pytorch tensor clone, detach 之后梯度的变化]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/108113430</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/108113430</guid><author>budding0828</author><pubDate>Wed, 19 Aug 2020 23:23:49 +0800</pubDate><description><![CDATA[clone
clone()函数可以返回一个完全相同的tensor,新的tensor开辟新的内存，但是仍然留在计算图中。
detach
detach()函数可以返回一个完全相同的tensor,新的tensor开辟与旧的tensor共享内存，新的tensor会脱离计算图，不会牵扯梯度计算。
非常推荐大家阅读这篇博客：https://blog.youkuaiyun.com/winycg/article/details/100813519

...]]></description><category></category></item><item><title><![CDATA[pytorch KL散度计算出现负值的情况]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/108111978</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/108111978</guid><author>budding0828</author><pubDate>Wed, 19 Aug 2020 22:12:52 +0800</pubDate><description><![CDATA[最近使用了pytorch的KL散度计算模块，发现loss是负值，例如下面的代码。
import torch

KL_criterion = torch.nn.KLDivLoss(size_average=False)
a = torch.tensor([0.1, 0.2, 0.3, 0.4])
b = torch.tensor([0.1, 0.2, 0.3, 0.4])

loss = KL_criterion(a, b)
print(loss)

其结果为：
-1.5799

后来通过网上的解释（http]]></description><category></category></item><item><title><![CDATA[《数学之美（第一版）》笔记 —— 第5章]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/107973509</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/107973509</guid><author>budding0828</author><pubDate>Thu, 13 Aug 2020 10:18:05 +0800</pubDate><description><![CDATA[第5章 隐含马尔科夫模型
通信模型


通信的六要素：发送者，信道，接受者，信息，上下文，编码。


问题：如何从接收端的观测信号o1,o2,o3...o_1,o_2,o_3...o1​,o2​,o3​...来推测信号源发送的信息s1,s2,s3...s_1,s_2,s_3...s1​,s2​,s3​...？
解：找最可能产生观测信号的源信息。

由于o1,o2,o3...o_1,o_2,o_3...o1​,o2​,o3​...一旦产生就不会改变，所以此时P(o1,o2,o3,...)P(o_1,o_2,o]]></description><category></category></item><item><title><![CDATA[《数学之美（第一版）》笔记 —— 第11章]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/107940190</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/107940190</guid><author>budding0828</author><pubDate>Tue, 11 Aug 2020 17:23:37 +0800</pubDate><description><![CDATA[第11章 如何确定网页和查询的相关性


几个概念：

关键词的频率/单文本词频（Term Frequency，TF）：关键词次数除以网页的总字数。
停止词（Stop Word）：度量时不需要考虑的词。例如中文的“的，和，中”等。
逆文本频率指数（Inverse Document Frequency，IDF）：IDF=log(D/Dw)IDF=log(D/D_{w})IDF=log(D/Dw​) ，其中DDD是全部网页数，而DwD_{w}Dw​是关键词出现过的网页数。作为每个搜索关键词的权重。（例如“原子能]]></description><category></category></item><item><title><![CDATA[《数学之美（第一版）》笔记 —— 第10章]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/107940139</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/107940139</guid><author>budding0828</author><pubDate>Tue, 11 Aug 2020 17:22:28 +0800</pubDate><description><![CDATA[第10章 PageRank——Google的民主表决式网页排名技术

搜索结果的排名取决于两组信息：关于网页的质量信息，和这个查询与每个网页的相关性信息。
PageRank核心思想：在互联网上，如果一个网页被很多其他网页所链接，说明它受到普遍的承认和信赖，那么它的排名就高。（解决网页质量的问题）
PageRank的计算方式：

计算搜索结果的网页排名过程会用到网页本身的排名。
使用一个二维矩阵相乘来迭代解决：首先假定所有网页的排名是相同的，并且根据这个初值，算出各个网页的第一次迭代排名，然后再根据第一次迭代]]></description><category></category></item><item><title><![CDATA[《数学之美（第一版）》笔记 —— 第9章]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/107940096</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/107940096</guid><author>budding0828</author><pubDate>Tue, 11 Aug 2020 17:21:06 +0800</pubDate><description><![CDATA[第9章 图论和网络爬虫


在网络爬虫中，使用一个“哈希表”的列表来记录网页是否下载过的信息。


如何构建一个网络爬虫：
1）下载网站的顺序：

BFS为主（横向，爬取最重要的网页，如首页）



DFS为次（一次下完整个网站，避免多次握手）

网络爬虫对网页遍历的次序不是简单的BFS或者DFS，而是有一个相对复杂的下载优先排序的方法，管理这个优先级排序的子系统一般称为调度系统（Scheduler）

2）页面分析和URL提取

解析HTML

3）记录哪些网站下载过：URL表

提高哈希表服务器的通信：]]></description><category></category></item><item><title><![CDATA[《数学之美（第一版）》笔记 —— 第8章]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/107940061</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/107940061</guid><author>budding0828</author><pubDate>Tue, 11 Aug 2020 17:19:32 +0800</pubDate><description><![CDATA[第8章 简单之美——布尔代数和搜索引擎的索引

一个搜索引擎大致需要做3件事：1）自动下载尽可能多的网页；2）建立快速有效的索引；3）根据相关性对网页进行公平准确的排序。
数据库SQL支持各种复杂的逻辑组合，背后原理是基本布尔运算。而搜索引擎会把用户的查询语句转换成布尔运算的算式。
搜索引擎的索引是一张大表：表的每一行对应一个关键词，而每个关键词后面跟着一组数字，是包含该关键词的文献的序号。

分布式：根据网页序号将索引分成很多份，分别存储在不同的服务器中。每当接受一个查询时，这个查询就被分发到许许多多服务]]></description><category></category></item><item><title><![CDATA[《数学之美（第一版）》笔记 —— 第6章]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/107939742</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/107939742</guid><author>budding0828</author><pubDate>Tue, 11 Aug 2020 17:14:16 +0800</pubDate><description><![CDATA[第6章 信息的度量和作用
信息熵（Entropy）


背景：

信息量等于不确定性的多少
可以用bit这个概念来衡量信息量（所以加上了log函数）



信息熵公式：
其中P(x)P(x)P(x)是x发生的可能性。变量的不确定性越大，熵也就越大。

信息熵的取值范围是：[0,log2(n)][0, log_2(n)][0,log2​(n)] ，其中n代表分类的数目。其推导过程可以参考：https://blog.youkuaiyun.com/sinat_26811377/article/details/10199235]]></description><category></category></item><item><title><![CDATA[《数学之美（第一版）》笔记 —— 第4章]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/107931406</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/107931406</guid><author>budding0828</author><pubDate>Tue, 11 Aug 2020 11:20:04 +0800</pubDate><description><![CDATA[第4章 谈谈中文分词


中文分词方法的演变：

查字典：遇到复合词就找最长的词匹配，遇到不认识的字串就分割成单字词。缺点：无法解决二义性问题（如，发展中国家，发展-中-国家，发展-中国-家）
统计语言模型

不需要穷举所有的分词方式，可以采用动态规划或者维特比算法来快速找到最佳分词。



关于分词的颗粒

颗粒度大，翻译效果最好。（例如“联想公司”，作为一个整体）
颗粒度小，网页搜索好。（例如“清华大学”和“清华”）




...]]></description><category></category></item><item><title><![CDATA[《数学之美（第一版）》笔记 ——第3章]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/107931050</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/107931050</guid><author>budding0828</author><pubDate>Tue, 11 Aug 2020 11:18:54 +0800</pubDate><description><![CDATA[第3章：统计语言模型


自 然 语 言 从 它 产 生 开 始 ， 逐 渐 演 变 成 一 种上 下 文 相 关 的 信 息 表 达 和 传 递 的 方 式 ， 因 此 让 计 算 机 处 理 自 然 语 言 ， 一个 基 本 的 问 题 就 是 为 自 然 语 言 这 种 上 下 文 相 关 的 特 性 建 立 数 学 模 型 。 这个 数 学 模 型 就 是 在 自 然 语 言 处 理 中 常 说 的 **统 计 语 言 模 型 （ Statistical Language Model ） **， 它]]></description><category></category></item><item><title><![CDATA[《数学之美（第一版）》笔记 —— 第2章]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/107930950</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/107930950</guid><author>budding0828</author><pubDate>Tue, 11 Aug 2020 11:10:05 +0800</pubDate><description><![CDATA[第2章：自然语言处理——从规则到统计


虽然传递信息是动物也能做到的，但是利用语言来传递信息是人类的特质。


基于规则的自然语言处理：







缺点：需要很多的文法规则。


这种基于规则的做法和程序编译很像：自然语言是上下文有关文法；计算机程序语言是上下文无关文法。


基于统计的方法：其核心是通信系统+隐含马尔科夫模型



...]]></description><category></category></item><item><title><![CDATA[《数学之美（第一版）》笔记 —— 第1章]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/107930846</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/107930846</guid><author>budding0828</author><pubDate>Tue, 11 Aug 2020 11:07:25 +0800</pubDate><description><![CDATA[第1章：文字和语言vs数字和信息

文 字 按 照 意 思 来 聚 类 ， 最 终 会 带 来 一 些 歧 义 性 ， 也 就 是 说 有 时 弄 不 清 一个 多 义 字 在 特 定 环 境 下 它 到 底 表 示 其 中 的 哪 个 含 义 。（这也是为什么上下文建立的概率模型再好，也有失灵的时候）
文字只是信息的载体，而非信息本身。
信息的冗余是信息安全的保障。（例如罗塞塔石碑）
阿拉伯数字的出现，标志着数字和文字的分离。


...]]></description><category></category></item><item><title><![CDATA[《数学之美（第一版）》笔记整理 —— 目录]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/107930411</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/107930411</guid><author>budding0828</author><pubDate>Tue, 11 Aug 2020 11:03:23 +0800</pubDate><description><![CDATA[序
因为想对互联网的新兴技术有一些更好的了解，不断拓展自己的知识面，所以想到了吴军老师的《数学之美》，个人非常推荐大家阅读，可以对各种技术有一个入门的了解。吴军老师的讲法也很生动，对部分章节的内容有兴趣的，也可以深入去了解。
为了更好地理解书中的内容，我根据自己的思维方式做了一些整理。并且对一些相对难懂的片段，我做了进一步的扩展和深究。将自己的笔记分享出来，希望能够和大家一起学习和探讨。
电子书pdf我已经上传到github仓库中，方便大家下载。
目录

...]]></description><category></category></item><item><title><![CDATA[python3 list 自定义排序]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/104880196</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/104880196</guid><author>budding0828</author><pubDate>Sun, 15 Mar 2020 16:05:04 +0800</pubDate><description><![CDATA[python3 list 自定义排序
python2 自定义排序
在python2中，我们可以使用cmp进行自定义排序，当时在python3中却取消了这个参数。
def cmp(x1, x2):
	...

a.sort(cmp)

python3 自定义排序
参考 Masker的做法，可以使用以下方式进行自定义排序。
def cmp(x1, x2):
	if x1['score'] != x2[...]]></description><category></category></item><item><title><![CDATA[使用清华镜像源下载pytorch]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/104256796</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/104256796</guid><author>budding0828</author><pubDate>Mon, 10 Feb 2020 23:32:36 +0800</pubDate><description><![CDATA[使用清华镜像源下载pytorch
由于墙的缘故，我们在国内下载pytorch的速度是非常慢的，甚至还容易出现中断。这时我们可以使用国内的清华源，自己下载所需要的包，然后本地安装。
清华镜像
首先去清华源pytorch的网站找我们所需要的包：
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

下载所需要的包
例如我想下载 py...]]></description><category></category></item><item><title><![CDATA[pytorch register_hook 学习]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/104100150</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/104100150</guid><author>budding0828</author><pubDate>Tue, 28 Jan 2020 16:29:16 +0800</pubDate><description><![CDATA[pytorch register_hook 学习
register_hook 简介：
pytorch 的 hook 函数分为 torch.Tensor 和 torch.nn.Module 两类， 分别对应：
torch.Tensor.register_hook
torch.nn.Module.register_backward_hook

参考：
https://blog.youkuaiyun.com/qq_...]]></description><category></category></item><item><title><![CDATA[valgrind 的使用]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/104072942</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/104072942</guid><author>budding0828</author><pubDate>Wed, 22 Jan 2020 22:14:05 +0800</pubDate><description><![CDATA[valgrind 的使用
valgrind 介绍
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。常见的用法是用来测试程序是否有内存泄漏的情况。详细的介绍可以参考：https://blog.youkuaiyun.com/destina/article/details/6198443
接下来我将介绍如何使用 valgrind，环境是 Linux
安装 valgrind
首先是安装：
...]]></description><category></category></item><item><title><![CDATA[pytorch 打印模型的参数值]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/102646442</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/102646442</guid><author>budding0828</author><pubDate>Sun, 20 Oct 2019 10:27:08 +0800</pubDate><description><![CDATA[pytorch 打印模型的参数值
对于简单的网络
例如全连接层Linear
可以使用以下方法打印linear层：
fc = nn.Linear(3, 5)
params = list(fc.named_parameters())
print(params.__len__())
print(params[0])
print(params[1])

输出如下：

由于Linear默认是偏置bias的，...]]></description><category></category></item><item><title><![CDATA[Ubuntu 反复登陆解决]]></title><link>https://blog.youkuaiyun.com/budding0828/article/details/97395314</link><guid>https://blog.youkuaiyun.com/budding0828/article/details/97395314</guid><author>budding0828</author><pubDate>Fri, 26 Jul 2019 16:34:51 +0800</pubDate><description><![CDATA[问题描述
近期在Ubuntu上遇到了一个问题，就是在登陆界面输入密码并回车之后，屏幕闪一下（有时会有多行命令行）然后又重新回到输入密码的界面。
其他解决方案
这种情况出现的原因有很多种，包括权限问题之类的。在下面贴出一些网友的解答。


修改profile文件：https://blog.youkuaiyun.com/mm_bit/article/details/48056157


修改.Xauthority...]]></description><category></category></item></channel></rss>