1. 简介


本章是对机器学习的初步介绍,包括一些关键的学习任务和应用,基本定义,术语,以及对一些一般场景的讨论.

1.1 何为机器学习


  机器学习可以广泛地定义为使用经验来提高性能或进行准确预测的计算方法。在这里,经验是指可以获取的过去信息,一般是可以用于分析的电子数据形式。这些数据可以是数字化的人工标记的训练集形式,或者是通过与环境互动获得的其他类型的信息。无论何种情形,数据集的质量和大小对于最终预测的结果而言都至关重要。
  一个学习问题的例子是如何使用有限的随机选取的样本文档(每个文档都有一个主题与之对应),来准确的预测从未出现的文档主题。
  机器学习包括设计高效且准确的预测算法。如同计算机科学的其他领域,对于这些算法质量的一个重要衡量指标是其时间和空间复杂度。但是对于机器学习算法而言,我们还需注意样本复杂度的概念

1.2 机器学习能够解决哪些问题


  • 文本分类. 包括确定文档、文本主题,或者自动判定网页内容是否不当,以及垃圾邮件检测
  • 自然语言处理(NLP)
  • 语音处理
  • 计算机视觉
  • 计算机生物学
  • 其他问题如信用卡欺诈检测

1.3 一些标准学习任务


  • 分类(Classification):即给每一个样本分配一个类别。例如,文本分类包括对每个文本分配一个诸如政治、商业、体育或者天气的标签;图片分类包括给每一张图片分配一个诸如汽车、火车或者飞机的标签。
  • 回归(Regression):即对每一个样本预测其真实值。回归的例子包括股票价格预测。在回归问题中,对于不准确预测的惩罚取决于真实值和预测值之间差异的程度。
  • 排名(Ranking):即根据某些标准对目标进行排序。例如网页搜索,返回与搜索查询结果相关的网页,是一个典型的排名问题
  • 聚类(Clustering):即将目标集合划分为相似的子集。聚类通常用于分析非常大的数据集。
  • 降维(Dimensionality reduction):即在保留初始特征的某些重要属性下,将某一对象的初始化特征转化为低维度的特征表示。常见的例子如计算机视觉中图片的处理。

