机器学习你不可不懂的线性代数和矩阵微分

作者:陈灿,2015年新加坡国立大学毕业后,2016年加入腾讯手机QQ浏览器资讯团队。目前在团队中主要从事文本分类、内容质量识别, NLP相关方面的算法工作。

前言

本文介绍本人在学习数学以及接触机器学习以来的一些感悟和书单。从大学到研究生,把自己对线性代数和矩阵论一点点感悟和心得发在这里,大家一起进步学习。该专栏主要介绍一些机器学习和编程相关的内容,同时也记录下工作的心得和体会,来提高自己的总结提炼能力。

你随机问一个学计算机专业的同学,现在哪个领域最火?十之八九会告诉是机器学习。相信不少码农们都已经在这个“风口”或多或少部署过TensorFlow,Caffe的框架,写过不少代码了。Google,Facebook开源了许多优秀的机器学习库,将许多机器学习算法进行了封装,这让我们直接调用一个接口就行,只需要关心性能的优化,程序并行的实现。于是有一种说法戏称搞深度学习的码农就是"调参侠",算法的具体实现就是个黑盒子,码农们在外面调调模型的参数就好。可是,人类的天性就是对不可知的事情有强烈的恐惧感,至少如果让我天天对着一个黑盒子调调参数就得到比较不错的结果,然后给人演示的话,我会感到很慌张,因为你不知道突然哪一天它就抽风了。这种恐惧感驱使我去了解黑盒子里面的基本原理是什么,去繁就简,去体会算法背后最基本的数学,去了解整个框架是如何实现的,这样才能算是找到了迷宫的出口吧。

机器学习本质上无非是应用统计学。通俗来讲,就是机器从大数据中借助数学工具去习得其中的规律。既然是应用统计学,那就是数学的范畴。上一辈人经常会跟我们讲“学好数理化,走遍天下都不怕”。到如今,学好数学,英语,掌握编程这门手艺,不少做技术的同学奉为圭臬。王国维曾有著名的读书三境界, 鄙人不才,在学习数学和机器学习中也有一点感悟和大家先分享下。

“昨夜西风凋碧树,独上高楼,望尽天涯路”。刚开始看到满天的公式不知所云,觉得很神奇,怎么会有人得到那么复杂的式子,有一种崇拜的感觉,也有一种恐惧的感觉。

“衣带渐宽终不悔,为伊消得人憔悴”。跨过了第一个阶段,就开始自学做研究所需要用到的数学知识。可是那么多工程方面的数学书,我应该去翻哪一些呢?所幸在国外得到导师悉心栽培和指点,现在依然还记得在导师办公室,他对一个问题的深刻见解和直接在白板上进行数学建模的过程,突然让我想到,工程研究和理论研究不一样,很多时候我们只需要把我们本科学过的数学分析、线性代数、概率论和统计再上升一点到矩阵论,随机过程,凸优化, 那么对于工程应用而已,这些底子修炼好,问题不是那么大了。这一个阶段经历过后,就明白哪些书可以花很多时间去读,哪些书可以走个大概即可。

"众里寻他千百度,蓦然回首,那人却在灯火阑珊处"。单纯看数学书是没有什么用的,因为你根本不知道你有没有消化和深刻理解公式背后的深刻意义:比如说方阵的特征值分解,只是看一遍书的话保证过不了三个月,肯定就忘记这个分解具体形式呢。想要能达到看穿本质的效果,这个阶段必须要有一定习题量的保证以及最好上是工程上的实现。

说了这么多,很多同学还是希望能给点干货入门机器学习的数学,告诉他们什么样的书值得一读,既通俗易通,又是经典之作。只可惜我也没有找到这样的书。现在市场上出现的无外乎"N天搞定派",“XX实战派”,教导我们多少天搞定TensorFlow的源码,Python在机器学习上的实战。这一类书并不能说它不好,至少满足了一部分读者的需求。但要想获得至上武功,内功的修炼必不可少。在此,我把所学过的,个人认为是把握机器学习深刻本质内容的好书和大家分享一下,感谢他们对我的无私帮助和深刻影响。

基本的数学方面的书籍有:

  • 基本的科普性质有趣的书可以看看《Probablity Theory》。
  • MIT大牛Gilbert Strang的《Introduction to Linear Algebra》这是最基础的一本。在此之外,来自俄罗斯的Igor R. Shafarevich 的 《Linear Algebra and Geometry》,这本书把线性代数的几何本质描述地非常清晰。
  • 概率论和统计方面:国内陈希儒老先生的《概率论与数理统计》。
  • 优化和数值计算方面的书:斯坦福大牛Stephen Boyd的《Convex Optimization》主要讲解的是凸优化方面的技巧。国内的话大家可以看一下张贤达的《矩阵分析与应用》。数值计算方面可参考Richard的《Numerical Analysis》。
  • 随机过程方面:自然语言处理这一个细分领域很多都涉及到基础的随机过程知识,比如说马尔科夫链等等。由于随机过程通常和概率分不开,所以大家可以看看Hisashi Kobayashi写的《Probablity, Random Process and Statistical Analysis》,这本书也是我在国大上课用的教材。写的还算是不错的。

