机器学习概述

1. 定义

假设用 PP 来评估计算机程序在某任务类 TT 上的性能,若一个程序通过利用经验 EETT 中的任务上获得了性能改善,我们就说关于 TTPP,该程序对 EE 进行了学习。

2. 分类

  • 机械学习
  • 示教学习
  • 类比学习
  • 归纳学习(主流技术,涵盖监督学习、无监督学习等,相当于「从样例中学习」)

3. 归纳学习

3.1 符号主义

  • 决策树:经典的决策树学习以信息论为基础,以信息熵的最小化为目标,直接模拟了人类对概念进行判定的树形流程。

  • 基于逻辑的学习:ILP(Inductive Logic Programming)使用一阶逻辑(谓词逻辑)来进行知识表示,通过修改和扩充逻辑表达式来完成对数据的归纳。

3.2 统计学习

  • 支持向量机(SVM)

  • 核方法

3.3 连接主义

  • 深度学习

4. 基本术语

一般地,令 D={x1,x2,,xm} D = \{\boldsymbol{x_1,x_2,\cdots,x_m}\} 表示包含 mm 个示例的数据集,每个示例由 dd 个属性描述,则每个示例 xi=(xi1,xi2,,xid) \boldsymbol{x_i} = (x_{i1},x_{i2},\cdots,x_{id}) dd 维样本空间 χ\chi 中的一个向量,xiX \boldsymbol{x_i} \in \mathcal{X} ,其中 xijx_{ij}xi\boldsymbol{x_i} 在第 jj 个属性上的取值,dd 称为样本 xi\boldsymbol{x_i} 的维数。

  • 属性张成的空间称为「属性空间」或「样本空间」或「输入空间」。

  • 从数据中学习得到模型的过程称为「学习」或「训练」;训练过程中使用的数据称为「训练数据」,其中每个样本称为一个「训练样本」,训练样本组成的集合称为「训练集」。

  • 拥有了「标记信息」的示例则称为「样例」;一般用 (xi,yi)\boldsymbol{(x_i,y_i)} 表示第 ii 个样例,其中 yiY \boldsymbol{y_i} \in \mathcal{Y} 是示例 xi\boldsymbol{x_i} 的标记,Y\mathcal{Y} 是所有标记的集合,称为「标记空间」或「输出空间」。

  1. 根据预测结果的离散/连续,可将学习任务分为「分类」和「回归」。
  2. 根据训练数据是否拥有标记信息,可将学习任务分为「监督学习」和「无监督学习」。
  • 仿射函数:从 Rn\mathbb{R}^nRm\mathbb{R}^m 的映射 xAx+b x \rightarrow Ax + b ,称为仿射变换/映射,其中 AA 是一个 m×nm \times n 矩阵,bb 是一个 mm 维向量。当 m=1m = 1 时,称上述仿射变换为仿射函数。当仿射函数的常数项 bb 为 0 时,称仿射函数为线性函数

其中,AA 是仿射变换的权重参数bb 是仿射变换的偏置参数

  • 模型的容量:模型拟合各种函数的能力。

容量低的模型可能很难拟合训练集,容量高的模型可能会过拟合。

  1. 表示容量:模型规定了调整参数降低训练目标时,学习算法可以从哪些函数族中选择函数,这被称为模型的表示容量。
  2. 有效容量:实际上由于额外的限制因素,比如优化算法的不完美,导致学习算法的有效容量可能小于模型族的表示容量。
  • 正规方程:通过以下式子给出解的系统方程被称为正规方程:

w=(X(train)TX(train))1X(train)Ty(train)\begin{array}{c} w = (X^{(train)T}X^{(train)})^{-1} X^{(train)T} y^{(train)} \end{array}

  • 贝叶斯误差:从预先知道的真是分布 p(x,y)p(x,y) 预测而出现的误差被称为贝叶斯误差。

  • 正则化:正则化是指修改学习算法,使其降低泛化误差而非训练误差。

  • 超参数:需要人工设置的参数,不是学习得到的参数。

4.1 分类 & 回归

  • 如果预测的是离散值,则称此类学习任务为「分类」。
  1. 对于二分类任务,通常令 Y={1,+1} \mathcal{Y} = \{-1,+1\} {0,1}\{0,1\}
  2. 对于多分类任务,Y>2 |\mathcal{Y}| \gt 2
  • 如果预测的是连续值,则称此类学习任务为「回归」。

对于回归任务,YR \mathcal{Y} \in \mathbb{R} R\mathbb{R} 为实数集。

4.2 监督学习 & 无监督学习

  • 监督学习:分类任务、回归任务

  • 无监督学习:聚类

5. 数据

训练数据用于参数(权重和偏置)的学习,验证数据用于超参数的性能评估,测试数据应用于确认模型的泛化能力(比较理想情况的是只用一次)。

5.1 表示数据集

  • 对于样本向量维度相同的情况,表示数据集的常用方法是设计矩阵:设计矩阵的每一行包含一个不同的样本,每一列对应不同的特征。

6. VC 维

VC 维用来度量二元分类器的容量。

6.1 定义

VC 维定义为该分类器能够分类的训练样本的最大数目。假设存在 mm 个不同 xx 点的训练集,分类器可以任意地标记该 mm 个不同的 xx 点,VC 为被定义为 mm 的最大值。

6. 附录

  • 免费机器学习算法程序库 WEKA