机器学习概述


  机器学习( Machine Learning , ML )就是让计算机从数据中进行自动学习,得到某种知识(或规律).机器学习也经常称为模式识别( Pattern Recognition ,PR ).

2.1 基本概念

  一个标记好的特征以及标签的分类成为一个样本,一组样本构成的集合称为数据集( Data Set ).一般将数据集分为两部分:训练集和测试集.训练集( Training Set )中的样本是用来训练模型的,也叫训练样本( Training Sample ),而测试集( Test Set )中的样本是用来检验模型好坏的,也叫测试样本( Test Sample ).

  给定训练集 𝒟 ,我们希望让计算机从一个函数集合 ℱ = { f f f1 (𝒚), f f f2 (𝒚),⋯} 中自动寻找一个“最优”的函数 f f f*(𝒚) 来近似每个样本的特征向量 x x x和标签 y y y之间的真实映射关系.如何寻找函数 f f f*(𝒚) 是机器学习的关键,一般需要通过学习算法(Learning Algorithm)来完成.这个寻找过程通常称为学习( Learning )或训练( Training )过程.

2.2 机器学习的三要素

  机器学习方法可以粗略地分为三个基本要素:模型、学习准则、优化算法.

2.2.1 模型

  对于一个机器学习任务,首先要确定其输入空间 x x x 和输出空间 y y y ( x , y ) ∈ X × Y (x,y)\in X×Y (x,y)X×Y,假定 x x x y y y 之间的关系可以通过一个未知的真实映射函数 y = g ( x ) y = g(x) y=g(x) 或真实条件概率分布 p p pr ( y ∣ x ) (y|x) (yx)来描述.机器学习的目标是找到一个模型来近似真实映射函数 g ( x ) g(x) g(x)或真实条件概率分布 p p pr ( y ∣ x ) (y|x) (yx)

  假设一个函数集合 ℱ ,称为假设空间( Hypothesis Space ),然后通过观测其在训练集 𝒟 上的特性,从中选择一个理想的假设( Hypothesis ) f f f* ∈ \in ℱ.
  假设空间 ℱ 通常为一个参数化的函数族: F = { f ( x ; θ ) ∣ θ ) ∈ R D } ℱ=\lbrace f(x;\theta)|\theta)\in R^D \rbrace F={f(x;θ)θ)RD}其中 f ( x ; θ ) f(x;\theta) f(x;θ)是参数为 θ \theta θ的函数,也称为模型(Model),D为参数的数量.

  常见的假设空间有线性和非线性两种,对应的 f f f也分别成为线性模型和非线性模型.而非线性的模型就等价于神经网络模型.

2.2.2 学习准则

  一个好的模型 f ( x ; θ ) f(x;\theta) f(x;θ) 应该在所有 ( x , y ) (x,y) (x,y) 的可能取值上都与真实映射函数 g ( x ) g(x) g(x) 一致.模型的好坏可以通过期望风险来衡量,而期望风险是用损失函数来定义,损失函数是用来量化两个变量 y , f ( x ; θ ) y,f(x;\theta) y,f(x;θ)之间的差异的函数.常用的损失函数有:0-1损失函数、平方损失函数、交叉熵损失函数和Hinge损失函数.

  风险最小化准则( Empirical Risk Minimization , ERM ):一个好的模型 f ( x ; θ ) f(x;\theta) f(x;θ) 应该有一个比较小的期望错误,但由于不知道真实的数据分布和映射函数,实际上无法计算其期望风险,给定一个训练集 𝒟我们可以计算的是经验风险,即在训练集上的平均损失.因此,一个切实可行的学习准则是找到一组参数使得经验风险最小.

  过拟合( Overfitting ):经验风险最小化原则很容易导致模型在训练集上错误率很低,但是在未知数据上错误率很高.

  结构风险最小化( Structure Risk Minimization , SRM )准则:为了解决过拟合问题,一般在经验风险最小化的基础上再引入参数的正则化( Regularization )来限制模型能力,使其不要过度地最小化经验风险.

  和过拟合相反的一个概念是欠拟合( Underfitting ),即模型不能很好地拟合训练数据,在训练集上的错误率比较高.欠拟合一般是由于模型能力不足造成的.

