作者:陈灿,2015年新加坡国立大学毕业后,2016年加入腾讯手机QQ浏览器资讯团队。目前在团队中主要从事文本分类、内容质量识别, NLP相关方面的算法工作。
本文介绍本人在学习数学以及接触机器学习以来的一些感悟和书单。从大学到研究生,把自己对线性代数和矩阵论一点点感悟和心得发在这里,大家一起进步学习。该专栏主要介绍一些机器学习和编程相关的内容,同时也记录下工作的心得和体会,来提高自己的总结提炼能力。
你随机问一个学计算机专业的同学,现在哪个领域最火?十之八九会告诉是机器学习。相信不少码农们都已经在这个“风口”或多或少部署过TensorFlow,Caffe的框架,写过不少代码了。Google,Facebook开源了许多优秀的机器学习库,将许多机器学习算法进行了封装,这让我们直接调用一个接口就行,只需要关心性能的优化,程序并行的实现。于是有一种说法戏称搞深度学习的码农就是"调参侠",算法的具体实现就是个黑盒子,码农们在外面调调模型的参数就好。可是,人类的天性就是对不可知的事情有强烈的恐惧感,至少如果让我天天对着一个黑盒子调调参数就得到比较不错的结果,然后给人演示的话,我会感到很慌张,因为你不知道突然哪一天它就抽风了。这种恐惧感驱使我去了解黑盒子里面的基本原理是什么,去繁就简,去体会算法背后最基本的数学,去了解整个框架是如何实现的,这样才能算是找到了迷宫的出口吧。
机器学习本质上无非是应用统计学。通俗来讲,就是机器从大数据中借助数学工具去习得其中的规律。既然是应用统计学,那就是数学的范畴。上一辈人经常会跟我们讲“学好数理化,走遍天下都不怕”。到如今,学好数学,英语,掌握编程这门手艺,不少做技术的同学奉为圭臬。王国维曾有著名的读书三境界, 鄙人不才,在学习数学和机器学习中也有一点感悟和大家先分享下。
“昨夜西风凋碧树,独上高楼,望尽天涯路”。刚开始看到满天的公式不知所云,觉得很神奇,怎么会有人得到那么复杂的式子,有一种崇拜的感觉,也有一种恐惧的感觉。
“衣带渐宽终不悔,为伊消得人憔悴”。跨过了第一个阶段,就开始自学做研究所需要用到的数学知识。可是那么多工程方面的数学书,我应该去翻哪一些呢?所幸在国外得到导师悉心栽培和指点,现在依然还记得在导师办公室,他对一个问题的深刻见解和直接在白板上进行数学建模的过程,突然让我想到,工程研究和理论研究不一样,很多时候我们只需要把我们本科学过的数学分析、线性代数、概率论和统计再上升一点到矩阵论,随机过程,凸优化, 那么对于工程应用而已,这些底子修炼好,问题不是那么大了。这一个阶段经历过后,就明白哪些书可以花很多时间去读,哪些书可以走个大概即可。
"众里寻他千百度,蓦然回首,那人却在灯火阑珊处"。单纯看数学书是没有什么用的,因为你根本不知道你有没有消化和深刻理解公式背后的深刻意义:比如说方阵的特征值分解,只是看一遍书的话保证过不了三个月,肯定就忘记这个分解具体形式呢。想要能达到看穿本质的效果,这个阶段必须要有一定习题量的保证以及最好上是工程上的实现。
说了这么多,很多同学还是希望能给点干货入门机器学习的数学,告诉他们什么样的书值得一读,既通俗易通,又是经典之作。只可惜我也没有找到这样的书。现在市场上出现的无外乎"N天搞定派",“XX实战派”,教导我们多少天搞定TensorFlow的源码,Python在机器学习上的实战。这一类书并不能说它不好,至少满足了一部分读者的需求。但要想获得至上武功,内功的修炼必不可少。在此,我把所学过的,个人认为是把握机器学习深刻本质内容的好书和大家分享一下,感谢他们对我的无私帮助和深刻影响。
基本的数学方面的书籍有:
数学的书籍,大家可以很多当做茶余饭后的“甜点”看一看,翻一翻。实在读不进去,可以去Youtube上找找3Blue1Brown录的视频,科普的效果还是很不错的。在机器学习领域,也有几本不错的书籍和资料与大家一起分享。
第一篇先写这么多,后续慢慢继续加油。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。