放牧代码和思想
专注自然语言处理、机器学习算法
    时间有限,只有GitHub上的issue能及时处理,大约每周末一次。另外,不要叫我楼主,谢谢。

机器学习

第4页
计算指数函数的和的对数

计算指数函数的和的对数

hankcs阅读(591)评论(0)

译自哈佛大学《Computing Log-Sum-Exp》。在许多ML库中,经常看到这类函数,如scipy中的misc.logsumexp、CRF++中的CRFPP::logsumexp,其意义何在? 这篇文章旨在讲解这个必学,却没有任何M...

数值优化:理解L-BFGS算法

数值优化:理解L-BFGS算法

hankcs阅读(866)评论(0)

译自《Numerical Optimization: Understanding L-BFGS》,本来只想作为学习CRF的补充材料,读完后发现收获很多,把许多以前零散的知识点都串起来了。对我而言,的确比零散地看论文要轻松得多。原文并没有太多...

隐马尔可夫模型

隐马尔可夫模型

hankcs阅读(1323)评论(1)

本文是《统计学习方法》第10章的笔记,用一段167行的Python代码实现了隐马模型观测序列的生成、前向后向算法、Baum-Welch无监督训练、维特比算法。公式与代码相互对照,循序渐进。 HMM算是个特别常见的模型,早在我没有挖ML这个坑...

EM算法及其推广

EM算法及其推广

hankcs阅读(1355)评论(7)

本文是《统计学习方法》第九章的笔记,注解了原著的部分公式推导,补充了另一个经典的双硬币模型,并且注释了一份数十行的EM算法Python简明实现。 如果概率模型的变量都是观测变量(数据中可见的变量),则可以直接用极大似然估计,或者用贝叶斯估计...

提升方法

提升方法

hankcs阅读(817)评论(1)

本文是《统计学习方法》第8章提升方法的笔记,整合了《机器学习实战》中的提升树Python代码,并添加了注解和PR值计算代码。《方法》重理论,但不易理解,《实战》重实践,但缺乏理论基础,特别是AdaBoost算法的解释、提升树与加法模型的关系...

libsvm使用说明

libsvm使用说明

hankcs阅读(1408)评论(1)

本文记录了libsvm的使用方法、参数说明、数据格式、模型格式,并且对数据标准化和自动寻参等,做了整理。对libsvm的Java代码,整理成了Maven结构,注释了主要接口。本来准备完整地将libsvm源码剖析一遍的,后来太忙顾不上了,连这...

支持向量机

支持向量机

hankcs阅读(1697)评论(4)

本文是《统计学习方法》第七章《支持向量机》的笔记,附带了少量注解和背景知识的补充;后半部分将《机器学习实战》支持向量机的Python代码加以整理注释,与公式放到一起形成对照,辅助理解。私以为,没有泛函分析基础的人是无法深刻理解支持向量机的,...

反向传播神经网络极简入门

反向传播神经网络极简入门

hankcs阅读(3071)评论(25)

我一直在找一份简明的神经网络入门,然而在中文圈里并没有找到。直到我看到了这份162行的Python实现,以及对应的油管视频之后,我才觉得这就是我需要的极简入门资料。这份极简入门笔记不需要突触的图片做装饰,也不需要赘述神经网络的发展历史;要推...

拉格朗日对偶性

拉格朗日对偶性

hankcs阅读(1508)评论(4)

在看《统计学习方法》支持向量机一章的时候,看到“应用拉格朗日对偶性(参阅附录C),通过求解对偶问题得到原始问题的最优解”一句,于是往下递归学习了一下附录C的拉格朗日对偶性。名曰学习,实则是摘抄,加入了少量个人理解与背景补充。毕竟定理和推论看...

逻辑斯谛回归与最大熵模型

逻辑斯谛回归与最大熵模型

hankcs阅读(1844)评论(4)

本文希望通过《统计学习方法》 第六章的学习,由表及里地系统学习最大熵模型。文中使用Python实现了逻辑斯谛回归模型的3种梯度下降最优化算法,并制作了可视化动画。针对最大熵,提供一份简明的GIS最优化算法实现,并注解了一个IIS最...

我的开源项目

HanLP自然语言处理包基于DoubleArrayTrie的Aho Corasick自动机