2.2.3 优化算法

  在确定了训练集 𝒟 、假设空间 ℱ 以及学习准则后,如何找到最优的模型 y , f ( x ; θ ) y,f(x;\theta) y,f(x;θ)就成了一个最优化( Optimization )问题.

  在机器学习中,优化又可以分为参数优化和超参数优化.模型 y , f ( x ; θ ) y,f(x;\theta) y,f(x;θ) 中的 𝜃 称为模型的参数,可以通过优化算法进行学习.除了可学习的参数𝜃 之外,还有一类参数是用来定义模型结构或优化策略的,这类参数叫作超参数( Hyper-Parameter ).其中超参数优化是机器学习的一个经验性很强的技术.

  在机器学习中,最简单、常用的优化算法就是梯度下降法,首先初始化参数𝜃0,然后按迭代公式来计算训练集 𝒟 上风险函数的最小值.针对梯度下降的优化算法,除了加正则化项之外,还可以通过提前停止来防止过拟合.

梯度下降算法分为批量梯度下降算法、随机梯度下降算法和小批量梯度下降法.

  • 批量梯度下降算法在样本数量很大时空间复杂度会很高,每次迭代的开销会很大.
  • 为了减少每次迭代的计算复杂度,我们也可以在每次迭代时只采集一个样本,计算这个样本损失函数的梯度并更新参数,即随机梯度下降法.
  • 随机梯度下降法的一个缺点是无法充分利用计算机的并行计算能力.小批量梯度下降法(Mini-Batch Gradient Descent)是批量梯度下降和随机梯度下降的折中.每次迭代时,我们随机选取一小部分训练样本来计算梯度并更新参数,这样既可以兼顾随机梯度下降法的优点,也可以提高训练效率.

  小批量随机梯度下降法有收敛快、计算开销小的优点,因此逐渐成为大规模的机器学习中的主要优化算法

2.3 机器学习的简单示例——线性回归

  线性回归( Linear Regression )是机器学习和统计学中最基础和最广泛应用的模型,是一种对自变量和因变量之间关系进行建模的回归分析.自变量数量为 1 时称为简单回归,自变量数量大于 1 时称为多元回归.

  从机器学习的角度来看,自变量就是样本的特征向量 x x x,因变量是标签 y y y.假设空间是一组参数化的线性函数 f ( x ; w , b ) = w ⊤ x + b f(x;w,b) = w^ \top x+b f(x;w,b)=wx+b
其中权重向量 𝒙 和偏置 b b b 都是可学习的参数,函数 f ( x ; w , b ) f(x;w,b) f(x;w,b)也称为线性模型.

  有四种不同的参数估计方法:经验风险最小化、结构风险最小化、最大似然估计、最大后验估计.具体参数估计方法需研读本书.

2.4 偏差 - 方差分解

  为了避免过拟合,我们经常会在模型的拟合能力和复杂度之间进行权衡.拟合能力强的模型一般复杂度会比较高,容易导致过拟合.相反,如果限制模型的复杂度,降低其拟合能力,又可能会导致欠拟合.因此,如何在模型的拟合能力和复杂度之间取得一个较好的平衡,对一个机器学习算法来讲十分重要.偏差 - 方差分解( Bias-Variance Decomposition )为我们提供了一个很好的分析和指导工具.

  偏差( Bias ),是指一个模型在不同训练集上的平均性能和最优模型的差异,可以用来衡量一个模型的拟合能力.第二项是方差( Variance ),是指一个模型在不同训练集上的差异,可以用来衡量一个模型是否容易过拟合.

