哈喽,大家好!如果你点进了这篇文章,那你应该是想要学习一些机器学习的知识的。如果你还没有想好,或者觉得有些困惑,那么我得提前给你打个预防针:学习机器学习的过程其实是比较艰辛的。
  如果你始终怀有坚持的信念,并且大胆尝试的话,你就可以从这篇指导中比别人得到更多。因为这篇指导不仅能帮你形成一种全新的思考方式,还可以启发你如何将所学的知识应用到你自己的实践当中,使你的工作更加富有创造力,拥有更多可能性。
  目前对机器学习的初学者来说,最大的问题在于面前有几十年积累的研究成果,可切入点太多,反而不知道从哪里入手开始学习。就像爱迪生做了 1000 次尝试,最终发明了电灯一样,人工智能领域的研究进程,也经历过几十年的试错过程(AI 研究的冬天),直到现在,该领域的研究才真正开始向前推进。所以你会从第一次,或者第79 次,或者第 999 次尝试那里开始学习吗?其实并不用。我们可以直接从真正推进的那一刻开始学习(或者说目前看来是步入正轨的地方)!
  所以这里我建议你学习的第一步是观看 Andreessen Horowitz 上 Frank Chen 的 AI 启蒙视频,憋说话,先把它看完。因为 Frank Chen 在人工智能领域的大众启蒙方面有着突出成绩。
  观看地址:https://vimeo.com/170189199
  同时,这个视频也可以当做是一个小小的自我检测,考察自己是否真的对人工智能领域充满激情。如果你只是想要简单了解人工智能,在工作会议中显得更加博学(装X),那么我推荐你阅读哈佛商业评论的推荐清单即可。但是如果你想要深入了解人工智能,学习其中的技巧,那么请继续阅读本文。
  学习新事物的第一步是评估哪些是你已有的知识;哪些是你可以较为轻松地进行迁移的知识。简单起见,我将学习者可能处于的阶段分成三种。阶段的划分取决于你对机器学习必备的两大基础知识——数学和编程的掌握程度。读到这里,请先不要放弃。一个相对较好的数学基础和对简单编程的基本了解确实可以让你学习得更加轻松。
  
  1、小白初学者(大约需要20周)
  我不得不承认,对于小白初学者的学习指导写起来有些困难。但是这 20 周的学习对小白初学者来说是至关重要的。只有拥有一个强大的基础,你才能持续不断地学习多的技巧,在机器学习领域中走得更远。我明白你们对数学和编程有些抗拒(其中的原因可能有很多,比如说老师太差)。但是你必须开始攻克这些难关。相信自己在努力过后,必定能变得更加强大。
  这里,我首先建议你们在可汗学院上注册账户(这个是完全免费的,内容也很有趣)。我自己就在那里获得了计算机科学的学士学位,这个学位要求我进行了很多复杂的数学计算。我敢说,可汗学院真的帮助我在数学上建立了信心,它的作用比我学习生涯中所有老师的影响都大。
  算法——1周,免费
  我们从算法开始学习,这部分应该进展的很快。对算法概念的深刻理解和一些技巧的掌握可以帮助你快速学习机器学习技能,甚至可以让你顺便掌握深度学习算法。人工智能领域目前的成就很大程度上源于更好的训练算法。所以从算法开始学习是至关重要的。
          khanacademy.org             Algorithms | Computer science | Khan Academy

  Learn for free about math, art, computer programming, economics, physics, chemistry, biology, medicine, finance, history, and more. Khan Academy is a nonprofit with the mission of providing a free, world-class education for anyone, anywhere.
                    
   
    Mimo 软件中的 Python 语言基础——5小时,前3天免费,使用8折券后售价39美元
   我个人非常喜欢这个教程。如果想要学习用 Python 语言编程,那么 Mimo 软件是非常适合的。很久不编程的我都会因为 Mino 软件而重新点燃了编程的兴趣。
