EM算法学习

意图识别 <= Bi-LSTM+CRF <= 先懂CRF <= 先懂HMM <= 先懂EM
学习书籍:《概率论与数理统计》陈希儒.《统计学习方法》李航. 《PRML》神书.
此外参考了一些博客,看懂EM还是花了一些时间的,在李航那本书上做了很多笔记,所以整理出来这篇博客。

文章相关代码参见github:xinlp

这一篇就是从EM开始讲,EM的各种变量也统一是用《统计学习方法》这本书的,言归正传。 继续阅读“EM算法学习”

防御性编程(转)

转:https://www.cnblogs.com/bakari/archive/2012/08/27/2658215.html
防御性编程是一种细致、谨慎的编程方法。为了开发可靠的软件,我们要设计系统中的每个组件,以使其尽可能地“保护”自己。我们通过明确地在代码中对设想进行检查,击碎了未记录下来的设想。这是一种努力,防止(或至少是观察)我们的代码以将会展现错误行为的方式被调用。

继续阅读“防御性编程(转)”

一个mnist的GAN

自己想从0实现一个GAN,读了很多博客,看了开始大神Ian J.Goodfellow的那篇论文,也看了一些视频(觉得还是看论文好,博客写的都是轻描淡写,胡扯一堆,一到具体公式就摸瞎,论文写的真的很清楚;还有就是原始论文都是用多层感知器,梯度上升什么的,现在变化很多,一般都会加卷积核什么东西,效果比论文里要好很多)

继续阅读“一个mnist的GAN”

Vim学习

vi编辑器是Visual Interface的简称,是linux最基本的文本编辑器。
vim是vi的加强版,定位就是开发工具,不是文本编辑工具,增加了很多适合程序编写的新功能。
参考书籍和网站:
《Linux系统命令及shell脚本实践指南》
菜鸟教程

继续阅读“Vim学习”

ES中的TransportClient学习——Java代码全记录

ES里有多种方式可以使用Java client对现有集群执行标准的index、get、delete和search操作,也可以在运行的集群上执行管理任务
获取client非常简单的。最常见的获取client的方式是创建TransportClient。
TransportClient的必须大版本是相同的,比如都是2.x或者5.x,小版本不同会有一些小问题。理想情况下,和ES的版本完全对应。
TransportClient在7.0会被声明不推荐deprecated,8.0就是完全移除。
建议用rest client,具体迁移有个说明,但还是要先懂TransportClient的功能,这也是这篇的意义。 继续阅读“ES中的TransportClient学习——Java代码全记录”