下面给出了机器学习模型的四种偏差和方差组合情况:

  • 理想情况,方差和偏差都比较低.
  • 高偏差低方差的情况,表示模型的泛化能力很好,但拟合能力不足.
  • 低偏差高方差的情况,表示模型的拟合能力很好,但泛化能力比较差.当训练数据比较少时会导致过拟合.
  • 高偏差高方差的情况,是一种最差的情况.

  一般来说,当一个模型在训练集上的错误率比较高时,说明模型的拟合能力不够,偏差比较高.这种情况可以通过增加数据特征、提高模型复杂度、减小正则化系数等操作来改进.当模型在训练集上的错误率比较低,但验证集上的错误率比较高时,说明模型过拟合,方差比较高.这种情况可以通过降低模型复杂度、加大正则化系数、引入先验等方法来缓解.此外,还有一种有效降低方差的方法为集成模型,即通过多个高方差模型的平均来降低方差.

2.5 机器学习算法的类型

  一般来说,我们会按照训练样本提供的信息以及反馈方式的不同,将机器学习算法分为监督学习,无监督学习和强化学习.

  • 监督学习( Supervised Learning ):如果机器学习的目标是建模样本的特征 x x x和标签 y y y之间的关系: f ( x ; θ ) f(x;\theta) f(x;θ) p ( y ∣ x ; θ ) p(y|x;\theta) p(yx;θ),并且训练集中每个样本都有标签.根据标签类型的不同,监督学习又可以分为回归问题、分类问题和结构化学习问题.

    1. 回归( Regression )问题中的标签 𝑧 是连续值(实数或连续整数), f ( x ; θ ) f(x;\theta) f(x;θ)的输出也是连续值.
    2. 分类( Classification )问题中的标签 𝑧 是离散的类别(符号).在分类问题中,学习到的模型也称为分类器( Classifier ).
    3. 结构化学习( Structured Learning )问题是一种特殊的分类问题.在结构化学习中,标签 𝒛 通常是结构化的对象,比如序列、树或图等.
  • 无监督学习 Unsupervised Learning , UL )是指从不包含目标标签的训练样本中自动学习到一些有价值的信息.

  • 强化学习( Reinforcement Learning , RL )是一类通过交互来学习的机器学习算法.

2.6 数据的特征表示

  在实际应用中,数据的类型多种多样,比如文本、音频、图像、视频等.不同类型的数据,其原始特征( Raw Feature )的空间也不相同.而很多机器学习算法要求输入的样本特征是数学上可计算的,因此在机器学习之前我们需要将这些不同类型的数据转换为向量表示.

  • 图像特征:在手写体数字识别任务中,样本 x x x为待识别的图像.为了识别 x x x是什么数字,我们可以从图像中抽取一些特征.如果图像是一张大小为 M × N M×N M×N的图像,其特征向量可以简单地表示为 M × N M×N M×N 维的向量,每一维的值为图像中对应像素的灰度值.
  • 文本特征:在文本情感分类任务中,样本 x x x为自然语言文本.为了将样本 𝑦 从文本形式转为向量形式,一种简单的方式是使用词袋( Bag-of-Words , BoW )模型.

  为了提高机器学习算法的能力,我们需要抽取有效、稳定的特征.传统的特征提取是通过人工方式进行的,需要大量的人工和专家知识.一个成功的机器学习系统通常需要尝试大量的特征,称为特征工程( Feature Engineering ).

  如何让机器自动地学习出有效的特征也成为机器学习中的一项重要研究内容,称为特征学习( Feature Learning ),也叫表示学习( Representation Learning ).

2.6.1 传统的特征学习

  传统的特征学习一般是通过人为地设计一些准则,然后根据这些准则来选取有效的特征,具体又可以分为两种:特征选择和特征抽取.

  特征选择( Feature Selection )是选取原始特征集合的一个有效子集,使得基于这个特征子集训练出来的模型准确率最高.一种直接的特征选择方法为子集搜索( Subset Search ).常用的自己搜索方法是采用贪心的策略:由空集合开始,每一轮添加该轮最优的特征,称为前向搜索( Forward Search );或者从原始特征集合开始,每次删除最无用的特征,称为反向搜索( Backward Search ).

