前言

  近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个IT界。所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无不在布局人工智能技术和市场。百度,腾讯,阿里巴巴,京东,等互联网巨头甚至都在美国硅谷大肆高薪挖掘人工智能人才。现在在北京,只要是机器学习算法岗位,少则月薪 20k,甚至100k 以上……

  不错,新时代时代来了,我们从互联网走向移动互联网,现在又从移动互联网走向人工智能时代。业内有人称这一次的人工智能爆发是互联网3.0时代的开启。所以现在搞IT开发的工程师的不懂机器学习,就相当于低级程序员。赶紧从基础学起,入门机器学习,走进人工智能的大门……

1、人工智能的三起三落

  20世纪50-70年代,人工智能提出后,力图模拟人类智慧,但是由于过分简单的算法、匮乏的难以应对不确定环境的理论,以及计算能力的限制,逐渐冷却。
  
  20世纪80年代,人工智能的关键应用——专家系统得以发展,但是数据较少,难以捕捉专家的隐性知识,建造和维护大型系统的复杂性和成本也使得人工智能渐渐不被主流计算机科学所重视。
  
  进入20世纪90年代,神经网络、遗传算法等科技“进化”出许多解决问题的最佳方案,于是21世纪前10年,复兴人工智能研究进程的各种要素,例如摩尔定律、大数据、云计算和新算法等,推动人工智能在20世界20年代进入快速增长时期。预计未来十年,会在一些难以逾越的困惑中迎来奇点时代的爆发式增长。

2、新浪潮为什么会崛起

  人工智能(AI)问世之初曾经狂妄自大、令人失望,它如何突然变成当今最热门的技术领域?这个词语首次出现在1956年的一份研究计划书中。该计划书写道:“只要精心挑选一群科学家,让他们一起研究一个夏天,就可以取得重大进展,使机器能够解决目前只有人类才能解决的那些问题。”至少可以说,这种看法过于乐观。尽管偶有进步,但AI在人们心目中成为了言过其实的代名词,以至于研究人员基本上避免使用这个词语,宁愿用“专家系统”或者“神经网络”代替。“AI”的平反和当前的热潮可追溯到2012年的ImageNet Challenge在线竞赛。

  ImageNet是一个在线数据库,包含数百万张图片,全部由人工标记。每年一度的ImageNet Challenge竞赛旨在鼓励该领域的研究人员比拼和衡量他们在计算机自动识别和标记图像方面的进展。他们的系统首先使用一组被正确标记的图像进行训练,然后接受挑战,标记之前从未见过的测试图像。在随后的研讨会上,获胜者分享和讨论他们的技术。2010年,获胜的那个系统标记图像的准确率为72%(人类平均为95%)。2012年,多伦多大学教授杰夫·辛顿(Geoff Hinton)领导的一支团队凭借一项名为“深度学习”的新技术大幅提高了准确率,达到85%。后来在2015年的ImageNet Challenge竞赛中,这项技术使准确率进一步提升至96%,首次超越人类。

  不错,这一切都归功于一个概念:“ 深度学习(Deep Learning) ”。虽然2016年之前,深度学习技术已经火了起来,但是真正大爆发的事件却是2016年Google在韩国首尔举行的人工智能机器人AlphaGo与围棋九段选手李世石之间的人机五翻棋大战,最终人类最强选手输给了机器人。曾几时何,人们认为围棋是人类棋牌类游戏的最后的尊严阵地,就这样在人工智能轻松地攻陷了人类智力的最后一块阵地!这件事震惊了所有人。从这以后,全球学术界和工业界都躁动了,巨头们都在加紧布局人工智能:Google挖来了神经网络算法的奠基人、深度学习之父 Geoffrey Hinton;Facebook则挖到了Hinton的学生,卷积神经网络(CNN)的奠基人Yann LeCun;然而就在不到一年的时间,微软也是说动了一直保持中立留在学术界的深度学习领域三大牛的最后一位Yoshua Bengio。当然,国内的互联网巨头,百度、阿里、腾讯、京东、滴滴、美团等也都在布局AI。其中百度更是被认为在AI上已经 All In 了。

深度神经网络(DNN)

