放牧代码和思想
专注自然语言处理、机器学习算法
    This thing called love. Know I would've. Thrown it all away. Wouldn't hesitate.

机器学习

第5页
CS229编程1:线性回归

CS229编程1:线性回归

阅读(6451)评论(3)

看完《统计学习方法》后,最近以将近一天一课速度把斯坦福的机器学习公开课看了大半。速度很快但感觉没有《方法》扎实,应该是没有足够的实践所致。正巧最近也在学Matlab,于是把课后的编程练习过一遍,一举两得。 目标 作为CS229的第一次编程练...

序列标注模型算法比较

序列标注模型算法比较

阅读(6428)评论(5)

偶然浏览到一篇挺有实际参考价值的论文Nguyen and Guo(2007)。该文比较了一些模型和算法在词性标注和OCR任务上的性能,包括HMM、CRF、AP、Structured SVM、M3N、SEARN算法以及SLE算法,对算法选型很...

CRF++代码分析

CRF++代码分析

阅读(13897)评论(10)

本文按照调用顺序抽丝剥茧地分析了CRF++的代码,详细注释了主要函数,并指出了代码与理论公式的对应关系。内容包括拟牛顿法的目标函数、梯度、L2正则化、L-BFGS优化、概率图构建、前向后向算法、维特比算法等。 背景知识请参考《条件随机场》。...

条件随机场

条件随机场

阅读(17231)评论(2)

本文是《统计学习方法》第11章的笔记,在课本的基础上加入了自己的注释和理解。作为CRF的入门读物,著名的几篇英文教程难度稍高,还是李航博士的《方法》比较适合初学者。其拟牛顿法讲解可以直接与CRF++的代码对应,实为难得。我还单独写了篇《CR...

计算指数函数的和的对数

计算指数函数的和的对数

阅读(8134)评论(0)

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

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

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

阅读(20808)评论(1)

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

隐马尔可夫模型

隐马尔可夫模型

阅读(13314)评论(3)

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

EM算法及其推广

EM算法及其推广

阅读(11141)评论(12)

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

提升方法

提升方法

阅读(6470)评论(3)

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

libsvm使用说明

libsvm使用说明

阅读(12045)评论(2)

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

我的作品

HanLP自然语言处理包《自然语言处理入门》