假装自己是人类
QQA: 什么是 Servlet

Servlet 没有标准的中文译名,我们会在学习 Java Web 编程(如 Spring)时遇到,你知道它是什么吗?

QQA: 如何启用 @Autowired

@Autowired 是 Spring 提供的一个注解,作用是自动装配 Bean 所需要的依赖。但 @Autowired 只是告诉 Spring 当前的 Bean 依赖了其它的 Bean,那么如何让 Spring 真正“启用”自动装配的功能呢?

(Quick Question and Answer 系列旨在对小问题做简短解答)

WGAN 笔记

Wasserstein GAN(WGAN) 解决传统 GAN 的训练难,训练过程不稳定等问题了。WGAN 的背后有强劲的数学支撑,因此要想理解这它的原理,需要理解许多数学公式的推导。这个笔记尽量尝试从直觉的角度来理解 WGAN 背后的原理。

ƒ-divergence GAN 笔记

f-divergence GAN 是对 GAN 框架的理论统一,本文学习过程中的一些笔记,包括基本公式的推导和重要概念的理解。

学习资料是李宏毅老师 关于 WGAN 的教学视频 视频里深入浅出地介绍了许多 GAN 的相关知识。不需要太多的数学基础就能听懂,强力 推荐。

Back Propagation 笔记

Michael Nielsen 的 深度学习 文章里对 BP 算法有了相当全面的介绍,网上也有中文翻译版本。本文是自己学习的一些笔记,主要是抄一遍公式的证明来加强记忆。

逻辑回归实验

最近在看 Andrew Ng 老师的 机器学习课程 ,这篇文章试图通过编程的方式,一步步实验课程中的知识点,验证其中的一些结论,从而加深对逻辑回归的理解。

性能优化三件套

提高性能最怕是没有方向,没有头绪的时候不妨试试三件套:并行、异步、加缓存。

决策树 (decision tree)

通过训练,我们可以从样本中学习到决策树,作为预测模型来预测其它样本。两个问题:

  1. 我们说要训练/学习,训练/学习什么?
  2. 为什么决策树可以用来预测?或者说它的泛化能力的来源是哪?
核密度估计(kernel density estimation)

有一些数据,想“看看”它长什么样,我们一般会画直方图(Histogram)。现在你也可以用核密度估计。

线段树 (区间树)

不查不知道,一查吓一跳,“线段树”这个名字的定义真是混乱到一定程度了。

维基百科 Segment Tree 说它是一种 数据结构,用来存储区间或线段,用来在 O(log n) 的时间内查找包含某个点的所有区 间。一般线段树是静态的结构,不需要修改的,但一些教程又很强调线段树的修改,比如 说“lazy 节点是线段树的精髓“。与此同时,另一种结构区间树(Interval Tree) 在结构和功能上和线段树又十 分接近。看来看去,线段树,区间树在维基百科、教材、博客里的介绍经常大不相同。

本文里,我们以解决区间最小值(RMQ)问题中使用的数据结构为基准,讲讲“线段树”的基本思想。

二叉索引树

二叉索引树(Binary Indexed Tree) 也称为 Fenwick tree,中文也称树状数组。它可以在 O(log n) 的时间内得到数组的前缀和(A[1] + A[2] + … + A[i]),且在 O(log n) 时间内支持动态修改数组的值。

Git: merge vs rebase

Merge 还是 Rebase,这是一个问题。网上有许多教程说明二者的区别,之前我写的一个 关于 Git 的 PPT 里也说过两者的区别。这篇文章里,我们从分支图的角度,看看两种策略下产生的分支图有什么区别。

不要轻易使用元编程

元编程就像核弹,自己梦寐以求,却不希望别人拥有。

一般说元编程分为两类,一类是宏,在编译时期生成代码;另一类是运行时修改代码的行 为。而不论是哪一类,我的建议是在决定使用之前要慎重考虑。元编程能让我们扩展语言 本身,是十足的黑魔法;但用好不易,容易造成团队/社区在意见是实现上的分裂。(另 外这篇文章里主要是对元编程的一些吐糟,并不包含基础知识的介绍。)

DIP vs IoC vs DI

你听过 SOLID 设计原则吗?你了解 Spring 里的控制反转(IoC)吗?你知道依赖注入(Dependency Injection)和它们有什么区别吗?虽然它们的形式多样,但内核却是简单的概念。我们就来看看它们到底是什么。

Java Annotation Processor 小记

最近基于工作上的需求调研了下 Java Annotation Processor 的使用方式,开篇博客记录下学习过程中遇到的坑。可以由于平时用到 Annotation 的场景特别少,因此能搜索到的教程特别有限,也希望文章在某种程度上填补部分空白吧。