如何自学人工智能?

零基础自学人工智能,希望能推荐下学习路径。

需要看哪些书或者教程?

活动主持人提问于 2018-03-01 14:12
12 个回答
  • 用户36282082018-03-16 10:35

    先学习一下数学基础,线性代数,概率统计等。然后推荐一本《深度学习》,又称花书,做一些小demo,慢慢入手,找一个方向逐渐深入

  • 用户05086772018-03-15 16:39

    编程语言的话推荐使用 python,毕竟 AI 库丰富,学起来也比较容易上手。基础知识可以去看看吴恩达的课,然后看看统计学习方法有一个大概的了解,还有西瓜书等等,这个学起来感觉难度还是有点的,毕竟涉及到很多数学知识。。。我也还是小白。。

  • 用户51198422018-03-15 14:01

    学习python+高等数学相关书籍吧,最近也有考虑学习,同学介绍学习这些,不知道是否正确

  • 用户23980232018-03-14 18:20

    可以先到新华书店去买一本计算机编程的书。先学会简单的代码,然后再把代码写在一起用。慢慢的你就学会计算机编程了。

  • 用户92122962018-03-07 13:09

    我觉得还是从基础开始学起,以前有过编程基础的,只要学习一些语法结构,编程思想等,若没有基础还是要脚踏实地的一点一点学起,无论学习的快慢,只要学习,都需要时间和代码行数来积累,切不可剑走偏锋,偷奸取巧的学习

  • 用户95258792018-03-01 16:10

    我来给个比较平缓的学习路线吧,如果一开始学人工智能就从各种基础理论开始,补充各种知识,就真的是21天人工智能学习从入门到放弃了,毕竟涉及到高等数学,线性代数,概率,机器学习等等,如果喜欢爬坡挑战的直接看花书(《深度学习》),初入门者慎看。下面说到的都是视频教程,部分需要翻墙:

    首先到course.fast.ai学习视频教程(目前第二部分也出来了),fastai是一个非常好的入门教程,由Kaggle大神Jeremy创建,基本就是手把手级别的,从教你租用aws的gpu机器到搭建实际的图像识别项目,干货满满,教程用的是Keras,底层用的是Theano,你自己也可以改一下配置使用Tensorflow。而且这套课程有很多人在学,所以论坛、作业这些都非常完善,基本上学习过程中能碰到的问题都可以在论坛找到答案,学完这个课程基本就是一个能自己搭建项目解决很多实际问题的工程师了。


    如果想了解一下深度学习的理论和更清楚参数调优之类的方向,那么就继续看吴恩达专为入门者做的教程,原版在deeplearning.ai,在网易云课堂上有授权的中文版教程。


    看完了吴恩达的入门课程,如果希望往图像方面发展的,可以看斯坦福的CS231课程,关于卷积神经网络图像识别的(知乎上还有这个课程的全部中文笔记);如果希望往NLP方向发展的,可以看CS224课程。这两个课程都在youtube上可以找到,带字幕也相对降低英语不好的学习难度。


    如果只是工程应用的,看完了上面那些视频教程基本上就可以了,如果再深入可以去找深度学习比较前沿的论文来看,找伙伴一起去复现论文。

  • 用户29106192018-03-01 15:56

    吴恩达

  • 用户57159752018-03-01 15:48
  • 用户33443852018-03-01 15:39

    网易云课堂上有吴恩达的深度学习微专业,完全免费

    http://mooc.study.163.com/smartSpec/detail/1001319001.htm

  • big boss2018-03-01 15:38

    人工智能的核心技术可以分为计算机视觉、机器学习、自然语言处理、机器人和语音识别等,建议从机器学习入门,推荐谷歌新推出的中文免费入门课程(MLCC,Machine Learning Crash Course):https://developers.google.com/machine-learning/crash-course/,对基础要求不高。

  • Elcarim2018-03-01 15:31

    目前在看:

    Google 新出的教程:https://developers.google.com/machine-learning/crash-course/

    ApacheCN 的教程:https://github.com/apachecn/MachineLearning 

  • 用户30856462018-03-01 15:29

    第一步:先搞懂什么是机器学习


    在闷头学习机器学习之前,最好先把什么是机器学习搞清楚,了解机器学习的基本概念。


    简单来说,机器学习就是教电脑怎样从数据中学习,然后做出决策或预测。对于真正的机器学习来说,电脑必须在没有明确编程的情况下能够学习识别模型。


    机器学习属于计算机科学与统计学的交叉学科,在多个领域会以不同的面目出现,比如你应该听过这些名词:数据科学、大数据、人工智能、预测型分析、计算机统计、数据挖掘······


    虽然机器学习和这些领域有很多重叠的地方,但也不能将它们混淆。例如,机器学习是数据科学中的一种工具,也能用于处理大数据。


    机器学习自身也分为多个类型,比如监督式学习、非监督式学习、增强学习等等。例如:


    邮件运营商将垃圾广告信息分类至垃圾箱,应用的是机器学习中的监督式学习;电商公司通过分析消费数据将消费者进行分类,应用的是机器学习中的非监督式学习;而无人驾驶汽车中的电脑合摄像头与道路及其它车辆交互、学习如何导航,就是用到了增强学习。


    想了解机器学习的入门知识,可以看看一些网络课程。对于想对机器学习领域的重点慨念有个基础的了解的人来说,吴恩达教授的机器学习入门课程绝对必看:

    https://www.coursera.org/learn/machine-learning


    以及“无人车之父” Sebastian Thrun 的《机器学习入门》课程,对机器学习进行了详细介绍,并辅以大量的编程操作帮助你巩固所学内容:

    https://cn.udacity.com/course/intro-to-machine-learning--ud120


    此外,Sebastian 在优达学城上还开设了一本《人工智能入门》课程,讲解人工智能领域的基本原理以及相关应用比如机器人、计算机视觉和自然语言处理等:

    https://cn.udacity.com/course/intro-to-artificial-intelligence--cs271


    当然也少不了集智君整理制作的免费专栏,在这里你可以免去安装环境的烦恼,直接投入简单地机器学习训练中来:

    边看边练的简明机器学习教程 Part I - 集智专栏


    这些课程都是免费的哦!


    大概了解机器学习后,我们就来到知识准备阶段了。


    第二步:预备知识


    如果没有基本的知识储备,机器学习的确看起来很吓人。要学习机器学习,你不必是专业的数学人才,或者程序员大牛,但你确实需要掌握这些方面的核心技能。


    好消息是,一旦完成预备知识,剩下的部分就相当容易啦。实际上,机器学习基本就是将统计学和计算机科学中的概念应用在数据上。


    这一步的基本任务就是保证自己在编程和统计学知识上别掉队。


    2-1:用于数据科学中的Python编程


    如果不懂编程,是没法使用机器学习的。幸好,这里有份免费教程,教你如何学习应用于数据科学中的Python语言:

    https://elitedatascience.com/learn-python-for-data-science


    注:景略集智再补充三个资源:


    [Python入门] 01 基本法则 - 集智专栏:

    https://jizhi.im/blog/post/pyintro01

    从零学习数据科学中Python的完全指南:

    https://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-learn-data-science-python-scratch-2/

    以及40多个Python学习资源的汇总文章:

    https://www.datacamp.com/community/tutorials/python-statistics-data-science


    2-2:用于数据科学的统计学知识


    了解统计学知识,特别是贝叶斯概率,对于许多机器学习算法来说都是基本的要求。

    这里有份学习数据学习中统计学知识的教程:

    https://elitedatascience.com/learn-statistics-for-data-science


    2-3:需要学习的数学知识


    研究机器学习算法需要一定的线性代数和多元微积分知识作为基础。点这里,获取一份免费学习教程:

    https://elitedatascience.com/learn-math-for-data-science


    第三步:开启“海绵模式”,学习尽可能多的原理知识



    所谓“海绵模式”,就是像海绵吸水一样,尽可能多地吸收机器学习的原理和知识,这一步和第一步有些相似,但不同的是,第一步是对机器学习有个初步了解,而这一步是要掌握相关原理知识。


    可能有些同学会想:我又不想做基础研究,干嘛要掌握这些原理,只要会用机器学习工具包不就行了吗?


    有这个疑问也很正常,但是对于任何想将机器学习应用在工作中的人来说,学习机器学习的基础知识非常重要。比如你在应用机器学习中可能会遇到这些问题:



    • 数据收集是个非常耗时耗力的过程。你需要考虑:我需要收集什么类型的数据?我需要多少数据?等此类的问题。
    • 数据假设和预处理。不同的算法需要对输入数据进行不同的假设。我该怎样预处理我的数据?我的模型对缺失的数据可靠吗?
    • 解释模型结果。说机器学习就是“黑箱”的观点明显是错误的。没错,不是所有的模型结果能直接判读,但你需要能够判断模型的状况,进而完善它们。我怎么确定模型是过度拟合还是不充分拟合?模型还有多少改进空间?
    • 优化和调试模型。很少有人刚开始就得到一个最佳模型,你需要了解不同参数之间的细微差别和正则化方法。如果我的模型过度拟合,该怎么修正?我应该将几个模型组合在一起吗?


    要想在机器学习研究中解答这些问题,掌握机器学习的知识原理必不可少。这里推荐两个世界级的机器学习课程,一定会让你受益良多:


    哈佛大学的机器学习课程,让你了解从数据收集到数据分析的整个流程:

    https://cs109.github.io/2015/
    https://cs109.github.io/2015/pages/videos.html
    https://github.com/cs109/content
    (提示:这个课程和吴恩达教授的课程配合食用,效果更加)


    斯坦福大学的机器学习课程,清楚地讲解了机器学习的核心概念:

    https://see.stanford.edu/Course/CS229



    还有两部值得读的参考书籍:《统计学习导论》和《统计学习基础》

    这两部书的英文原版下载地址:

    《An Introduction to Statistical Learning》:

    http://www-bcf.usc.edu/~gareth/ISL/ISLR%20Sixth%20Printing.pdf


    《Elements of Statistical Learning》:

    https://web.stanford.edu/~hastie/Papers/ESLII.pdf

    注:看不惯英文原版的同学,可以去读这两本书的中文版。


    集智也建议大家可以多逛逛Reddit上的机器学习论坛:


    https://www.reddit.com/user/techrat_reddit/m/machine_learning/

    https://www.reddit.com/r/MachineLearning/

    https://www.reddit.com/r/learnmachinelearning/


    当然,Quora上的机器学习版块也很有料:

    https://www.quora.com/pinned/Machine-Learning

    逛论坛不容易看到高阶知识,你不能一直停留在菜鸟阶段不是,要升级就有必要看看专业的论文。arXive是个好去处,是个收集物理学、数学、计算机科学与生物学的论文预印本的网站。


    关于人工智能的版块:

    https://arxiv.org/list/cs.AI/recent


    关于机器学习的版块:

    https://arxiv.org/list/cs.LG/recent


    如果嫌自己搜索论文太麻烦,可以在网站 arxiv-sanity.com 上注册一个账号,它可以按自己的感兴趣标签给你推送最新的 arXive 上的论文。


    第四步:针对性实际练习


    在开启“海绵模式”后,你应该掌握了机器学习的基础理念知识,接着就该实际操作了。

    实际操作主要是通过具体的、深思熟虑的实践操作增强你的技能。本步目标有三个:


    • 练习机器学习的整个流程:收集数据,预处理和清理数据,搭建模型,训练和调试模型,评估模型。
    • 在真正的数据集上实践操作:对于什么样的数据适合用什么类型的模型,自己应逐渐建立这方面的判断能力。
    • 深度探究:例如在上一步,你学习了很多机器学习算法知识,在这一步就要将不同类型的算法应用在数据集中,看看哪个效果最好。


    完成这一步后,就可以进行更大规模的项目了。


    转自

    作者:景略集智
    链接:https://www.zhihu.com/question/21277368/answer/277626779