1.4 学习步骤


 在这里,我们将使用垃圾邮件检测问题作为一个例子来说明一些基本的定义和描述机器学习算法在实践中的使用和评价,包括它们的不同阶段。
 垃圾邮件检测的问题是学习自动将电子邮件信息分为垃圾邮件或非垃圾邮件。 下面是机器学习中常用的定义和术语:

  • 样本:用于学习或者评价的数据实例。在垃圾邮件问题中,样本包括用于学习和测试的邮件信息集合。
  • 特征:与某一样本相关的属性的集合,通常由向量表示。在垃圾邮件问题中,一些相关的特征可能包括邮件信息长度,发件人姓名,标题的各种特征,邮件正文中出现的某系特定关键词。
  • 标签:给予每个样本的数值或者类别。在分类问题中,样本被赋予一些特定的类别,如,垃圾邮件,非垃圾邮件;在回归问题中,样本被赋予一个真实值标签。
  • 超参数:非学习算法所决定的自由参数。
  • 训练样本:用于训练一个学习算法的样本。在垃圾邮件分类问题中,训练样本包括带有标签的邮件集合。
  • 验证样本:用于调整学习算法参数的样本。验证样本用于为算法选择合适的超参数。
  • 测试样本:用于评价一个学习算法的表现。测试样本通常与训练和验证数据分开,并且不用于学习过程中。在垃圾邮件问题中,测试样本包括一系列算法需要根据特征预测标签的邮件样本集合。这些预测结果将与测试样本的标签进行对比以衡量算法的表现。
  • 损失函数:用于衡量预测值与真实值之间差距的函数。将所有标签的集合记作Y\mathcal{Y}Y,可能的预测结果集合记作Y′\mathcal Y^{'}Y′,那么损失函数LLL就是定义在R+\mathbb{R_+}R+​上的映射:L:Y×Y′→R+L:\mathcal{Y} \times \mathcal Y^{'} \to \mathbb{R_+}L:Y×Y′→R+​。在大多数情况下,Y=Y′\mathcal{Y} = \mathcal Y^{'}Y=Y′,并且损失函数是有界的,但是这一条件并不总是成立。常见的损失函数包括0-1损失函数(误分类损失):{−1,+1}×{−1,+1}byL(y,y′)=1y≠y′\{-1,+1\} \times \{-1,+1\}\ by\ L(y,y^{'})=\mathbf{1}_{y \neq y^{'}}{−1,+1}×{−1,+1} by L(y,y′)=1y̸​=y′​;平方损失函数:J×JbyL(y,y′)=(y′−y)2,whereJ⊆R\mathcal{J} \times \mathcal{J}\ by\ L(y,y^{'}) = (y^{'}-y)^2, where \mathcal{J} \subseteq \mathbb{R}J×J by L(y,y′)=(y′−y)2,whereJ⊆R
  • 假设集合:将特征映射到标签Y\mathcal{Y}Y的函数集合。如,将邮件特征映射到Y={垃圾邮件,非垃圾邮件}\mathcal{Y}=\{垃圾邮件,非垃圾邮件\}Y={垃圾邮件,非垃圾邮件}的函数集合。

 我们现在定义垃圾邮件问题的学习步骤。从给定的邮件样本集合开始,我们首先随机的将数据划分为训练集,验证集和测试集。这些样本的大小取决于多种因素。例如,验证集数据量取决于算法中超参数的数量,我们用向量Θ\mathbf{\Theta}Θ表示这些超参数。此外,在带标签的样本量相对较小的情况下,训练集的数据量通常比测试集要大,因为算法的性能与训练集直接相关。
 接下来,我们对样本特征进行处理。这在设计机器学习算法过程中是至关重要的一步。有用的特征可以有效的对算法起指导作用,而较差的或者无用的特征可能会对算法产生误导。
 现在,我们使用这些选取的特征,通过调整超参数Θ\mathbf{\Theta}Θ来训练学习算法A\mathcal{A}A。对于这些参数的每个取值,学习算法在假设集合中选取不同的假设。我们选择在验证集上表现最好的一组超参数(Θ0\mathbf{\Theta_0}Θ0​)。最后,使用这一假设,我们在测试集中对标签进行预测,并且使用相关的损失函数对算法性能进行评估,例如,垃圾邮件分类问题中的0-1损失函数,来比较预测值与真实值。因此,算法的表现是基于测试误差而不是训练误差。

1.5 学习场景


  • 监督学习(Supervised Learning):模型接收带有标签的一系列样本集合作为训练数据,并且对所有未出现的点进行预测。这是分类,回归,以及排名问题中经常出现的场景。上文所述垃圾邮件分类就是监督学习的一个例子。
  • 无监督学习(Unsupervised Learning):模型只接收未标记的训练数据,并且对所有未出现的点进行预测。由于在这种情况下通常没有标记的样本可用,因此很难定量评估模型的表现。聚类降维均属于无监督学习。
  • 半监督学习(Semi-supervised Learning):模型接收的训练样本既包括有标签的数据,也包括无标签的数据,并且对所有未出现的样本进行预测。半监督学习通常出现在未标记数据容易获取但有标记数据获取困难的情况下
  • 转导推理(Transductive inference):正如半监督学习场景,模型接收一些带标签的训练样本和一些未标记的测试样本,然而,转导推理的目的是仅对某些特定的测试样本进行预测。
  • On-line Learning:和之前的场景不同,On-line Learning包含多个回合训练和测试环节的混合。在每个回合中,模型接收一些不带标签的训练样本,做出预测,然后与真实标签比较,计算损失。On-line Learning的目标是最小化所有回合的累积损失。和之前的几种场景相比,该场景并未对样本分布做出假设。
  • 强化学习(Reinforcement Learning):强化学习的训练和测试环节也是混合的。为了收集信息,模型积极地与环境交互,在某些情况下影响环境,并且每一个行为都会得到即时的奖励。模型的目标是最大化奖励。
  • 主动学习(Active learning):模型自适应或交互式地收集训练样本,通常是通过查询数据库为新样本请求标签。主动学习的目标是达到与标准的监督学习场景相当的表现,但是使用更少的带标签样本。主动学习通常适用于带标签样本难以获取的情形。

1.6 泛化


 机器学习从根本上来讲就是泛化。例如,标准的监督学习场景,根据一系列带标签的样本来对未出现的样本做出准确的预测。该问题通常被表述为从假设集合中选取一个函数,即所有函数簇的子集。所选的函数接下来将被用于标记所有实例,包括未出现的样本。
 如何选择一个假设集合呢?对于一个比较复杂的假设集合,学习模型或许会选择一个与训练样本一致的函数或者预测器,即在训练样本中零误差的函数。在一些复杂度没那么高的函数簇中,在训练样本中产生误差是在所难免的。但是,哪一种具有更好的泛化能力?我们该怎样定义假设集合的复杂度呢?

左侧的z型曲线可以将训练样本中蓝色和红色的点完美区分开,但是它是一个十分复杂的分离超平面,对于未出现的数据不具有很好的泛化能力。反之,右侧的决策面更加简单,并且对于未知数据具有更好的泛化能力,尽管在训练样本中表现的没那么好。

从上图可以看到,通常情况下,在训练样本中表现优异的预测器或许在整体上表现的并不是最好。从一个复杂函数簇中选择的预测器能够对数据产生记忆,但是泛化与对训练标签的记忆能力之间存在很大差异。
 样本大小和复杂度之间的平衡在泛化能力上扮演着重要的角色。当样本相对较小时,选择一个过于复杂的函数簇可能会导致较差的泛化能力,这也就是通常所说的过拟合(overfitting)。另一方面,过于简单的函数簇可能会使得预测精度不够高,即欠拟合(underfitting)

MIT机器学习基础(Foundations of Machine Learning, author: Mehryar Mohri et al.)相关推荐

  1. Foundations of Machine Learning 2nd——第一章 机器学习预备知识

    Foundations of Machine Learning 2nd--第一章 机器学习预备知识 前言 1.1 什么是机器学习(Machine learning) 1.2 什么样的问题可以用机器学习 ...

  2. 【机器学习笔记】可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning)

    [机器学习笔记]可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning) 目录 [机器学习笔记]可解释机器学习-学习笔记 Interpre ...

  3. ML之Medicine:利用机器学习研发药物—《Machine Learning for Pharmaceutical Discovery and Synthesis Consortium》

    ML之Medicine:利用机器学习研发药物-<Machine Learning for Pharmaceutical Discovery and Synthesis Consortium> ...

  4. Foundations of Machine Learning 2nd——第二章 PAC学习框架

    Foundations of Machine Learning 2nd--第二章 PAC学习框架 前言 定义介绍 Generalization error Empirical error 定理1 PA ...

  5. Foundations of Machine Learning 2nd——第五章SVMs(一)

    Foundations of Machine Learning 2nd--第五章(一) 本章内容 线性分类 可分情况 定义5.1 Geometric margin(几何边距) 优化目标 支持向量 Su ...

  6. 谷歌机器学习规则 (Rules of Machine Learning)

    机器学习规则 (Rules of Machine Learning) 往期文章: 机器学习之特征工程 机器学习之分类(Classification) 精确率.准确率.召回率 ------------- ...

  7. 吴恩达深度学习笔记——结构化机器学习项目(Structuring Machine Learning Projects)

    深度学习笔记导航 前言 传送门 结构化机器学习项目(Machine Learning Strategy) 机器学习策略概述 正交化(orthogonalization) 评价指标 数字评估指标的单一性 ...

  8. Foundations of Machine Learning: Rademacher complexity and VC-Dimension(2)

    Foundations of Machine Learning: Rademacher complexity and VC-Dimension(2) Foundations of Machine Le ...

  9. Foundations of Machine Learning 2nd——第二章 PAC学习框架 后记

    Foundations of Machine Learning 2nd--第二章 PAC学习框架后记 前言 Generalities 一般性 可确定性 VS 随机场景 定义1 Agnostic PAC ...

