机器学习系列

机器学习系列(1)—简单介绍

1. 机器学习?

    什么是机器学习?百度百科的定义很官方也很详细,可对于初学者来说不易理解。通俗来讲,机器学习就是给机器一个合适的学习算法,然后喂给它大量相应的现实例子,让它通过这些例子学习,并改善算法的准确度,这样就能预测出更加符合现实的结果。这样解释,或许还抽象些,举个无人驾驶的例子,首先确定驾驶学习的算法,然后让司机去驾驶,并在驾驶的过程中把路况信息和对应的司机的驾驶操作“喂”给机器,让它学习并改善驾驶算法,当它学习到足够多的例子后,就像人脑一样对驾驶技术有了“经验”,下次输入给它一个路况信息,它就能输出一个更加符合人为的操作来控制汽车,达到无人驾驶的目的。所以,让算法能够达到模拟人脑的地步,就要喂给它大量的实例让它学习,这对计算机的运算速度提出了很高的要求,这就是为什么机器学习在上世纪很早就提出来,由于那时计算机的运算速度并不高,但最近几年才被人们重视研究起来。

2.机器学习算法的目的?

    笔者通过学习吴恩达老师的机器学习课程,总结到,机器学习的核心在于找到“合适的最好的”学习算法,使得算法运算出的结果(预测结果)与现实结果的偏差尽可能的小。当然,偏差越小越好,但我们没有上帝视角,很难说我们得到预测结果与现实结果的偏差最小,只能通过更多的现实实例和算法的思维逻辑去不断优化。每一个算法都是数学家和算法工程师经过相当长时间的观察总结,计算得出的,并在研究的过程中不断优化。

3.学习算法的分类?

    在吴恩达老师的课程中,学习算法最常用的两个分类:监督学习和无监督学习。什么是监督学习?我们给定学习算法一个数据集,这些数据集由“正确答案”组成,再根据这些数据集做出预测。这么说很抽象,比如说预测一个肿瘤是良性的还是恶性的,我们预测的依据可以是肿瘤的大小,当然也可以由其他因素(如患者的年龄,患者的体质等等),为了方便理解,我们就取一个预测的依据即肿瘤的大小。
机器学习系列
    对于图中的每一个数据集,我们都可以知道它们哪些是良性的,哪些是恶性的,它们的结果是确定并已知道的,而且对于它们的良性和恶性的分类一目了然,将这些分类清晰的数据集喂给算法让其学习,就是监督学习。比较出名的线性回归、逻辑回归、神经网络以及支持向量机等都是监督学习算法。
    什么是无监督学习?对于数据集的标签未知或者根本就没有标签加以区分。我们拿到这些数据集后不知道它们是什么,不知道它们表示什么含义,不知道作何处理。以下图为例。我们只知道这些样本集,但不知道它们有什么分类的标准,从图中获得的信息就只有,它们可以分为两个聚集簇而已。
机器学习系列
    而无监督学习也可以判断出数据有两个不同的聚集簇,所以叫聚类算法。这种算法可以用在很多地方。比如谷歌新闻网站里面有很多新闻信息,而且每天都在更新大量的新闻,谷歌新闻可以将这些新闻分组,组成关联的新闻,所以谷歌新闻做的就是搜索非常多的新闻事件,自动将它们聚类到一起。所以对于同一主题的新闻,就显示到一起。

4.总结与后续

    经过此次的介绍使我们对机器学习有了大致的了解,知道了我们研究学习算法的目的,以及算法的分类。笔者通过学习吴恩达老师的机器学习课程,并在此基础上加入了自己的理解,希望通过自己的理解使大家对机器学习的认识更加清晰、简单易懂。在后续的连载中,我将开始介绍特定的学习算法,和这些算法是如何工作的,尽可能得让大家知道如何来实现它们。