前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习你不可不懂的线性代数和矩阵微分

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

原创
作者头像
陈灿
修改2017-07-17 10:50:37
2.6K0
修改2017-07-17 10:50:37
举报
文章被收录于专栏:陈灿的专栏陈灿的专栏

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档