3、机器学习是你必经之路

  入门AI,机器学习是必须要学习的,可以这么说:机器学习是人工智能的基石和精髓。只有学好了机器学习算法原理和思想,你才算真正的入门人工智能。但是,对于非专业的半路出家的你们该如何入门?这个问题其实很难回答,因为每个人的目标不一样,技术基础和数学基础也都不一样,所以因人而异。但是通常来说,学习机器学习算法,需要的必备知识还是可以罗列的。

3.1 机器学习必备基础

机器学习的学习过程

  对于上图,之所以最左边写了『数学基础』 『经典算法学习』 『编程技术』 三个并行的部分,是因为机器学习是一个将数学、算法理论和工程实践紧密结合的领域,需要扎实的理论基础帮助引导数据分析与模型调优,同时也需要精湛的工程开发能力去高效化地训练和部署模型和服务。

  在互联网领域从事机器学习的人基本上属于以下两种背景:其中绝大部分是程序员出身,这类童鞋工程经验相对会多一些;另一部分是学数学统计领域的,这部分童鞋理论基础相对扎实一些。因此对比上图,这二类童鞋入门机器学习,所欠缺和需要加强的部分是不一样的。

3.1.1 关于数学

   曾经有无数的满怀激情,誓要在机器学习领域有一番作为的同学,在看到公式的一刻突然就觉得自己狗带了。是的,机器学习之所以门槛高并且显得高大上的主要原因就是数学。每一个算法,要在训练集上最大程度拟合同时又保证泛化能力,需要不断分析结果和数据,调优参数,这需要我们对数据分布和模型底层的数学原理有一定的理解。所幸的是如果只是想合理应用机器学习,而不是做相关方向高精尖的研究,所需要的数学知识读完本科的理工科童鞋还是能很容易的把这些数学知识学明白的。

   基本所有常见机器学习算法需要的数学基础,都集中在微积分、线性代数和概率与统计当中。下面我们先过一过知识重点,文章的后部分会介绍一些帮助学习和巩固这些知识的资料。

  • 微积分

       微分的计算及其几何、物理含义,是机器学习中大多数算法的求解过程的核心。比如算法中运用到梯度下降法、牛顿法等。如果对其几何意义有充分的理解,就能理解“梯度下降是用平面来逼近局部,牛顿法是用曲面逼近局部”,能够更好地理解运用这样的方法。

      凸优化和条件最优化的相关知识在算法中的应用随处可见,如果能有系统的学习将使得你对算法的认识达到一个新高度。

梯度下降法示意图

  • 线性代数

       大多数机器学习的算法要应用起来,依赖于高效的计算,这种场景下,程序员童鞋们习惯的多层for循环通常就行不通了,而大多数的循环操作可转化成矩阵之间的乘法运算,这就和线性代数有莫大的关系了。向量的内积运算更是随处可见。矩阵乘法与分解在机器学习的主成分分析(PCA)和奇异值分解(SVD) 等部分呈现刷屏状地出现。
      


    奇异值分解过程示意图
       在机器学习领域,有相当多的应用与奇异值分解都有非常紧密的联系,比如机器学习中常做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Semantic Indexing)

  • 概率与统计

       从广义来说,机器学习在做的很多事情,和统计层面数据分析和发掘隐藏的模式,是非常类似的。以至于传统的机器学习很大一部分被称作统计学习理论,这充分说明了统计学在机器学习领域的重要性。

      极大似然思想、贝叶斯模型是理论基础,朴素贝叶斯(NaiveBayesNaive Bayes)、语言模型(NgramNgram)、隐马尔科夫(HMMHMM)、隐变量混合概率模型是他们的高级形态。常见分布如高斯分布是混合高斯模型(GMMGMM)等的基础。


朴素贝叶斯算法的基本原理

3.1.2 经典算法的学习

  机器学习中有很多的经典算法:感知机KNN朴素贝叶斯K-MeansSVMAdaBoostEM决策树随机森林GDBTHMM……

  算法这么多,那么对于初学者应该怎么学习呢?我的答案是:分门别类很重要。基本上,对机器学习算法的分类普遍的观点是分为三大类:有监督学习无监督学习强化学习

  • 有监督学习

      有监督学习是指进行训练的数据包含两部分信息:特征向量 + 类别标签。也就是说,他们在训练的时候每一个数据向量所属的类别是事先知道的。在设计学习算法的时候,学习调整参数的过程会根据类标进行调整,类似于学习的过程中被监督了一样,而不是漫无目标地去学习,故此得名。下图中,不同颜色的点代表不同的类别,直线就是我们学习出来的分界面(也叫学习器分类器)。


