1.概述:
学习一门学问的第一步就是要了解这门学问到底是什么,它可以被用来干什么。
本文罗列了学习machine learning的过程中看到的一些写得比较好的文章以及读完这些文章之后对机器学习的初步印象。希望可以帮助读者建立起ML的初步认知。
2.关于ML的优秀文章(了解什么是机器学习,机器学习可以用来干什么)
3.机器学习从入门到精通(开始学习机器学习相关知识)
概述:
了解了机器学习是什么之后,你是不是也开始对机器学习充满了好奇,打算开始学习相关知识从而一睹其风采?
下面列出一些比较好的学习资源,供学习者参考。
免费课程:
2.
4.学习心得
4.1什么是机器学习(ML)
-
-
- 到目前为止还没有产生一个国际公认的对于“机器学习”的定义,不同的组织或者个人分别对“机器学习”做出了不同的定义,下面列举一些我看到的还不错的关于“机器学习”的定义:
- 定义一, Arthur Samuel (1959). Machine Learning: Field of study that gives computers the ability to learn without being explicitly【显式地】 programmed.
- 定义二, 机器学习是研究如何使用机器来模拟人类学习活动的一门学科。稍微严格的提法是:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。通俗一点的说法就是,该领域的相关研究人员研究出一种可以使计算机自主学习的方法,并且将这种方法告诉计算机,从而使计算机像人类那样拥有自主学习的能力。当计算机拥有了这样的能力之后,它就可以在不受程序员干预的情况下通过自主学习提升自己的能力。当然,由于计算机不知疲倦并且配备有强大的“脑容量”以及“计算能力”,一旦它拥有了学习能力,它很有可能比人类“进步”得更快,从而在很短的时间内超越人类。
-
- “机器学习”领域的研究人员所做的工作就是,归纳总结出人类进行自主学习的方法,并且将这些学习方法“告诉”计算机。
- 传统的软件开发人员所做的工作是:将一系列的处理过程用编程语言描述出来,然后让计算机按照程序员所定义的处理过程进行一系列的操作,从而针对特定的输入给出运算结果。传统模式下,计算机只是充当一个存储器、计算器,按照固定的步骤取运行从而得到处理结果。这就好比求解数学方程,程序员首先得会解此类方程,并且把这一类型的题的解题步骤都整理归纳出来,然后用程序语言(也就是计算机能够理解的方式)将所有步骤精确地告诉计算机,然后人工输入想要求解的问题,计算机就会按照程序员事先定义好的步骤一步一步运行,最后得出结果展示给用户。
- 由上可知,传统的编程是由程序员首先去发现解决问题的规律,并且将这些规律整理成固定的步骤,然后编出相应的程序。这样的方法下去编写程序,可移植性不强,因为当问题稍微发生变化,就需要程序员重构自己的代码去解决新的问题。而机器学习算法和传统编程完全不同,它不再需要程序员去寻找输入和输出之间的关系,不需要程序员知道怎么由输入得到输出,也即不需要程序员知道解决问题的公式,这部分工作完全交给计算机去做,程序员只需要把足够量的输入和输出拿给计算机看,计算机自己就可以找到其中的规律,并且利用自己找出的规律去预测它还不曾见过的新的输入应该对应的输出。可能当你的数据量不够大的时候,计算机自己找到的规律并不是很准确,对于新的输入无法给出正确的输出,但是当你进一步给出更多的训练数据之后,计算机会不断地修正自己所总结出的规律,直到最后他会针对测试集给出准确度较高的预测结果。
- 目前机器进行学习的能力还没有像人类这样好,他们多数只是拥有某一个方面的学习能力,并不具有综合学习能力。换句话说,现有的机器学习大多只是专注于一个方向,如“阿尔法狗”只是专注于围棋,它可以在很短的时间内通过自主学习(如观看围棋比赛视频、和人类直接对弈等)来提高自己的水平,从而战胜高水平的人类围棋选手,让自己成为围棋界的王者。
- 虽然目前绝大多数的算法都只是专于一个方向,但是我们相信不久的未来一台机器可以拥有多个方面内容的学习能力,并且通过高强度的自主学习与训练使自己各方面的能力都快速提高,从而使机器学习技术逐步走向该领域科学家的终极目标——人工智能。
-
- 到目前为止还没有产生一个国际公认的对于“机器学习”的定义,不同的组织或者个人分别对“机器学习”做出了不同的定义,下面列举一些我看到的还不错的关于“机器学习”的定义:
- 个人对于机器学习与人工智能的看法:(不见得正确,写来供大家批评讨论)
- 如果说机器学习是训练计算机的特长的话,人工智能就是将拥有不同特长的机器组装成一个全能机器。我常常在想,当“人工智能”的终极目标得以实现,也就是说科幻电影中那些长得很像人类,并且向人类一样“聪明”,甚至比人类拥有更强大的能力的机器人出现在这个世界上的时候,人类的激动更多一点还是焦虑更多一点。
- 说实话,每每想到人工智能的终极目标,想到那些各方面能力都很强大的机器人的时候,我就会想起21世纪世纪初大热的“克隆”和“转基因(基因组合)”等关键词。如果说克隆是生物学上对人类的复制粘贴,那么是不是可以把机器学习和人工智能看成是工学上对人类的“复制粘贴”呢。转基因技术将一个(种)生物体的特长赋予另一个(种)生物体,使得被改造者拥有更强大的能力。人工智能把专于不同方向的机器学习模型组合成一个完美的产品。从某种意义上来说,生物学上的克隆和基因重组技术和工学(理学)上的机器学习以及人工智能技术还真是有着许多相似之处。
-
4.2人工智能(AI)、机器学习(Machine Learning)和深度学习(Deep Learning)的关系
五十年代,人工智能曾一度被极为看好。之后,人工智能的一些较小的子集发展了起来。先是机器学习,然后是深度学习。深度学习又是机器学习的子集。深度学习造成了前所未有的巨大的影响。
-
-
- 机器学习是人工智能的子集:人工智能的实现技术有许多种,机器学习只是其中的一种。
- 深度学习是机器学习的子集:
- 就其实质性而言,机器学习中涉及到许多种方法,具体包括线性模型 、决策树 、神经网络 、支持向量机 、贝叶斯分类器 、集成学习 、聚类 、降维与度量学习 、特征选择与稀疏学习 、计算学习理论 、半监督学习 、概率图模型 、规则学习 、强化学习等等许多方面的知识。深度学习是传统机器学习中的“神经网络”进一步细化后出现的学科,所以从某种程度上来说,深度学习只是传统机器学习众多分支中的一支而已。
- 另外,就其应用程度而言,机器学习已经渗透到多个领域如 Robotics, Genome data, Financial markets。而目前,深度学习占据统治地位的多数是在计算机视觉领域、自然语言处理领域。
-