SmirkCao / Lihang
- среда, 6 марта 2019 г. в 00:17:57
Jupyter Notebook
Statistical learning methods, 统计学习方法 [李航] 值得反复读. [笔记, 代码, notebook, 参考文献, Errata]
[TOC]
Review第一遍的时候, 发现之前很多东西整理的不好。所以, 后面会大整改一遍, 期待在Review02版更新吧。
书很薄, 但是很多细节展开之后相对复杂。慢慢来, 希望能理的越来越清晰易懂。
这部分内容并不对应《统计学习方法》中的前言, 书中的前言写的也很好, 引用如下:
- 在内容选取上,侧重介绍那些最重要,最常用的方法,特别是关于分类与标注问题的方法.
- 力图用统一框架来论述所有方法,使全书整体不失系统性.
- 适用于信息检索及自然语言处理等专业大学生,研究生
另外还有一点要注意作者的工作背景
作者一直从事利用统计学习方法对文本数据进行各种智能性处理的研究, 包括自然语言处理、信息检索、文本数据挖掘。
如果用我这个模型来实现相似度查找,和李老师这本书神似的就是《半导体光电器件》了,只可惜昔时年少,未曾反复研读。
希望在反复研读的过程中,将整个这本书看厚,变薄。这个系列的所有的文档,以及代码,没有特殊说明的情况下"书中"这个描述指代的都是李航老师的《统计学习方法》。 其他参考文献中的内容如果引用会给出链接。
在Refs中列出了部分参考文献,有些参考文献对于理解书中的内容是非常有帮助的。关于这些文件的描述和解释会在参考部分对应的Refs/README.md 中补充。这个文档中也添加了其他参考文献的一些说明。
方便参考文献下载, 在review02的时候,添加了ref_downloader.sh,可以用来下载书中列举的参考文献,更新过程随着review02的进行逐渐完成。
另外,李航老师的这本书,真的很薄,但是几乎每句话都会带出很多点,值得反复研读。
书中在目录之后有个符号表,解释了符号定义,所以如果有不理解的符号可以过来查表;在本书后面有个索引,可以通过索引查找对应的符号表示的含义在书中出现的位置。在本Repo中,维护了一个glossary_index.md,目的是给对应的符号补充一些说明,以及直接标注符号对应的页码,进度随review更新。
每个算法,示例结束之后会有一个
读书的时候经常会有关于对数底数是多少的问题,有些比较重要的,书中都有强调。 有些没有强调的,通过上下文可以理解。另外,因为有换底公式,所以,底具体是什么关系不是太大,差异在于一个常系数。但是选用不同的底会有物理意义和处理问题方面的考虑,关于这个问题的分析,可以看PRML 1.6中关于熵的讨论去体会。
另外关于公式中常系数的问题,如果用迭代求解的方式,有时对公式做一定的简化,可能会改善收敛速度。个中细节可以实践中慢慢体会。
这里插入个图表,列举了各个章节所占篇幅,其中SVM是大部头,占了很大的篇幅,另外DT,HMM,CRF也占了相对较大的篇幅。
章节之间彼此又有联系,比如NB和LR,DT和AdaBoost,Perceptron和SVM,HMM和CRF等等,如果有大章节遇到困难,可以回顾前面章节的内容,或查看具体章节的参考文献,一般都给出了对这个问题描述更详细的参考文献,可能会解释你卡住的地方。
统计学习方法三要素:
关于最大熵的学习,推荐阅读该章节的参考文献[1],Berger, 1996, 有益于书中例子的理解以及最大熵原理的把握。
那么, 为什么LR和Maxent要放在一章?
都属于对数线性模型
都可用于二分类和多分类
两种模型的学习方法一般采用极大似然估计, 或正则化的极大似然估计. 可以形式化为无约束最优化问题, 求解方法有IIS, GD, BFGS等
在Logistic regression中有如下描述,
Logistic regression, despite its name, is a linear model for classification rather than regression. Logistic regression is also known in the literature as logit regression, maximum-entropy classification (MaxEnt) or the log-linear classifier. In this model, the probabilities describing the possible outcomes of a single trial are modeled using a logistic function.
还有这样的描述
Logistic regression is a special case of maximum entropy with two labels +1 and −1.
这个章节的推导中用到了$y\in \mathcal{Y}={0,1}$的性质
有时候我们会说,逻辑回归在NLP方面叫做Maxent
姑且在这里分一下,因为后面HMM和CRF通常会引出概率图模型的介绍,在《机器学习,周志华》里面更是用了一个单独的概率图模型章节来包含HMM,MRF,CRF等内容。另外从HMM到CRF本身也有很多相关的点。
在书中第一章有说明监督学习的三种应用:分类,标注和回归。在第十二章中有补充,本书主要考虑前两者的学习方法。据此, 在这里分割也是合适的,前面介绍分类模型, 少部分提到了回归,后面主要介绍标注问题。
EM算法是一种迭代算法, 用于含有隐变量的概率模型参数极大似然估计, 或者极大后验概率估计. (这里的极大似然估计和极大后验概率估计是学习策略)
如果概率模型的变量都是观测变量, 那么给定数据, 可以直接用极大似然估计法, 或贝叶斯估计法估计模型参数.
注意书上这个描述如果不理解,参考CH04中朴素贝叶斯法的参数估计部分。
这部分代码实现了BMM和GMM, 值得看下
关于EM, 这个章节写的不多, EM是十大算法之一, EM和Hinton关系紧密, Hinton在2018年ICLR上发表了Capsule Network的第二篇文章《Matrix Capsules with EM Routing》
这章就简单的几页, 可以考虑如下阅读套路
整个这本书里面各章节也不是完全独立的,这部分希望整理章节之间的联系以及适用的数据集。算法到底实现到什么程度,能跑什么数据集也是一方面。