典型的有监督学习

  • 无监督学习

      相对于有监督而言,无监督方法的训练数据没有类标,只有特征向量。甚至很多时候我们都不知道总共的类别有多少个。因此,无监督学习就不叫做分类,而往往叫做 聚类。就是采用一定的算法,把特征性质相近的样本聚在一起成为一类。

      K-Means算法就是一个无监督学习算法,在它执行前数据是每有类标的,执行过程中才会有类标,但是此时类标不固定,只有当聚类完成后每个样本的类标才能固定。如下图所示就是无监督算法的执行过程。

K-Means算法聚类过程

  • 强化学习

      所谓强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcement learning system)如何去产生正确的动作。由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。通过这种方式,RLS在行动-评价的环境中获得知识,改进行动方案以适应环境。

      本文是一个教你入门的方法,只是带你领略了解机器学习的大致框架。不会介绍具体的算法的详细原理与过程,所以想要深入了解可以查看相关书籍或者文献。对于具体的算法属于哪一类,并且为什么这么划分,请读者认真学习相关的机器学习教程。

3.1.3 编程技术

  对于编程技术学习和选择,无非就是 编程语言开发环境。我个人的建议是 Python + PyCharm。原因很简单,python简单易学,不至于让我们把太多的时间花在语言的学习上(PS:学习机器学习的重点在于各个机器学习算法理论的学习和掌握)。并且Jetbrains公司开发的Python集成开发环境PyCharm也是非常的简单易用。


Python与PyCharm

4、你是否真的准备好了?

  说完了机器学习的入门过程,我得给大家泼点冷水。虽然说目前AI真的很火热,就在刚刚,我写累了休息看新闻的时候就有新闻推送给我:商汤科技B轮融资4.5亿美元。这场革命是机遇,但是它真的适合你吗?我可以很肯定的说,并不是所有人都适合转行AI。
  
下面是的总结,想转行的人可以自我对照:

  1. 如果你天生感觉学习数学很吃力,并且代码能力很一般的人。我可以很负责人的告诉你,转行AI,学习机器学习算法将会是你人生的灾难。对于这类 猿友 你一定不能转行AI;

  2. 如果你数学一般,但是编程能力非常好,你曾经有着用代码改变世界的雄心。对于这一类 猿友 ,我觉得你转行也行,但是你一定要走应用化的AI道路。因为数学是你的天花板,你注定成不了 Hinton 那样的学术大牛;

  3. 如果你数学很好,但是编程薄弱。恭喜你,你具备了转行AI的先天优势。对于这类 猿友,我觉得你可以转行AI,但是你得努力把编程水平提上来。

  4. 如果你数学很牛,曾经与菲尔兹奖擦肩而过,曾经给Apache顶级项目贡献N万行核心代码。恭喜你,AI领域需要的就是你,你就是未来的Hinton吴恩达……

- - -AI大行其道,你准备好了吗?

对 机器学习、深度学习、数据挖掘、人工智能 感兴趣的小伙伴请关注公众号:燕哥带你学算法!点击链接:燕哥带你学算法公众号团队简介


参考文献:

  1. 李航. 统计学习方法[M]. 清华大学出版社, 2012.
  2. 周志华. 机器学习 : = Machine learning[M]. 清华大学出版社, 2016.
  3. 机器学习(三)常见算法优缺点

