PR&ML之路

先写篇初稿吧

12年读研,我初次接触到机器学习模式识别(PR&ML)这个方向。当时PR&ML绝对不像今天这么火,甚至时至今日,大家也只是知道人工智能,不知道人工智能再次兴起与PR&ML有什么关系。无所谓,不研究这些确实不需要了解这些,但是如果你想入坑PR&ML,现在确实是好时机:打开网页,输入关键词“机器学习”、“模式识别”、“神经网络”、能得到太多相关文献、博客、书籍的介绍,这大大降低了学习难度,加速了学习进度。当时我花费几个月甚至几年时间都找不到的答案,现在到处都是,以至于不知道看哪些好。但是多总比少,甚至没有强。从我入坑到今天,积攒了一些学习经验、资料,拿来分享。多数资料都是我看过的,觉得不错的,各位在学习过程中如果产生了和我相似的疑问,可以对号入座,看一下相关资料,或许可以解决你一直以来的疑问。总结一句话,学这个方向,不能急,因为随便一个问题都不容易短时间理解透彻,需要长时间消化感悟。行文无条理,想到哪里写哪里,务怪。

(题外话:现在很多人在学习PR&ML,尤其是深度学习及其相关领域,工业界学术界也都疯似的入坑Deep Learning,好像只要和Deep挂上勾就很高大上。不过最近有人也在唱衰DL,于是有人开始问到底要不要入坑?其实,这些摇摆的人都是有投机心理的啦,真正喜欢这个领域的,甚至以此为自己的研究方向的人,不管PR&ML是否衰落,都会继续这一方向的研究,直至再次将它推向浪潮之巅)

1. 基本运算:向量、矩阵对标量求导,函数式对向量矩阵求导是个什么玩意?

对于初学者,你应该会有这样的疑问吧?课本上从来没出现过这些运算,你也不太可能从所学教材里找到相关介绍。甚至你会对满页的用向量矩阵表示的运算感到反感,因为你看惯了标量直接表示的加减乘除运算,突然换用矩阵向量来表示,极其不适应。为什么非得用向量矩阵表示这些运算?向量、矩阵到底是谁发明的,为什么它们有这么神奇的能力?

如果你有过上述疑虑,不能怪你,只能说在从基础教育转向研究型教育上,教材或引导有断层。向量、矩阵对标量甚至对矢量求导本质上都是按照一定的规则对标量的求导,只是这个规则没有严格的界定,只是约定俗成。例如y=\bold{w}^T\bold{x}y是标量,\boldsymbol{\mathbf{w}}=[w_1,w_2,...,w_n]^T,\boldsymbol{\mathbf{x}}=[x_1,x_2,...x_n]^T均为列向量,那么y\boldsymbol{\mathbf{w}}求导本质上是y分别对w_1,...,w_n求导,然后将求导结果按照一定的规则排列成向量,一般按照分母布局排列,即对谁求导就按其方式排列,这样得到的结果就是\bold{x}

这一部分的疑问请详细看资料:闲话矩阵求导

至于搞机器学习或其他研究都要用矩阵向量来表示相关问题,这其实就是方便问题的表述,运算。你或许会疑问,为什么感觉用矩阵向量表示后,感觉问题的表述并不只管,分析求解也没觉得方便,这只是一种错觉,习惯而已。用多了,熟悉了就能感觉到向量、矩阵运算的威力。推荐一个公众号马同学高等数学,或从网上搜索他的文章,写的很只管易懂,不仅仅是关于矩阵的介绍。

最后,规则很不容易记住,那平时遇到矩阵求导相关问题怎么办?有一本小册子,The Matrix Cookbookpdf 可供参考。

2. PCA的原理是什么?SVD又是什么?