你可以在地铁或者出租车上使用这个软件,轻松学习如何编写出酷炫的应用。软件官方建议用 4.5 小时来学习这些核心概念。
          getmimo.com             Mimo: Learn how to code on your phone

  Mimo is an iOS app that teaches programming, HTML, CSS, JavaScript, Swift, and more through gamified and interactive lessons on the go
                    
   
    代数——10周,免费
  这绝对是一个不能忽略的部分。对线性代数的理解是学习机器学习的必备条件。你可以根据自己的情况决定自己的学习进度。当然,我强烈建议你完整地学习该课程,获得课程全部徽章。
          khanacademy.org             Algebra | Khan Academy

  Learn for free about math, art, computer programming, economics, physics, chemistry, biology, medicine, finance, history, and more. Khan Academy is a nonprofit with the mission of providing a free, world-class education for anyone, anywhere.
                    
   
    统计学和概率论——10周,免费
  接着,你需要坚实的统计学和概率论的基础。毕竟,在机器中构建通用的人工智能实际上就是用来预测可能性的。
          khanacademy.org             Statistics and probability | Khan Academy

  Learn for free about math, art, computer programming, economics, physics, chemistry, biology, medicine, finance, history, and more. Khan Academy is a nonprofit with the mission of providing a free, world-class education for anyone, anywhere.
                    
   
    如果……
  ①如果你已经成功地完成了该阶段对于算法、Python 语言、代数、统计学、概率论的学习。那么,请好好奖励自己。因为这个阶段并不简单,但是却是非常值得的。现在,你已经是一个“积极的初学者”了。在 20 周的时间内从完全小白初学者到积极的初学者的成就,是非常值得肯定的。你的热情和决心在后续的学习之中需要继续发扬。
  ②如果你还想要更加稳固自己的基础知识,以便在人工智能领域走的更远,这里还有一些进阶教程,供你参考。
  Python(进阶版)——进度自我掌控,免费
  https://learncodethehardway.org/python/
  微积分——15周
          khanacademy.org             Calculus | Khan Academy

  Learn for free about math, art, computer programming, economics, physics, chemistry, biology, medicine, finance, history, and more. Khan Academy is a nonprofit with the mission of providing a free, world-class education for anyone, anywhere.
                    
   
    微分方程——3周
          khanacademy.org             Differential equations | Khan Academy

  Learn for free about math, art, computer programming, economics, physics, chemistry, biology, medicine, finance, history, and more. Khan Academy is a nonprofit with the mission of providing a free, world-class education for anyone, anywhere.
                    
   
    2、相对初学者(大约需要3个月)
  对相对初学者而言,最好的学习起点就是和前辈一起进行训练,也就是学习 Andrew Ng 的课程。大家对该课程的推荐度很高。学习 Coursera 上 Andrew 的课程大约需要 11 周。如果你需要的话,还可以在课程结束后花费79美金获得一个 Coursera 颁发的人工智能学习证书。
  Coursera 上Andrew Ng 的机器学习课程——免费,斯坦福在线颁发的学习证书需要 79 美元。
          coursera.org             Machine Learning - Stanford University | Coursera

  Machine Learning from Stanford University. Machine learning is the science of getting computers to act without being explicitly programmed. In the ...
                    
   
    该课程的先修知识:
  ·基本的计算机科学原理和技巧,达到可写出复杂计算机程序的水平
  ·熟悉基本的概率论原理
  ·熟悉基本的线性代数知识
  如果……
  ①如果在学习课程中间感到困难,你应该停下来反思一下是不是先修知识没有掌握,因为 Andrew 在教学中已经假设你学习过了先修知识。我本人在学习中也有过重新学习忘记的数学知识的经历。因为只有觉得学习起来感到轻松,你才能继续学下去。
  ②如果你也完成了这个阶段的学习,你就可以进入下一个阶段——“积极初学者”。
  注意:下一个阶段可能花费的时间不多,因为你已经有了很好的基础。
  3、积极初学者(大约需要4个月)
  恭喜你!你已经做好了成为人工智能领域“绝地武士”的准备。Udacity(优达学城)上的课程是由 Sebastian Thrun(优达学城的前CEO 和联合创始人,前谷歌职员,斯坦福计算机科学教授)和 Peter Norwig(谷歌研究部主管)教学的。你可以在谷歌中找到这个课程(完全免费)。这是一个最好的、最富交互性的视频教学课程。他们将会使你对人工智能有一个整体的良好认识。他们甚至会教给你一些工作中会遇到的更深入的话题,比如博弈论、计算机视觉、机器人、自然语言处理。你可以学到的知识会比你想象的多。
  人工智能简介课程——免费
  https://www.udacity.com/course/intro-to-artificial-intelligence--cs271
  当你学习到这一步后……
  如果你已经完成了所有三个阶段的学习,并学习了优达学城上的课程后,你可以好好庆祝一下,给自己放个假。因为这个过程真的非常艰辛。但是我相信这个过程也一定非常有趣。加油吧,各位!
  这里还有一些阅读书单供你参考:
  https://www.udacity.com/course/intro-to-artificial-intelligence--cs271
  欢迎与我分享你在学习过程中的心得,相信你在其中也体会到了学习和进步带来的成就感。