导读:这是一篇保证你“看得下去”的文章。让你真正搞懂机器学习学什么?怎样学?

作者:莫凡

来源:华章计算机(ID:hzbook_jsj)

00 有关机器学习的三个问题和机器学习“知识栈”的三个层

你对机器学习的直观感受是什么?

也许许多人的回答两个字,科幻。东西是好东西,不过离自己还很遥远。

真是这样吗?

  • 掏出手机,美颜美图用的是机器学习;

  • 走出小区,无人化测量体温用的是机器学习;

  • 走进高铁站赶回奋斗的城市,刷脸进站用的是机器学习。

机器学习已经向我们生活的方方面面渗透,也许很快就有那么一天,机器学习就要和水电煤一样,成为我们生活中再离不了的第四种资源。

你说,上面这段话就跟心灵鸡汤一样,把人说得心里直痒痒,可真的想来品一口时才发现没给勺子。

那好,下面想要分享的正是如何开始学习机器学习。我的方式有点不同,开始之前,你首先需要做的是问自己三个问题:

  • 第一个问题,我为什么要学?

  • 第二个问题,我需要学什么?

  • 第三个问题,我该怎样去学?

为什么要先问三个问题?这是因为,机器学习背后有一套庞大的知识体系,内容繁多,而且和网络协议栈一样,也是分了层的,姑且就称之为机器学习的“知识栈”吧。这座知识栈共分成三个层。

  • 知识栈的底层是数学,可以管它叫“数学基础层”,它在机器学习中作用正如其名,是支撑上层功能运转的基石。

  • 中间这层的算法,就叫“算法原理层”吧。机器学习的微观层面是算法,不是一种算法,而是很多种算法,而且现在还在不断迭代更新。

  • 最上面的这层是应用层,不妨叫“分域应用层”。为什么叫分域呢?因为机器学习是一套实践之学,是用于解决实际问题的,而现实世界中的问题千千万万,不同领域问题各不相同,因此,机器学习要逐一解决这些各不相同的领域问题,也就延伸出了与之适应的分域应用。

当然,知识栈只是描绘了机器学习知识体系的大致结构,知识栈的每一层,还可以继续划分更多更细的子领域。机器学习的知识体系枝叶繁茂,而人的时间和精力则相对十分有限,正因如此,只有明确了第一个问题,才能回答第二个问题,才能最终决定第三个问题,也就是大家一开始最为关心的问题,机器学习应该怎么上手。

不过,这三个问题不好回答。

要回答这几个问题,你首先得对机器学习的三层知识栈有所了解,而你现在最大的问题,不正是对机器学习还缺乏比较全面的了解吗?

正如你第一次走进一座很大很大的游乐园,哪怕你已经听说了大家对这座游乐园评价都很高,你也不会马上就清楚自己首先应该去哪里游玩,甚至游乐园里都有些什么设施,要朝哪个方向走过去,你都很可能并不清楚。这应该是绝大多数第一次来玩的游客都面临的问题。

那么,有经验的游乐园会怎么解决这个问题呢?它会在大门入口处设置一块大地图,名叫游玩导览图,园区里有哪些游乐设施,又分布在哪个方向,甚至还会画上设施的样子,让你一目了然。这是个好办法。

那么,接下来我会按照机器学习知识栈的三层结构,对机器学习的知识体系梳理出要点和联系。我也知道,市面上名叫机器学习的各类书籍鱼龙混杂,我会同时给出推荐的阅读书目供大家参考。

01 数学基础层

机器学习的知识栈是自底向上构建的。那么,我们先从知识栈的最底层,也就是数学基础层说起。

一提到数学,我和大家的反应一样,苦不堪言。数学很重要,大家都知道,可以说没有数学,就没有计算机科学。可是,数学实在太难学了,这么多年都没学明白,而且刚一毕业,数学就全还给了老师。现在告诉我学机器学习,先得学习数学,难道我还得重修九年义务教育?

这确实是许多人对机器学习望而却步的主要原因之一。不过,我要告诉大家一个好消息:机器学习里要学的数学,远比你想象的要少,要简单。

现代数学是一套不断膨胀的公理体系,哪怕是职业的数学家可能也说不清楚数学全貌。不过好在,如果将数学绘制成一张世界地图,那机器学习所要学习的数学知识,只不过是上面的一座小岛屿,主要涉及线性代数和概率统计两个方面。

