EM Algorithm
Published:
老实说,EM算法这玩意曾经一直是我心里一个坑,学了至少三遍 (周志华西瓜书第一遍,李航《统计学习方法》第二遍,过了一年又回顾了一遍) 才有了比较清楚的思路。跟着各种教程一行行看很容易陷入推导长长的公式的泥沼,到头来知道中间有用Jensen不等式放缩,知道要优化一个下界函数,但具体谈起细节来又不是那么清楚。这里我试图把我学习三次之后的理解分享一下,提供我自己理解EM算法的视角。
Published:
老实说,EM算法这玩意曾经一直是我心里一个坑,学了至少三遍 (周志华西瓜书第一遍,李航《统计学习方法》第二遍,过了一年又回顾了一遍) 才有了比较清楚的思路。跟着各种教程一行行看很容易陷入推导长长的公式的泥沼,到头来知道中间有用Jensen不等式放缩,知道要优化一个下界函数,但具体谈起细节来又不是那么清楚。这里我试图把我学习三次之后的理解分享一下,提供我自己理解EM算法的视角。
Published:
上一篇讲 Dataloader 的文章中分析了单进程的 Dataloader 工作的情况,本文分析多进程情况下 Dataloader 的工作流程。
Published:
Dataloader 是 PyTorch 提供的根据需求载入数据的接口,但许多地方看文档会觉得不清不楚,阅读 PyTorch 源码,有助于我们了解框架背后具体做了什么,更灵活地写符合需求的代码。
Published:
PyTorch 中处理序列的输入输出时,由于一个 batch 中的序列长度不一样,需要对输入输出进行“打包”(pack)和“解包”(unpack)的操作,主要用到
pack_padded_sequence
和pad_packed_sequence
这两个函数。
Published:
PyTorch 中处理序列的输入输出时,由于一个 batch 中的序列长度不一样,需要对输入输出进行“打包”(pack)和“解包”(unpack)的操作,主要用到
pack_padded_sequence
和pad_packed_sequence
这两个函数。
Published:
保研经历的回顾总结
Published:
Maximum Subarray 是非常经典的算法题,最开始学数据结构的时候就讲了从 \(O(N^3)\) 到 \(O(N^2)\) 再到 \(O(N)\) 的优化过程,在此基础上还有其它变种题目。实际上,这一系列题都可以用动态规划来解决。
Published:
有意思的动态规划题
Published:
PyTorch 中处理序列的输入输出时,由于一个 batch 中的序列长度不一样,需要对输入输出进行“打包”(pack)和“解包”(unpack)的操作,主要用到
pack_padded_sequence
和pad_packed_sequence
这两个函数。
Published:
Maximum Subarray 是非常经典的算法题,最开始学数据结构的时候就讲了从 \(O(N^3)\) 到 \(O(N^2)\) 再到 \(O(N)\) 的优化过程,在此基础上还有其它变种题目。实际上,这一系列题都可以用动态规划来解决。
Published:
有意思的动态规划题
Published:
老实说,EM算法这玩意曾经一直是我心里一个坑,学了至少三遍 (周志华西瓜书第一遍,李航《统计学习方法》第二遍,过了一年又回顾了一遍) 才有了比较清楚的思路。跟着各种教程一行行看很容易陷入推导长长的公式的泥沼,到头来知道中间有用Jensen不等式放缩,知道要优化一个下界函数,但具体谈起细节来又不是那么清楚。这里我试图把我学习三次之后的理解分享一下,提供我自己理解EM算法的视角。
Published:
PyTorch 中处理序列的输入输出时,由于一个 batch 中的序列长度不一样,需要对输入输出进行“打包”(pack)和“解包”(unpack)的操作,主要用到
pack_padded_sequence
和pad_packed_sequence
这两个函数。
Published:
ShadowSocks 使用总结