子集搜索方法可以分为过滤式方法和包裹式方法:

  1. 过滤式方法( Filter Method )是不依赖具体机器学习模型的特征选择方法.每次增加最有信息量的特征,或删除最没有信息量的特征
  2. 包裹式方法( Wrapper Method )是使用后续机器学习模型的准确率作为评价来选择一个特征子集的方法.

  特征抽取( Feature Extraction )是构造一个新的特征空间,并将原始特征投影在新的空间中得到新的表示.

特征抽取又可以分为监督和无监督的方法:

  1. 监督的特征学习的目标是抽取对一个特定的预测任务最有用的特征,比如线性判别分析( Linear Discriminant Analysis, LDA ).
  2. 无监督的特征学习和具体任务无关,其目标通常是减少冗余信息和噪声,比如主成分分析( Principal Component Analysis , PCA )和自编码器( Auto-Encoder , AE ).

  特征选择和特征抽取的优点是可以用较少的特征来表示原始特征中的大部分相关信息,去掉噪声信息,并进而提高计算效率和减小维度灾难( Curse of Dimensionality ).

2.6.2 深度学习方法

  如果我们将特征的表示学习和机器学习的预测学习有机地统一到一个模型中,建立一个端到端的学习算法,就可以有效地避免它们之间准则的不一致性.这种表示学习方法称为深度学习( Deep Learning , DL ).

2.7 评价指标

  为了衡量一个机器学习模型的好坏,需要给定一个测试集,用模型对测试集中的每一个样本进行预测,并根据预测结果计算评价分数. 对于分类问题,常见的评价标准有准确率、精确率、召回率和 F 值等.

   最常用的评价指标为准确率( Accuracy ),和准确率相对应的就是错误率( Error Rate ).准确率是所有类别整体性能的平均,如果希望对每个类都进行性能估计,就需要计算精确率( Precision )和召回率( Recall ).

基于混淆矩阵的概念下,我们可以进一步定义查准率、查全率和 F 值.

  • 精确率( Precision ),也叫精度或查准率,类别 c 的查准率是所有预测为类别 c 的样本中预测正确的比例
  • 召回率( Recall ),也叫查全率,类别 c 的查全率是所有真实标签为类别 c 的样本中预测正确的比例
  • F 值( F Measure )是一个综合指标,为精确率和召回率的调和平均

  为了计算分类算法在所有类别上的总体精确率、召回率和 F1值,经常使用两种平均方法,分别称为宏平均( Macro Average )和微平均( Mi-cro Average )

  • 宏平均是每一类的性能指标的算术平均值
  • 微平均是每一个样本的性能指标的算术平均值.

  交叉验证( Cross-Validation )是一种比较好的衡量机器学习模型的统计分析方法,可以有效避免划分训练集和测试集时的随机性对评价结果造成的影响.

2.8 理论和定理

  • PAC 学习理论:一个 PAC 可学习( PAC-Learnable )的算法是指该学习算法能够在多项式时间内从合理数量的训练数据中学习到一个近似正确的 f ( x ) f(x) f(x)
  • 没有免费午餐定理( No Free Lunch Theorem ,NFL ):对于基于迭代的最优化算法,不存在某种算法对所有问题(有限的搜索空间内)都有效.
  • 奥卡姆剃刀( Occam’sRazor )原理: “如无必要,勿增实体”,简单的模型泛化能力更好.
  • 丑小鸭定理( Ugly Duckling Theorem ):“丑小鸭与白天鹅之间的区别和两只白天鹅之间的区别一样大”.
  • 在机器学习中,很多学习算法经常会对学习的问题做一些假设,这些假设就称为归纳偏置(ductive Bias ) .归纳偏置在贝叶斯学习中也经常称为先验( Prior ).
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值