PCA与大学线性代数中矩阵的特征分解有关,PCA即主成分分析,可以从一堆数据中提取出能表示数据主要特征的成分,非常神奇,刚开始接触这一算法极其不理解为什么通过对数据的协方差矩阵进行特征分解提取top k特征值对应的特征向量就可以用他们作为基描述数据主要特征,非常困惑呀...直到看了文章pdf ,还有这篇。现在,你也可以看Andrew Ng的机器学习视频来理解PCA的推导。事实上,PCA还有很多不同的解释,应用,各位可以自己去搜索。SVD与PCA同样都属于“矩阵分解”范畴,SVD可以对非方阵进行分解,其分解同样具有很好的直观解释性,很重要,考试经常考...一个直观的例子解释,还有这篇。矩阵分解是PR&ML里的一个重要方向,大家可以搜索其他文献了解最新进展。

3. 运筹学、优化问题

除了需要掌握线性代数、概率统计的知识外,还需要懂一些凸优化、非线性优化,运筹学等知识。如果想成为PR&ML领域的大牛,优化是你绕不过去的槛。所有PR&ML的问题最终都得靠这部分知识求解,没办法,死磕吧。这部分内容就没办法一一介绍了,但是你碰到的问题,如线性优化方法单纯型、凸优化,牛顿迭代,拟牛顿迭代,对偶理论,KKT条件等等,在下面列举的材料里一般都能找到细致入微的讲解,而且是我遇到的介绍的比较细致的材料,强烈推荐。

1. A toturial on convex optimization

2. Convex Optimization Overview

3. Convex Optimization-Stephen Boyd

4. Optimization-Richard Weber

5. An Introduction to the Conjugate Gradient Method Without the Agonizing Pain(共轭梯度)

6. Introduction to numerical continuation methods-Allgower E.L., Georg K-Colorado-1990

7. Introduction to Operations Research-Frederick S Hillier 9th Edition

8. Linear and Nonlinear Optimization Second Edition

9. Numerical Optimization

10. KKT_Condition

11. 从对偶问题到KKT条件

4. 傅里叶变化小波分析

这部分对于非数学专业的人来说也是一大难点。关于傅里叶变化,看神文,关于二维傅里叶,如图像傅里叶变化更直观的物理解释一直没找到合适的资料,有知道的欢迎留言。

小波分析有本上课时老师推荐的,难度不小

5. 概率图

这里的内容比较权威的书籍是Daphne Koller的《Probabilistic Graphical Models: Principles and Techniques》,此书已由王飞跃教授翻译为中文版。另外,网上也有授课,难度不小。这部分内容涉及马尔科夫链、网、最大熵、条件随机场、贝叶斯网等等经典的机器学习模型,值得每一位入坑的人了解。

6. 信息论基础

机器学习部分涉及到的信息学的知识主要是围绕“熵”展开的,如衡量两个分布差异的交叉熵等,相关内容从下文推荐的书里了解即可。

7. 图像视频目标检测分割分类等

这部分内容实在太庞大了,尤其是今天,相关内容更新非常快,建议直接阅读文献。搜索资源IEEE、Elsevier、ACM等。

一本通过马尔科夫进行图像分析的图书

8. 吉布斯采样

为什么把吉布斯采样单独拿出来,因为这篇文章是我看到的最易懂的,写的太好了,所以重点分享

9. 高斯分布

高斯分布的重要性不言而喻,分享一篇《正态分布的前世今生》同样是靳志辉同志写的

10. 谱分类

A Tutorial on Spectral Clustering

11.稀疏表示

1. A survey of sparse representation: algorithms and applications

12. 流行学习

待整理...欢迎推荐

13. 低秩

欢迎推荐...

14. 算法及应用

1. 拼写错误检测更改链接

2.曾经的王者:支持向量机SVM,深度学习之前,SVM是扛把子。而且学习、理解并尝试实现SVM对你入门机器学习帮助很大,是接触优化理论的一个很好的入门例子。

 

END:机器学习教材推荐

0. 吴军《数学之美》,全文几乎无公式,讲解深入浅出,非常适合机器学习入门

1. 周志华西瓜书《机器学习》,内容较新适合初学者

2. 李航蓝皮书《统计学习方法》,最可贵的,书中好多例子,学过就能上代码呀

3. BISHOP《Pattern Recognition and Machine Learning》,大神之作,至少大三再看吧

4. Bengio《Deep Leaning》(虽是讲深度学习,但涉及面很广泛)

 

先这样吧,得干活了...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值