数学的书籍,大家可以很多当做茶余饭后的“甜点”看一看,翻一翻。实在读不进去,可以去Youtube上找找3Blue1Brown录的视频,科普的效果还是很不错的。在机器学习领域,也有几本不错的书籍和资料与大家一起分享。

  • 机器学习两本圣经: Bishop的《Pattern Recognition and Machine Learning》,这本书在网上有翻译过的中文版,但我感觉翻译后很多东西都没有表达出来,还是能看原版尽量看原版就好了。同样来自斯坦福的统计大牛Friedman的《The Element of Statistical Learning》,这本书对统计的功底有一定的要求,大家觉得难度太大的话可以看它的简化版《Introduction to Statistical Learning》,这本书结合R语言进行讲解,对于喜欢结合编程来理解知识的同学可以看一看。
  • 现在业界在深度学习方面慢慢有了很多应用,来自深度学习的三大牛人之一的Bengio的《Deep Learning》对深度学习进行了比较深入的讲解。我初步看了前面数学的介绍部分,深度比较适合有一定基础的同学。
  • 在深度学习领域,同样也要求至少对概率图模型有一定的了解。最基础的讲述概率图模型的经典Tutorial我认为是神经网络的鼻祖之一Michael Jordan的《Learning in Graphical Models》,这本书在讲解概率图模型之前会对贝叶斯理论和图方面进行详细的说明。当然,大家熟知的Daphne Koller写的《Probabilistic Graphical Model》,但说句实话,这本书真不太适合没一点基础的同学入门来看。除此以外,我认为CMU的邢老师的课是非常适合大家看的,具体网址如下:10708 Probabilistic Graphical Models
  • 在更加细分的领域,比如神经网络在计算机视觉方面的应用,斯坦福的李飞飞教授的课件讲的很不错,大家可以通过做实际的项目来加深对卷积神经网络的理解。具体地址为: CS231n: Convolutional Neural Networks for Visual Recognition

第一篇先写这么多,后续慢慢继续加油。

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

陈灿的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习之旅

写给想转行机器学习深度学习的同学

update 1:很多同学还是私信我,让我推荐或者提供一些电子书给他们,我这边也打包了一些我认为比较重要的,如果有需要的同学可以「邮箱」联系我。申明,我所发送的...

804

最佳机器学习入门级资源

这是一篇非常难写的文章,同时我希望这篇文章对于入门学习的朋友是真正有价值、有帮助的。

20811
来自专栏专知

【ICML2018】Scikit-learn 作者之一可微分动态编程51页教程【附下载】

【导读】一年一度的国际机器学习会议( ICML ),于7月15日在瑞典斯德哥尔摩闭幕,其中一篇来自法国Inria Parietal,也是scikit-learn...

580
来自专栏PPV课数据科学社区

【知乎强大书单】在数据分析、挖掘方面,有哪些好书值得推荐?

入门读物: 深入浅出数据分析 (豆瓣) 这书挺简单的,基本的内容都涉及了,说得也比较清楚,最后谈到了R是大加分。难易程度:非常易。 啤酒与尿布 (豆瓣) 通过案...

3746
来自专栏ACM算法日常

浅谈ACM算法学习与有效训练

一、什么是有效地训练?   很多ACMer入门的时候,都被告知:要多做题,做500多道就变牛了。其实,这既不是充分条件、也不会是必要条件。   我觉得一般情...

462
来自专栏大数据文摘

炮灰模型:女生如何选择追求者的数学模型?

1352
来自专栏华章科技

炮灰模型:女生如何选择追求者的数学模型?

上周我的一个朋友第N 次向女生表白遭到拒绝,作为好朋友的我除了同情之外觉得应该做点什么。之前一次聊天受到 菠菜 的启发,加上出于对数学的兴趣,我对女生“选择与拒...

643
来自专栏钱塘大数据

【思维导图】机器学习基础之「统计篇」

本文用一系列「思维导图」由浅入深的总结了「统计学」领域的基础知识,是对之前系列文章做的一次完整的梳理,也是我至今为止所有与统计有关的学习笔记。众所周知,「统计学...

34013
来自专栏专知

【干货】机器学习经典 PRML 最新 Python 代码实现,附最全 PRML 笔记视频学习资料

【导读】最近GitHub上网友ctgk公布了Python实现的经典机器学习图书《Pattern Recognition and Machine Learning...

7486
来自专栏人工智能头条

强烈推荐的机器学习,深度学习课程以及python库

1774

扫码关注云+社区