专栏首页陈灿的专栏机器学习你不可不懂的线性代数和矩阵微分
原创

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

作者:陈灿,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 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 观点 | 我们该如何学习机器学习中的数学

    数学达到什么水平才可以开始机器学习?人们并不清楚,尤其是那些在校期间没有研究过数学或统计学的人。

    机器之心
  • 【Hacker News最火教程】机器学习必备的数学知识

    【新智元导读】对于很多入坑机器学习的同学来说,数学可能是比较艰辛的部分。本文作者介绍了构建机器学习产品、或进行机器学习研究所需的数学背景,以及来自机器学习工程师...

    新智元
  • 实习商汤,校招华为,我的深度学习之路

    尽听说现在国内外一线互联网巨头,包括后起的独角兽,对 AI 人才的需求非常大,Google、Facebook 为了抢 AI 人才都快 battle 起来了。

    用户1737318
  • 详解机器学习之the Learning Problem

    阅读大概需要10分钟 Why do we learn Machines Learning 之前虽然学过逻辑回归LR,支持向量机SVM等机器学习的零星小片段,还有...

    zenRRan
  • 代码将退出历史舞台:像训狗一样训练计算机

    用户1737318
  • 代码将退出历史舞台:像训狗一样训练计算机

    计算机尚未出现之前,大多数经验丰富的心理学家都以为大脑就像个不可知的黑匣子。我们可以分析对象的行为——比如著名的巴普洛夫实验:摇响铃铛会让狗分泌唾液,但思维、记...

    CSDN技术头条
  • 深度 | 微软亚洲研究院刘铁岩博士:迎接深度学习的“大”挑战(下)

    AI科技评论按:本文根据刘铁岩博士在中国人工智能学会AIDL第二期人工智能前沿讲习班*机器学习前沿所作报告《迎接深度学习的“大”挑战》编辑整理而来,发文前已得到...

    AI科技评论
  • 【机器学习博士竞争力对比】美国ML高薪岗位排名及职业发展分析

    【新智元导读】要不要读机器学习博士?根据美国教育职业咨询网站 80000Hours 的分析,答案是肯定的。如果你适合这份职业,攻读机器学习博士可能是你对社会产生...

    新智元
  • 学习机器学习需要具备怎样的数学水平?

    在过去的几个月里,我一直和一些人交流,他们已经开始切入数据科学领域并积极使用机器学习(ML)技术来探索统计规律、或构建完善的数据驱动产品。然而,我发现很多情况下...

    小莹莹
  • 21个必须知道的机器学习开源工具!

    你肯定已经了解流行的开源工具,如R、Python、Jupyter笔记本等。但是,除了这些流行的工具之外还有一个世界——一个隐藏在机器学习工具下的地方。这些并不像...

    AI科技大本营

扫码关注云+社区

领取腾讯云代金券