PR&ML之路

2023-05-16

先写篇初稿吧

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 Cookbook,pdf 可供参考。

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》(虽是讲深度学习,但涉及面很广泛)

 

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PR&ML之路 的相关文章

随机推荐

  • js前端实现语言识别(asr)与录音

    js前端实现语言识别与录音 前言 实习的时候 xff0c 领导要求验证一下在web前端实现录音和语音识别 xff0c 查了一下发现网上有关语音识别也就是语音转文字几乎没有任何教程 其实有一种方案 xff0c 前端先录音然后把录音传到后端 x
  • [Nice_try]python基础学习笔记(六)

    六 函数 局部变量 全局变量 6 1 1函数的概念 将特定功能的代码集成到一个模块中 xff0c 在需要调用的时候进行调用 可以防止内容的重复编写 6 1 2函数的定义 span class token keyword def span 函
  • 论文写作感悟

    以下是学习论文写作课程之后的一些感悟以及收获 xff0c 总结如下 xff1a 关于格式 xff1a 1 在写论文的过程中 xff0c 使用LaTeX排版系统能够让论文显得更加专业 xff0c 而且对公式 排版的处理会更加美观 2 在论文中
  • 软件工程概论第一次作业

    习题 一 单项选择 1 软件是计算机系统中与硬件相互依存的另一部分 xff0c 它是包括 1 B 2 A 及 3 D 的完整集合 其中 xff0c 1 B 是按事先设计的功能和性能要求执行的指令序列 2 A 是使程序能够正确操纵信息的数据结
  • Java递归发实现Fibonacci数列,尾递归实现Fibonacci数列,并获取计算所需时间

    递归法计算Fibonacci数列 xff1a 它可以递归地定义为 xff1a 第n个Fibonacci数列可递归地计算如下 xff1a int fibonacci int n if n lt 61 1 return 1 return fib
  • apache-options配置之Indexes

    配置 Options Indexes FollowSymLinks Indexs的配置的作用是如果不存在Index html文件的时候 xff0c 将该目录下的文件树列出来 一般在线上使用
  • gcr.io和quay.io拉取镜像失败

    k8s在使用编排 xff08 manifest xff09 工具进行yaml文件启动pod时 xff0c 会遇到官方所给例子中spec containers image包含 xff1a quay io coreos example gcr
  • yacs直接读取yaml文档(python)

    yacs在我理解是一种读写配置文件的python包 在机器学习领域 xff0c 很多模型需要设置超参数 xff0c 当超参数过多时 xff0c 不方便管理 xff0c 于是出现了很多类似yaml xff0c yacs的包 关于yacs的使用
  • 基于Gensim的Word2Vec增量式训练方法

    Word2Vec训练好以后 xff0c 随着时间的积累 xff0c 出现一些新词 xff0c 此时可能需要在已有的模型基础上重新训练 xff0c 以补充这些新词汇 xff0c 亦即增量式训练 本文分析了基于Gensim的Word2Vec的增
  • Numpy/Pytorch中函数参数dim/axis到底怎么用?

    numpy或pytorch中很多函数可指定参数dim或axis 例如sum函数 xff0c dim 61 0或dim 61 1是对矩阵列 行进行求和 xff0c 时间久了 xff0c 就搞混了 xff0c 如果是高维array tensor
  • Tensorflow中截断高斯分布(truncated norm)采样的python实现

    Tensorflow中可调用函数tf truncated normal来进行截断高斯分布的采样 什么是截断高斯分布 xff0c 看下图 xff0c 分布在 0 1和0 1处被截断了 xff0c 具体如下 import tensorflow
  • tf.contrib.image.transform与opencv中PerspectiveTransform

    tensorflow中tf contrib image transform函数可对图像做透视变换 xff0c 用法如下 读取图像 img 61 cv2 imread 39 home xp1 Pictures 004545 jpg 39 in
  • 转:模式识别 机器学习 计算机视觉 相关资料 论坛 网站 牛人...

    转自 http www cnblogs com kshenf archive 2012 02 07 2342034 html 常用牛人主页链接 xff08 计算机视觉 模式识别 机器学习相关方向 陆续更新 xff09 牛人主页 xff08
  • 李航统计学习方法EM算法三枚硬币例子Q函数推导

    具体推导如下 xff1a 上面推导省略了第i次迭代的i的标记 当得到上式以后 xff0c 可以参考 http www cnblogs com Determined22 p 5776791 html 来继续一下推导 当然 xff0c 参考博客
  • 李航博士-统计学习方法-SVM-python实现

    下面的代码是根据李航博士 统计学习方法 一书写的SVM的实现 还有些问题 xff0c 贴出来大家给些建议 usr bin env python2 coding utf 8 34 34 34 Created on Thu Oct 19 16
  • web客户编程,开发一个注册页面

    用html开发一个注册页面 xff0c 检验注册格式是否正确 Register html lt html gt lt head gt lt style type 61 34 text css 34 gt 64 import url Css
  • windows下GDAL及python接口编译过程注意事项

    Window下编译GDAL的方法在网上已经能搜到很多了 xff0c 例如http blog csdn net zhoubl668 article details 6641027 但是在实际操作中还是碰到些问题 xff0c 现在把注意事项写下
  • Matrix67:什么是P问题、NP问题和NPC问题

    前记 本想写一篇介绍P xff0c NP xff0c NPC xff0c NP hard问题的文章 xff0c 搜索了一下 xff0c 看到了Matrix67写的这篇 xff1a 什么是P问题 NP问题和NPC问题 文章写的非常清晰易懂 x
  • (转)从CNN到GCN的联系与区别——GCN从入门到精(fang)通(qi)

    转载于 xff1a 博客 1 什么是离散卷积 xff1f CNN中卷积发挥什么作用 xff1f 了解GCN之前必须对离散卷积 xff08 或者说CNN中的卷积 xff09 有一个明确的认识 xff1a 如何通俗易懂地解释卷积 xff1f 这
  • PR&ML之路

    先写篇初稿吧 12年读研 xff0c 我初次接触到机器学习模式识别 xff08 PR amp ML xff09 这个方向 当时PR amp ML绝对不像今天这么火 xff0c 甚至时至今日 xff0c 大家也只是知道人工智能 xff0c 不