先说线性代数。机器学习需要用到许多运算,而线性代数正是机器学习里的四则运算,可谓是构成了机器学习的骨架。不过,线性代数作为一条主要的数学分支,内容也很不少,好在机器学习只是使用其中的向量和矩阵运算,在这个部分,我推荐《矩阵分析》

这是一本经典的好书,写得很好,不过不用读完,建议仔细读懂什么是向量空间、什么是矩阵、矩阵的基本运算法则,以及正定矩阵和奇异值分解的相关章节,那么机器学习的“四则运算”我们就掌握清楚了。

接下来是概率统计。如果我们说线性代数是机器学习的“骨”,那概率统计应该就算是机器学习的“魂”了。这是因为有一派主流观点认为,机器学习就是个换了个皮的统计学,说机器学习的本质就是“拟合曲线”。

这里不做争论,不过机器学习大量使用概率统计的概念,确实是不争的事实。在这个部分,我推荐《概率论基础教程》

这本书的作者是Ross,Ross是统计学界的名家,出的教材都是经典。建议重点阅读《概率论基础教程》中关于概率、条件概率、贝叶斯概率公式、期望等概念相关介绍,以及了解各种概率分布,如什么是正态分布等。

机器学习数学方面的书现在越出越多,读书的跟不上出书的,所以我推荐读经典,而上述的两本书都是数学领域的经典教材,读过一定有收获。

02 算法原理层

底层就这两样,接着该说算法原理层。

这是机器学习的核心层。机器学习大热,讲机器学习算法的书也一哄而上,多不胜数,不过,现在市面上的这类书,内容大致可以分为两类,一类是往下靠,也就是往数学基础层靠,翻开活脱脱就是一本数学教材;另一类是往上靠,也就是往分域应用层上靠,走另一个极端,写成了一本教编程的书。

虽然说机器学习毕竟是一门实践科学, 除了学各种数学公式,最终还要写成代码运行才能真正解决问题,不过如果只懂调用算法API而不去了解内在原理,用得再多也只是手熟的调包侠。

有没有一本书,能兼顾数学和应用这上下两层,同时从初学者的角度出发,使用比较通俗直白的语言来撰写?我找了很久,可惜没找到,所以我自己写了一本,书名叫《机器学习算法的数学解析与Python实现》

这本书我最开始其实想叫《睡前机器学习》,对,就是我现在公众号的名字。我深深地清楚,经过一天拼尽全力的工作有多累,晚上回家还要克服刷视频的冲动,放下手机转为去读一本又有数学又有算法的艰涩的专业书有多难。

所以,在华章公司老师的鼓励下,我尝试用一种新的方法介绍机器学习,学习算法,本该是一次充满乐趣的探索之旅。

我认为数学教材之所以难读,是因为数学太多抽象的概念,而让人更难坚持的是数学概念之间嵌套引用,要清楚明白一个数学概念,往往需要额外再学一大串数学概念,而其中往往又包含有嵌套引用,不知道哪里才是头,所以很容易给人一团乱麻、无从下手的感觉。

在《机器学习算法的数学解析与Python实现》这本书中,我尝试改变这一现状,只对反复使用、必须了解的数学概念用最直白最“讲人话”的语言进行介绍,同时摒弃背后一大串错综复杂的概念,改为结合直观形象的例子进行说明。

我希望在确保本书容易阅读的同时,又能比较完整地呈现一幅机器学习的全景图,成为连接机器学习知识栈最上层和最下层的“粘合剂”,让每一个第一次接触机器学习的初学者,都能像看了游乐园导览图一样,做到心里有数。这也正是我写作本书的初衷。对本书有任何问题,都可以到我的微信公众号“睡前机器学习”留言互动。

03 分域应用层

最后,我们介绍知识栈的最上层,也就是分域应用层。前面我们已经说过,机器学习是一门实践科学,最终需要编写代码才能运行。在这个方面,目前主流的做法是使用Python高级编程语言,调用Scikit-Learn库来实现。

Scikit-Learn是当前最为知名的Python机器学习算法库,提供了几乎所有的主流算法。在这方面,我推荐《机器学习实战:基于Scikit-Learn和TensorFlow》

这本书基本是业内公认介绍Scikit-Learn最为清楚的书,同时还介绍了另一款知名的深度学习框架TensorFlow。

和软件开发项目有生命周期一样,机器学习的项目也有生命周期,大致可以分为收集数据、清洗数据、分析数据、选择模型、训练模型和输出预测。也许很多初学者认为最费时间的是选择模型和训练模型。