AI大行其道,你准备好了吗?—谨送给徘徊于转行AI的程序员相关推荐

  1. 中秋节随性作诗一首,送给新入学的大学学子们,也送给在外打拼的程序员们!

    中秋节随性作诗一首,送给新入学的大学学子们,也送给在外打拼的程序员们! 每逢佳节倍思亲,志在四方孤一人. 举头望月身异处,家中拭泪父母亲. 成功来自每一日,莫见诱惑忘本份. 今日吃得苦中苦,来年方为人 ...

  2. 阿里“AI搭配师”一秒给你100种穿搭建议,程序员进军女性时尚靠什么?

    李林 发自 凹非寺 量子位 出品 | 公众号 QbitAI 谁说程序员不care时尚?阿里巴巴最新推出AI技术,就非常关心女性穿搭-- 这项名叫Fashion AI的新技术,要帮你搭配衣服. 就在今天 ...

  3. 送给女朋友的小礼物(程序员)

    送给女朋友的小礼物 程序员还有女朋友?(没错,就是有) 四个模块 一.主页 1.导航栏 2.轮播图 3.页面锚点 4.部分内容展示 二.照片墙 三.我想对她说的话 四.历程 相关代码 程序员还有女朋友 ...

  4. CSDN日报20170712——《AI 大行其道,你准备好了吗?》

    程序人生 | AI 大行其道,你准备好了吗?-谨送给徘徊于转行 AI 的程序员 作者:JeemyJohn 现在搞开发的工程师的不懂机器学习,就相当于低级程序员.赶紧从基础学起,入门机器学习,走进人工智 ...

  5. CSDN日报20170712——《AI 大行其道,你准备好了吗?》 标签: csdn程序人生 2017-07

    CSDN日报20170712--<AI 大行其道,你准备好了吗?> 标签: csdn程序人生 2017-07-12 17:17 804人阅读 评论(0) 收藏 举报  分类: 博文推荐汇总 ...

  6. 重磅!革命级AI代码补全工具,这款撸码利器让程序员界沸腾了!

    我们平时写代码的时候,多少都会依赖编辑器的代码补全功能,敲几个字母就能补全一个词.可是这么多年过去了,语言升级了很多次,而代码提示却没有升级,还是只能限定在一个词,毫无意义地按照字典表顺序排列,这对于 ...

  7. AI程序员,所有码农的梦想

    https://www.toutiao.com/a6641804001950040590/ 2019-01-02 15:51:40 目前为止,人工智能还不算成熟,还没有特别优秀的人工智能产品进入百姓生 ...

  8. AI 技术越来越平民化,程序员不想被淘汰该怎么办?

    不久前,B站上独立游戏开发者大谷上传的一则"修复100年前老北京影像"视频带火了一项技术--AI修复.通过AI技术手段,100年前的老旧黑白影像变得更加清晰,还原了彩色世界,让人一 ...

  9. 5G已来程序员大机遇,你的技能准备好了吗?

    5G已来程序员大机遇,你的技能准备好了吗? 前言:本篇总结自技术胖发的一个视频:视频地址:https://www.bilibili.com/video/BV1sK41157bP?from=search ...

最新文章

  1. Google Brain与牛津大学主持最新《计算机视觉前沿》报告(146页PPT)
  2. mongodb 3.2性能测试
  3. 电脑开机一会就蓝屏怎么回事_客户电脑老是出现问题,三天来找三次麻烦!拆机后“真凶”大白!...
  4. C++11 作用域内枚举
  5. linux下grep查找关键字
  6. 003 - JQuery APP viewport rem
  7. 屏幕滑动_小米滑盖式可折叠手机渲染图曝光,屏幕不仅可以折叠还可滑动
  8. 正逆运动学解(三维)
  9. dell3900机型安装xp64位操作系统
  10. 8/3 MATLAB绘制正态分布概率密度函数(normpdf)图形
  11. Office小知识(五)——Word中删除分节符而不影响前节页面设置
  12. 本周最新文献速递20210815
  13. 怎么关闭windows中不在控制面板上的smartscreen筛选器
  14. 2022年总结:道阻且长,行则将至
  15. Roboware Studio下载、安装、及解决办法
  16. 乐鑫 ESP-FAQ:快速查找常见问题
  17. 用VBS代码写PPT/PPTX批量转PDF,绝对可用,本人就在用着……ppt转pdf代码
  18. 马云“北伐”意欲何为
  19. 定时器/计数器实验报告
  20. 每日干货分享:扫描文字识别软件哪个好?

热门文章

  1. Quartus II的使用方法:以交通灯控制器为例
  2. ESB产品UI升级总结
  3. Android动态创建快捷方式
  4. 3090微信java,微信推出RTX 3090 Aero 24G显卡,外形神似当年GTX 480
  5. 基于JavaWeb的影视评论网站设计与实现
  6. 小红书入驻,小红书商家如何入驻,小红书入驻需要的细节
  7. WebLogic JVM Core dumps文件的生成控制
  8. java文件恢复软件,文件恢复软件 免费-文件恢复软件 免费版
  9. 卢卡奇总体性原则_简述卢卡奇的总体性思想
  10. mt6735 [Audio Common]如何修改拨号按键音量大小