01 The Learning Problem

《机器学习基石》系列课程(一)

感谢台湾大学林轩田老师!

该系列文章通过我在学习林轩田老师的“机器学习基石”课程的笔记整理而来,用以巩固所学。内容共分为16章,将陆续发布!

本章是学习机器学习的第一章,将对机器学习做一个简要的介绍,包括什么是机器学习,什么时候可以用机器学习,机器学习的应用领域以及机器学习与一些学科的异同等。

什么是机器学习

我们常说“学习”,当其主体是人类的时候,学习是你我通过观察,将经验转化为技巧的过程。而对于计算机来说,它的学习则是模仿人类的行为,所不同的是其是从数据出发,通过计算,进而能够达到目标任务的性能表现的提高。当计算机在这个过程中提高了性能,我们就可以说它学到了技巧。
传统的学习任务往往制定很多规则,而使用机器学习的方法可能要比制定几百条规则所得到的任务完成效果要好很多。
机器学习的一个更加具体的定义:从资料出发,计算出一个假说g,并使g最接近我们需要的函数f。

什么时候可能用到机器学习

  1. 对于一些人类很难编写的任务可能会用到机器学习,比如火星探测器,其往往难以在发射之前就能做出完美的预案,需要学习来处理一些新情况。
  2. 对于难以写出规则的任务,如视觉和语音的识别,仅仅依靠规则很难完成这样的任务。
  3. 对于一些需要快速决策的任务,人类很难胜任,例如股票市场中,有时需要短时间做出决策,但面对大量的数据量人类往往束手无策。

机器学习的关键

  1. 需要有知识可以被学到(或者说包含隐藏的模式),对于不能学习到新知识的任务应用机器学习是没有意义的。
  2. 任务不能或者很难定义规则。
  3. 需要有足够的数据来支撑。

机器学习的应用领域

ml is everywhere! 在衣食住行娱乐教育等各个领域都能看到它的应用。

机器学习的具体过程

当前有这样一个任务:银行需要根据信用卡申请人的个人信息来决定是否通过他的申请,考虑因素可能包括申请人的负债情况、消费能力等等。当我们面对这样的一个问题时,机器学习的处理方式一般如下所示:

输入和输出:

1
2
x: input # 申请人信息
y: output # 是否发卡

有这样一个隐含的模式需要学习,或者称之为目标函数:

1
f: x -> y # target function 

我们已经有的数据:

1
D = {(x1, y1), (x2, y2), ..., (xn, yn)}

最终学习一个hypothesis g(我们不知道f, 需要从数据中学习到g),当g和f越相似越好(当然,求得一个和f相同的g是最好的,但是再实际任务上很难做到)。

机器学习模型

机器学习模型由两部分组成:演算法 + hypothesis set。

其中hypothesis set H 包含很多假设,其中也有好的假设也有坏的假设。
而演算法则用于在H中选择最好的g。

机器学习与其他学科

数据挖掘 (Data Mining)

机器学习的目的是通过计算学习到一个最接近f的假说f,而数据挖掘则是使用大量数据寻找有趣的性质。
二者的区别是其目的。它们可以相互利用以提高性能。这两个领域是密不可分的。

人工智能 (Artificial Intelligence)

AI:compute something that shows intelligent behavior.
机器学习是AI的一种实现方式。

统计学 (Statistics)

统计学使用数据预测未知的概率。是ML的一种方法,很多机器学习方法来源于统计学。

文章内容和图片均来自“国立台湾大学林轩田老师”的《机器学习基石》课程!

— END —