其实,最花时间的反而是对数据的清洗和分析,往往是在生命周期中占了最大一部分。业界通常选择使用一款名叫Pandas的Python库完成这项工作,这方面的书推荐《利用Python进行数据分析(原书第2版)》

这本书非常好,作者就是Pandas的作者本人,权威性无可挑剔。而且内容非常详实,由浅入深每一步都写得十分清楚,覆盖又全,特别适合新手阅读。

上面提到数据处理占据了机器学习生命周期的最大一部分,而另一大部分是调参,也就是为模型选择最合适的参数。调参是机器学习算法在应用方面的重点也是难点,很需要经验。

因此,现在业界的一大发展前沿,就是自动调参,在这方面我推荐《深入理解AutoML和AutoDL 》,对这部分发展做了全面清楚的介绍:

04 深度学习

说完机器学习,说另一大热门深度学习。目前深度学习有两套最热门的框架,一套是前面《机器学习实战》这本书介绍的Tensorflow,另一套叫Pytorch。

Tensorflow是Google出品,牌子老用户多,但普遍认为语法槽点很多,而由Facebook出品的Pytorch,因为“更有Python味”现在风头大热,颇有取而代替TensorFlow之势。这方面我推荐《Python深度学习:基于PyTorch》

Pytorch的书不少,不过由于Pytorch发展很快,早期0.X版本的很多语法已经不再适用,而这本书使用1.X版本的Pytorch,不会出现这一问题,而且结合了时下热门的深度学习应用场景,具有很好的实践参考作用。深度学习是借着图像处理声名鹊起的,这方面我推荐《深度学习与图像识别:原理与实践》

这本书对深度学习在图像识别方面的应用作了比较全面的介绍,不但介绍了热门模型,还逐一介绍了目前学术界在图像处理方面的热门研究方向,如GAN、图像识别和分割等。比较有意思的是,本书还介绍了KNN算法,算是对图像处理算法作了一个比较全面的回顾了。

05 无人驾驶

最后,我想介绍一个经常上新闻、科幻感最强、同时也是了解的人最少、最有神秘感的机器学习分域应用:无人驾驶。这几年关于无人驾驶的讨论不少,但更热衷讨论的话题是无人驾驶衍生的社会问题和伦理问题,譬如电车难题,而对技术本身的讨论反而少的让人意外。

我想,这也许是因为机器学习是交叉学科,而无人驾驶更是交叉学科的交叉学科,涉及机器人学、车辆工程等等复杂学科,领域性太强,一般人难窥究竟。这方面我推荐《无人驾驶:原理和实践》

无人驾驶涉及的学科方向比较杂,而这本书把ROS、点云匹配、图像识别、传感器等构成无人驾驶的几个重要方面都涵盖在内,相当于给无人驾驶做了一次全景式展示。

本文系《机器学习算法的数学解析与Python实现》作者莫凡2月16日的直播内容整理,直播录像可识别下方二维码观看。

有话要说????

Q: 你的学习进行到了哪一层?

欢迎留言与大家分享

猜你想看????

  • 什么是大数据「实时流计算」?深度解析它的4大应用及4个特点

  • 什么是机器学习?有哪些分类?怎样上手开发?终于有人讲明白了

  • 世界上第一位程序员,竟然是诗人拜伦的女儿?

  • 美国又禁华为?7本书,助力网络安全产业国产化、自主可控

更多精彩????

在公众号对话框输入以下关键词

查看更多优质内容!

PPT | 读书 | 书单 | 硬核 | 干货 

大数据 | 揭秘 | Python | 可视化

AI | 人工智能 | 5G | 中台

机器学习 | 深度学习 | 神经网络

合伙人 1024 | 大神 | 数学

据统计,99%的大咖都完成了这个神操作

????