最新文章

  1. spring的有状态BEAN和无状态BEAN
  2. Android+Eclipse修改包路径
  3. Chapter 1 First Sight——17
  4. Internet History, Technology, and Security(week5)——Technology: Internets and Packets
  5. 大数据项目中的QA需要迎接新的挑战
  6. [vue-element] ElementUI表格组件如何实现动态表头?
  7. datagrid wpf 获取选中_c# WPF DataGrid 获取选中单元格信息
  8. iOS网络加载图片缓存策略之ASIDownloadCache缓存优化
  9. Win10系统 如何查看win10版本类型及版本号
  10. oracle12c常用新特性,开发者必读:Oracle12c新特性再总结
  11. linux 5.8 设备的mac地址与预想的不符 已忽略,解决“eth0设备的MAC 址与预想的不符,忽略”...
  12. 漏洞扫描器 - cmd命令行执行
  13. 阿里云maven仓库地址
  14. 【FinE】债券久期和凸性
  15. html如何实现文章分类功能,HTML文本自动分类技术的研究与工具的实现
  16. android的事件处理和传递机制实例
  17. No tests found for given includes: [xxx.xxx.testList](filter.includeTestsMatching)
  18. 无需PS,这些工具也能轻松更换寸照底色
  19. nginx配置同一个端口转发多个项目
  20. 第二十章:因特网协议第四版(IPv4):转发和本地传递

热门文章

  1. 小米蓝牙耳机无法连接且无法重新配对
  2. UNIX网络编程-listen函数及其包裹函数介绍
  3. R语言用灰色模型 GM (1,1)、神经网络预测房价数据和可视化
  4. HTTP代理的应用场景
  5. 有java基础学习大数据该如何规划
  6. 【PyQt5】解决:ibpng warning: iCCP: known incorrect sRGB profile / iCCP: cHRM chunk does not
  7. c程序设计语言 题解,C程序设计语言综合设计》 解题报告
  8. 不写代码、年薪百万,带你玩赚ChatGPT提示工程-基本提示
  9. 糖尿病诊断模型训练与结果预测
  10. 交换机安装方式的英文说明:挂壁式,耳朵式,桌面放置