Machine Learning 简介与学习路线

机器学习(Machine Learning)有众多的应用领域,目前比较活跃的主要是数据挖掘(data mining),计算机视觉(computer vision, CV),自然语言处理(natural language processing, NLP),机器人决策这四大领域。

数据挖掘:

通俗的说是从大量已获取的案例中寻找出数据的关系或规律,从而可以对新采集的样本进行预测或分类。数据挖掘可以说是机器学习历史最悠久的应用领域,在人工智能的概念还没有被提出的时候,统计学家的研究已经比较成熟了。其实我们在中学时就已经学习过相关内容,例如:

Machine Learning 简介与学习路线

中学时期的数学课上,我们学会了绘制散点图,用最小二乘法(least square method)求解出回归直线从而解决问题。真实的回归案例与中学时的问题思想上是类似的,只是多数情况下会有更多的变量而已。

在一个问题中,当我们需要预测的不是连续的实数值,而是离散的类别时,这个问题被称为分类问题。如下图所示,为了预测一个病人是否患有糖尿病,我们可以设计一个模型,从大量的案例(体检的数据以及是否患有糖尿病的诊断)中寻找到规律,从而使用这个模型对其他人进行诊断。这种计算机辅助医疗的技术已经逐步应用在真实的场景中了。
Machine Learning 简介与学习路线

计算机视觉

即让计算机可以“看”懂世界。例如计算机可以完成图像分类、OCR(光学字符识别)、目标检测、语义分割、场景理解等任务。
Machine Learning 简介与学习路线

图像分类是指让计算机将图像归类到正确的类别,例如判断每个图像对应哪一个阿拉伯数字;识别出图像中的物体是小猫小狗还是汽车飞机等等。这种对于人类来说很容易完成的任务,计算机却难以理解。因为在计算机看来,图像仅仅是一些像素点的排列组合,不同的比例、不同的视角下同一个物体会有着天壤之别。前一段时间比较流行的微信小程序“猜画小歌”即是一个强大的图像分类器。

OCR是指让计算机将纸上印刷的字或者图片中的字符翻译成计算机文字的过程。一二君曾经做过一个项目,其中有一步尝试使用传统的编程的方法编写大量的规则让计算机去理解图像对应的汉字,但是效果很不理想。

计算机自动地从图像中标注出需要关注的物体即为目标检测;将其分割出来即为语义分割;若能理解图像中的每一个物体(或者是关键的物体)是什么,就做到了场景理解——这是做到自动驾驶的关键之一。

自然语言处理

希望计算机可以像人一样理解懂自然语言。例如将一篇文章自动分类打上“政治”、“体育”、“娱乐”等标签;“看懂”一篇文章,自动生成文章的摘要;理解一句中文语句,自动将其翻译成英文;人机对话,可以聊天的机器人;image to text ,将图片或者视频中的内容用文字表述出来,也许未来我们听到的体育比赛的解说将是由机器自动生成的。

机器人决策

例如自动驾驶,Alpha GO,以及电子游戏里越来越强的人机。

下面再介绍一些概念:

总体来说,机器学习的问题可以分为监督学习(supervised learning)和无监督学习(unsupervised learning)。监督学习主要是上文所提到的回归与分类问题,指训练样本带有属性标签,即每个训练样本都是由一个输入对象(通常是一组值,被称为输入向量)和一个期望的输出值组成。而无监督学习的数据是未标注的,通常包含聚类(根据样本的属性相近程度自动将样本分类)等问题。

深度学习(deep learning)是指使用深度神经网络来解决机器学习问题的方法。它的最近一次兴起是拜计算机性能的提升(计算力)以及互联网发展下数据量的急速增长(数据量)所赐,事实上深度学习的算法模型大部分在上个世纪就已经被发明出来了。在2012年的LSVRC图像识别分类竞赛中,使用深度学习方法的团队在成绩上取得了突破,后来每年获得优胜的团队均是使用深度学习技术。2016年是LSVRC竞赛的最后一年,因为在这个竞赛的数据集上的图像分类任务,计算机已经可以比人类做的更好了。

Machine Learning 简介与学习路线
Winner results of the ImageNet large scale visual recognition challenge (LSVRC) of the past years on the top-5 classification task: The green bar indicates the best computer vision approach, whereas the blue bars are all deep neural network architectures. The human score is represented as the red bar.

学习路线

机器学习所涵盖的内容有很多,这里谈一下一二君的看法。我认为我们应该从传统的监督学习算法开始入手,这一部分的主要是统计学习方法;入门之后开始学习无监督学习的经典算法,深度学习;最后再学习一下最新的GAN(生成式对抗网络)与强化学习等技术。

具体的细节如下所示:
Machine Learning 简介与学习路线

这里参考了博主 白马负金羁 的博客《机器学习与数据挖掘的学习路线图》: https://blog.****.net/baimafujinji/article/details/49891221

之所以把它们归为一条线路,因为所有这些算法都是围绕着 y = Σxiβi,这样一条简单的公式展开的,如果你抓住这条线索,不断探索下去,就算是抓住它们之间的绳索了。其中蓝色部分主要是回归,绿色部分主要是有监督的分类学习法。

另外Machine Learning的深入学习也需要一定的数学基础,请持续关注我的博客以及个人公众号:史莱姆与一二君(或微信号搜索 learnCS12)学习数学基础哦。

最后推荐一本简单的入门书华东师范大学出版社出版的高中教材《人工智能基础·高中版》,这本书尽量避开了较为复杂的数学细节,对于各类算法的覆盖广泛,书也很薄,是一本优秀的入门教材。