人人可懂的机器学习入门要点和阅读路径:学什么?怎样学?相关推荐

  1. 小白也能读懂的机器学习入门指南

    点击上方"程序员江湖",选择"置顶或者星标" 你关注的就是我关心的! 这篇文章写得真的很好,忍不住转给大家. 转自:博客园,作者:计算机的潜意识 从机器学习谈起 ...

  2. 干货丨先搞懂这八大基础概念,再谈机器学习入门

    翻译 | AI科技大本营 参与 | 林椿眄 准备好开始AI了吗?可能你已经开始了在机器学习领域的实践学习,但是依然想要扩展你的知识并进一步了解那些你听过却没有时间了解的话题. 这些机器学习的专业术语能 ...

  3. 【日常送书】非IT专业也能读得懂,这可能是最轻松的机器学习入门书

    本文作者:黄佳,新加坡埃森哲公司高级顾问,人工智能专家,机器学习和云计算高级工程师,参与过公共事业.医疗.金融等多领域大型人工智能项目. 1 走下神坛的机器学习 我们马上就要进入20世纪的第3个十年啦 ...

  4. 十年公务员转行IT,自学AI三年,他淬炼出746页机器学习入门笔记

    整理 | Jane 编辑 | Just 出品 | AI科技大本营(ID:rgznai100) 近期,梁劲传来该笔记重大更新的消息.<机器学习--从入门到放弃>这本笔记的更新没有停止,在基于 ...

  5. 我的机器学习入门之路(中)——深度学习(自然语言处理)

    继上一篇<我的机器学习入门之路(上)--传统机器学习>,这一篇博客主要记录深度学习(主要是自然语言处理)这一块内容的学习过程.以下均将自然语言处理简称NLP. 这一块内容的学习路线分为三部 ...

  6. 我的机器学习入门之路(上)——传统机器学习

    这篇博客主要记录了我自己的学习路线及相应的资料汇总.总时间跨度约为6个月,主要是利用了晚上的时间和周末的时间,每天坚持下来,日积月累,回过头来,可能会惊讶于自己的进步. 对于一个机器学习的小白来说,往 ...

  7. 美亚畅销的百页机器学习入门书,不止简单易懂

    我与"机器学习"的初次邂逅是在5年前,那时我刚刚决定于新加坡南洋理工大学攻读计算机博士学位.比起计算机学院的主流课程,如数据库.软件开发.嵌入式系统等,"机器学习&quo ...

  8. 机器学习入门资源不完全汇总

    机器学习入门资源不完全汇总 基本概念|入门攻略|课程资源|论坛网站|东拉西扯 2014-10-14版, 好东西传送门编辑整理, 原文链接 http://ml.memect.com/article/ma ...

  9. 机器学习入门学习笔记:(3.2)ID3决策树程序实现

    前言 之前的博客中介绍了决策树算法的原理并进行了数学推导(机器学习入门学习笔记:(3.1)决策树算法).决策树的原理相对简单,决策树算法有:ID3,C4.5,CART等算法.接下来将对ID3决策树算法 ...

最新文章

  1. 【干货】NLP中对困惑度感到困惑?
  2. lsa五类_OSPF外部路由4类5类LSA
  3. 12层也能媲美ResNet?邓嘉团队提出最新力作ParNet,ImageNet top1精度直冲80.7%
  4. 最全面的百度地图JavaScript离线版开发
  5. 【PAT乙级】1042 字符统计 (20 分)
  6. 未能加载文件或程序集“xxx”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集...
  7. OpenCV基本mat重建的实例(附完整代码)
  8. 容器学习 之 镜像的分层结构(六)
  9. SQL varchar数据类型深入探讨
  10. discuz常用操作说明
  11. EMC变得更有中国味儿
  12. cron一点半到两点半之间每分钟_分辨率,定位精度,重复定位精度三者之间有什么关系?...
  13. def __init__(self)是什么意思_Python入门一篇搞懂什么是类
  14. (转)mysql 字符串 拼接 截取 替换
  15. win7右击应用程序资源管理器停止工作问题
  16. 【云和恩墨大讲堂】彭文元 - 中间件BES连接池的配置和问题诊断方法
  17. 阿里云吴翰清:从技术人转型做产品经理是一种什么样的体验
  18. 计算机网络面试常见题
  19. 冯诺依曼体系结构与操作系统的概念及理解
  20. C语言——初识关键字、static、#define定义、指针

热门文章

  1. C++工作笔记-Windows下查找窗口句柄并让其显示在桌面
  2. C/C++ OpenCV高斯滤波
  3. Docker 常用命令,还有谁不会?
  4. 怎么多次调用c语言dll,c-如何从注入到同一程序的另一个.dll中调用...
  5. 计算机应用基础理论,计算机应用基础理论A卷.doc
  6. 加固工程验收规范50550_轻质隔墙怎样做才规范,看完这3点
  7. 无法在只读编辑器中编辑_Mol Plant中国农科院作物科学研究所夏兰琴课题组成功利用 优化的引导基因编辑器在水稻中实现高效精准基因编辑...
  8. JS学习笔记3-JavaScript 语句
  9. getting joins
  10. 字符串经典题之正则匹配字符串