机器学习学习笔记--简介

Page content

机器学习是目前信息技术中最激动人心的方向之一。在我们的工作中,或许无时无刻都在享受着机器学习的成果,比如:在google搜索你需要的内容;在facebook照片中认出你的朋友;邮件的反垃圾系统等等。

机器学习之所以如此受欢迎,是因为其不只是用于人工智能领域。通过编程,我们可以让机器做一些基础的工作,如找到A和B之间最短的路径,但是我们还是不知道怎么让机器做更有趣的事情,如:web搜索、照片标记和反垃圾邮件。最后我们发现,唯一的方法是让机器自己学习怎么来解决问题,所以,机器学习成为了计算机的一个能力。

1. 概述

1.1 简介

机器学习是目前信息技术中最激动人心的方向之一。在我们的工作中,或许无时无刻都在享受着机器学习的成果,比如:在google搜索你需要的内容;在facebook照片中认出你的朋友;邮件的反垃圾系统等等。

机器学习之所以如此受欢迎,是因为其不只是用于人工智能领域。通过编程,我们可以让机器做一些基础的工作,如找到A和B之间最短的路径,但是我们还是不知道怎么让机器做更有趣的事情,如:web搜索、照片标记和反垃圾邮件。最后我们发现,唯一的方法是让机器自己学习怎么来解决问题,所以,机器学习成为了计算机的一个能力。

机器学习已经渗透到各个行业和基础科学中。例如:

  • 数据挖掘:网络和自动化技术的快速增长,提供了一个庞大的数据集,利用算法来分析用户的行为和喜好,更好的了解用户,并为用户提供更好服务。
  • 医疗行业:电子医疗记录,能将医疗记录变成医疗知识,使我们更好的了解疾病
  • 计算机生物学:分析大量基因序列、DNA序列等,更好的认识人类的进化等等
  • 机械应用:让计算机学会如何做大量重复性的工作,比如告诉计算机如何驾驶直升机,如何控制机械手臂和分拣货物等。
  • 自然语言处理:语音识别、人工翻译等
  • 计算机视觉:人脸识别、图像识别、检测和跟踪等

1.2 定义

机器学习有两种官方的定义:

  1. 定义1 :机器学习是一种无需显式编程就能使计算机自行学习的研究领域

原文:the field of study that gives computers the ability to learn without being explicitly programmed. by Arthur Samuel

  1. 定义2 :一个计算机程序,能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P来度量,程序在处理T时的性能有所提升。

原文:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

以playing checkers为例:

E = the experience of playing many games of checkers

T = the task of playing checkers.

P = the probability that the program will win the next game.

任何机器学习问题都可以分为如下两类:

  • 监督学习
  • 非监督学习

2. 监督学习

在监督学习中,我们得到一个数据集,并且已经知道我们的正确输出是什么样的,而且认为输入和输出中存在一定的关系。

监督学习问题被划分为两类:一类是分类问题,一类是回归问题。在回归问题中,我们试图在连续输出中预测结果,这意味着我们正在尝试将输入变量映射到某个连续函数;在分类问题中,我们试图在离散输出中预测结果,换句话说,我们试图将输入变量映射到离散函数。

2.1 回归问题示例

预测房价:我们收集到一些房价信息,横轴表示房子的面积,单位是英尺,纵轴表示房价,单位是千美元。那么,基于这样一组数据,假设你有一套750英尺的房子待售,能卖多少钱?

在这个监督学习问题中,我们可以知道此问题的E,T,P如下:

  • E :已售出的房子,面积和房价数据
  • T :预测房价
  • P :预测房价的准确性

根据算法,我们可以用一条直线去拟合这些数据,如上图所示,这样,该房子能卖到$\$150,000$ 美元;如果我们用一条曲线去拟合这些数据,那么,我们可以将这套房子卖到$\$200,000$美元。后续我们将讨论如何选择学习算法,让房子出售得更合理,这就是监督学习回归问题中需要解决的问题。

2.2 分类问题示例

预测乳腺肿瘤良性还是恶性:我们有一些乳腺肿瘤的病例,想根据这些病例来预测乳腺肿瘤良性与否。如下图:

x轴代表肿瘤的大小,y轴代表良性还是恶性。通过算法,我们这些离散的点进行分类,这样一来就得到肿瘤大小和良恶性之间的关系,从而来预测肿瘤的良性恶性。当然,本例子中只使用了一个特征和属性,实际问题中,可能存在多种不同的特征来影响肿瘤的良性恶性。

在上图中有,左边通过年龄和肿瘤大小来分类肿瘤的良性恶性,当然还有右边的一些特征,如肿块厚度、细胞大小均匀性和细胞形状均匀性等等,我们利用大量的特征,或者说线索来做推测,使得预测结果更加精准。以上就是监督学习分类问题的示例,在分类问题中,我们需要将大量的离散样本进行分类,然后通过分类结果进行预测。

2. 无监督学习

无监督学习可以使我们能够在很少或根本不知道我们的结果应该是什么样的情况下解决问题。我们可以在不必知道变量影响的情况下推导出这个数据集的结构。我们可以通过基于数据集中变量之间的关系来对数据进行聚类,从而推导出数据之间的结构关系。

在无监督学习中,我们没有基于预测结果的反馈。无监督学习大体上也可以分为两类:聚类问题和非聚类问题。

2.1 聚类问题示例

问题:我们收集了1,000,000个不同个体的基因序列,并找到一种方法将这些基因自动分组成不同的相似或通过不同变量相关的组,例如寿命,位置,角色等。

在这个问题中,我们没有提前告诉计算机那些是第一类人,那些是第二类人等等。我们得到的仅仅只有一堆数据,并且需要解决的问题是将这些数据按照某种相似条件进行聚类,这就是无监督学习聚类问题需要解决的。

2.2 非聚类问题

鸡尾酒会问题:在一次鸡尾酒会上,有很多人在聊天,声音彼此重叠,因为每个人在同一时间都在说话,你几乎听不到你面前那人的声音。假设,现在有一个小型的鸡尾酒会,摆放着两个麦克风,有两个人分别在用英文和中文说1,2,3,4,5….,这份”谈话”被两个麦克风都记录下来。如下图所示:

我们需要用算法将英文和中文的语音分离出来,在这个问题中,两份数据中均有这次“谈话“的录音,这就是能提供的数据集,无监督学习需要解决的是分离出英文和中文的语音。

3. 总结

在本节课程中,我们大体了解了机器学习的应用场景、定义,机器学习的分类以及每一类中的常见应用。后面会由浅入深的讲解这些应用中用到的算法。