花书第五章机器学习基础笔记

第五章 机器学习基础

机器学习基础 掌握机器学习的基本知识和基础原理

  • 机器学习基础[p87-p142]

5.1 学习算法

  • 机器学习算法:Mitchell (1997) 提供了一个简洁的定义:“对于某类任务 T T T 和性能度量 P P P,一个计算机程序被认为可以从经验 E E E中学习是指,通过经验 E E E 改进后,它在任务 T T T上由性能度量 P P P衡量的性能有所提升。”

5.1.1 任务T

  • 任务定义为机器学习系统应该如何处理样本(example)。样本是指从某些希望机器学习系统处理的对象或事件中收集到的已经量化的特征(feature)的集合。通常将样本表示为 x ∈ R 2 \boldsymbol{x}\in \mathbb{R}^2 xR2

常见的机器学习任务列举如下:

  • 分类:,计算机程序需要指定某些输入属于 k k k类中的哪一类。函数表示: f : R n → { 1 , ⋯   , k } f:\mathbb{R}^n\rightarrow \left \{ 1,\cdots ,k \right \} f:Rn{1,,k}
  • 输入缺失分类:当输入向量的每个度量不被保证的时候,学习算法必须学习一组函数.有效地定义这样一个大集合函数的方法是学习所有相关变量的概率分布,然后通过边缘化缺失变量来解决分类任务。
  • 回归:计算机程序需要对给定输入预测数值,预测数值是连续的,而分类任务的类别值是离散的。函数表示: f : R n → R f:\mathbb{R}^n\rightarrow \mathbb{R} f:RnR
  • 转录:,机器学习系统观测一些相对非结构化表示的数据,并转录信息为离散的文本形式。如光学字符识别(OCR-Optical Character Recognition)和语音识别等。
  • 机器翻译:在机器翻译任务中,输入是一种语言的符号序列,计算机程序必须将其转化成另一种语言的符号序列。
  • 结构化输出:结构化输出任务的输出是向量或者其他包含多个值的数据结构,并且构成输出的这些不同元素间具有重要关系。如语法分析,图像语义分割,图像描述。
  • 异常检测:计算机程序在一组事件或对象中筛选,并标记不正常或非典型的个体。如信用卡欺诈。
  • 合成和采样:机器学习程序生成一些和训练数据相似的新样本。如视频游戏场景建模、艺术创作。
  • 缺失值填补:在这类任务中,机器学习算法给定一个新样 x ∈ R n \boldsymbol{x}\in \mathbb{R}^n xRn x \boldsymbol{x} x 中某些元素 x i x_i xi缺失。算法必须填补这些缺失值。如图像补全。
  • 去噪:机器学习算法的输入是,干净样本 x ∈ R n \boldsymbol{x}\in \mathbb{R}^n xRn 经过未知损坏过程后得到的损坏样本 x ~ ∈ R n \tilde{\boldsymbol{x}}\in \mathbb{R}^n x~Rn。算法根据损坏后的样本 x ~ \tilde{\boldsymbol{x}} x~预测干净的样本 x \boldsymbol{x} x,或者更一般地预测条件概率分布 p ( x ∣ x ~ ) p(\boldsymbol{x \mid \tilde{\boldsymbol{x}})} p(xx~)
  • 密度估计概率质量函数估计:在密度估计问题,机器学习算法学习函数 p m o d e l : R n → R p_{model} : \mathbb{R}^n \rightarrow \mathbb{R} pmodel:RnR,其中 p m o d e l ( x ) p_{model}(\boldsymbol{x}) pmodel(x)可以解释成样本采样空间的概率密度函数(如果 x \boldsymbol{x} x 是连续的)或者概率质量函数(如果 x \boldsymbol{x} x是离散的)。

5.1.2 性能度量P

  • 准确率(accuracy):指该模型输出正确结果的样本比率。常用于分类、缺失输入分类和转录任务。类似的指标还有错误率(error rate)。
  • 测试集(test set):未观测的数据,不参与模型训练,用于评价模型性能。

5.1.3 经验E

机器学习算法可以大致分类为无监督(unsupervised)算法和监督(supervised)算法。

  • 无监督学习算法(unsupervised learningalgorithm)训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。没有对应的label标签。

  • 监督学习算法(supervised learning algorithm)训练含有很多特征的数据集,不过数据集中的样本都有一个标签(label)或目标(target)。

  • 概率链式法则

p ( x ) = ∏ i = 1 n p ( x i ∣ x 1 , ⋯   , x i − 1 ) p(x)=\prod_{i=1}^{n}p(x_i\mid x_1,\cdots,x_{i-1}) p(x)=i=1np(xix1,,xi1)

  • 全概率公式

p ( y ∣ x ) = p ( x , y ) ∑ y ′ p ( x ∣ y ′ ) p(y \mid x)=\frac {p(x,y)}{\sum_{{y}'}p(x \mid {y}')} p(yx)=yp(xy)p(x,y)

  • 设计矩阵(design matrix):表示数据集的常用方法。设计矩阵的每一行包含
    一个不同的样本。每一列对应不同的特征。

  • 5.1.4 示例:线性回归

y ^ = w T x \hat{y}=\boldsymbol{w}^{T} \boldsymbol{x} y^=wTx

  • 均方误差(mean squared error):

M S E t e s t = 1 m ∑ i ( y ^ t e s t − y t e s t ) i 2 \mathrm{MSE}_{\mathrm{test}}=\frac{1}{m}\sum_{i}(\hat{\boldsymbol{y}}^{\mathrm{test}}-\boldsymbol{y}^{\mathrm{test}})_i ^2 MSEtest=m1i(y^testytest)i2

5.2 容量、过拟合和欠拟合

  • 泛化(generalization):在先前未观测到的输入上表现良好的能力。

  • 训练误差(training error):训练模型时在训练集上的误差

  • 泛化误差(generalization error)(也被称为测试误差(test error)):在未知的测试集上的误差。

  • 独立同分布假设(i.i.d.assumption):该假设是说,每个数据集中的样本都是彼此相互独立的(independent),并且训练集和测试集是同分布的(identically distributed),采样自相同的分布。

决定机器学习算法效果是否好的因素:

  1. 降低训练误差
  2. 缩小训练误差和测试误差的差距。
  • 欠拟合(underfitting):模型不能在训练集上获得足够低的误差。

  • 过拟合(overfitting):训练误差和和测试误差之间的差距太大。

  • 模型的容量(capacity):指其拟合各种函数的能力。

  • 奥卡姆剃刀(Occam’s razor):在同样能够解释已知观测现象的假设中,我们
    应该挑选“最简单”的那一个。

  • Vapnik-Chervonenkis 维度(Vapnik-Chervonenkis dimension, VC)。VC维度量二元分类器的容量。

  • 非参数(non-parametric)模型,如最近邻回归(nearest neighbor regression)。

  • 贝叶斯误差(Bayes error):从预先知道的真实分布 p ( x , y ) p(x, y) p(x,y) 预测而出现的误差。

5.2.1 没有免费午餐定理

  • 机器学习的没有免费午餐定理(no free
    lunch theorem),在所有可能的数据生成分布上平均之后,每一个分类算法在未事先观测的点上都有相同的错误率。换言之,在某种意义上,没有一个机器学习算法总是比其他的要好。我们能够设想的最先进的算法和简单地将
    所有点归为同一类的简单算法有着相同的平均性能(在所有可能的任务上)。

5.2.2 正则化

  • 权重衰减(weight decay):控制偏好权重程度。

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

5.3 超参数和验证集

  • 超参数(hyper-parameter):不用学习的参数,因为它难优化,不适合在训练集上学习。

  • 验证集(validation set):用于挑选超参数的数据子集,由原始训练集划分出的一部分。

5.3.1 交叉验证

  • k k k-折交叉验证过程:将数据集分成 k k k个不重合的子集。测试误差可以估计为 k k k次计算后的平均测试误差。在第 i i i 次测试时,数据的第 i i i个子集用于测试集,其他的数据用于训练集。

5.4 估计、偏差和方差

5.4.1 点估计

  • 点估计(point estimator)或统计量(statistics)是这些数据的任意函数:

θ ^ m = g ( x ( 1 ) , ⋯   , x ( m ) ) \hat{\theta}_m=g(x^{(1)},\cdots,x^{(m)}) θ^m=g(x(1),,x(m))

5.4.2 偏差

b i a s ( θ ^ m ) = E ( θ ^ m ) − θ \mathrm{bias}(\hat{\theta}_m)=\mathbb{E}(\hat{\theta}_m)-\theta bias(θ^m)=E(θ^m)θ

  • 如果 b i a s ( θ ^ m ) = 0 \mathrm{bias}(\hat{\theta}_m) = 0 bias(θ^m)=0,那么估计量 θ ^ m \hat{\theta}_m θ^m被称为是无偏
    (unbiased);如果 lim ⁡ m → ∞ b i a s ( θ ^ m ) = 0 \lim _{m \rightarrow \infty }\mathrm{bias}(\hat{\theta}_m)=0 limmbias(θ^m)=0,那么估计量 θ ^ m \hat{\theta}_m θ^m 被称为是渐近无偏(asymptotically unbiased)。

5.4.3 方差和标准差

  • 方差(variance): V a r ( θ ^ ) \mathrm{Var}(\hat{\theta}) Var(θ^)
  • 标准差(standard error),记作 S E ( θ ^ ) SE(\hat{\theta}) SE(θ^)

5.4.4 权衡偏差和方差以最小化均方误差

  • 估计的均方误差(mean squared error,MSE):

M S E = E [ ( θ ^ m − θ ) 2 ] = B i a s ( θ ^ m ) 2 + V a r ( θ ^ m ) \mathrm{MSE}=\mathbb{E}[(\hat{\theta}_m-\theta)^2]=\mathrm{Bias}(\hat{\theta}_m)^2+\mathrm{Var}(\hat{\theta}_m) MSE=E[(θ^mθ)2]=Bias(θ^m)2+Var(θ^m)

5.4.5 一致性

  • 一致性(consistency):

p lim ⁡ m → ∞ θ ^ m = θ \mathrm{p}\lim _{m \rightarrow \infty} \hat{\theta}_m = \theta pmlimθ^m=θ

5.5 最大似然估计

  • 最大似然估计

θ M L = arg ⁡ max ⁡ θ ∑ i = 1 m log ⁡ p m o d e l ( x ( i ) ; θ ) \theta_{\mathrm{ML}}=\arg \max_{\theta}\sum _{i=1}^{m}\log p_{model}(x^{(i)};\theta) θML=argθmaxi=1mlogpmodel(x(i);θ)

5.5.1 条件对数似然和均方误差

  • 条件对数似然

θ M L = arg ⁡ max ⁡ θ P ( Y ∣ X ; θ ) = arg ⁡ max ⁡ θ ∑ i = 1 m log ⁡ P ( y ( i ) ∣ x ( i ) ; θ ) \theta_{\mathrm{ML}}=\arg \max_{\theta}P(Y\mid X;\theta)=\arg \max_{\theta}\sum _{i=1}^{m}\log P(y^{(i)}\mid x^{(i)};\theta) θML=argθmaxP(YX;θ)=argθmaxi=1mlogP(y(i)x(i);θ)

5.6 贝叶斯统计

  • 贝叶斯统计(Bayesian statistics):在做预测时会考虑所有可能的 θ \theta θ
  • 先验概率分布(prior probability distribution):将 θ \theta θ的已知知识表示为 p ( θ ) p(\theta) p(θ)

5.6.1 最大后验(MAP) 估计

  • 最大后验(Maximum A Posteriori, MAP)点估计:MAP估计选择后验概率最大的点(或在 θ \theta θ 是连续值的更常见情况下,概率密度最大的点):

θ M A P = arg ⁡ max ⁡ θ p ( θ ∣ x ) = arg ⁡ max ⁡ θ log ⁡ p ( x ∣ θ ) + log ⁡ p ( θ ) \theta_{\mathrm{MAP}}=\arg \max_{\theta}p(\theta\mid x)=\arg \max _{\theta}\log p(x\mid \theta)+\log p(\theta) θMAP=argθmaxp(θx)=argθmaxlogp(xθ)+logp(θ)

5.7 监督学习算法

  • 监督学习算法是给定一组输入 x x x和输出 y y y的训练集,学习如何关联输入和输出。

5.7.1 概率监督学习

  • 线性回归:

p ( y ∣ x ; θ ) = N ( y ; θ T x , I ) p(y\mid x;\theta)=\mathcal {N}(y;\theta^{T}x,I) p(yx;θ)=N(y;θTx,I)

  • 逻辑回归(logistic regression):

p ( y = 1 ∣ x ; θ ) = σ ( θ T x ) p(y=1\mid x;\theta)=\sigma(\theta^{T}x) p(y=1x;θ)=σ(θTx)

5.7.2 支持向量机

  • 支持向量机(support vector machine,SVM)是监督学习中最有影响力的方法之一。基于线性函数 w T x + b w^{T}x + b wTx+b 的,用于分类,结果为正属于正类;结果为负属于负类。

  • 核技巧(kernel trick):

w T x + b = b + ∑ i = 1 m α i x T x ( i ) w^{T}x+b=b+\sum _{i=1}^{m}\alpha_ix^Tx^{(i)} wTx+b=b+i=1mαixTx(i)

  • 核函数(kernel function)的函数 k ( x , x ( i ) ) = ϕ ( x ) ϕ ˙ ( x ( i ) ) k(x, x^{(i)}) = \phi (x) \dot \phi (x^{(i)}) k(x,x(i))=ϕ(x)ϕ˙(x(i))

    • 高斯核(Gaussian kernel):也称为径向基函数(radial basis func-
      tion, RBF)核,

    k ( u , v ) = N ( u − v ; 0 , σ 2 I ) k(u,v)=\mathcal{N}(u-v;0,\sigma^2I) k(u,v)=N(uv;0,σ2I)

5.7.3 其他简单的监督学习算法

  • 最近邻回归
  • k-最近邻
  • 决策树(decision tree)及其变种是另一类将输入空间分成不同的区域,每个区域有独立参数的算法。

5.8 无监督学习算法

  • 无监督学习的大多数尝试是指从不需要人为注释的样本的分布中抽取信息。

5.8.1 主成分分析

  • 参考第2.12 节

5.8.2 k-均值聚类

  • k-均值聚类算法将训练集分成k个靠近彼此的不同样本聚类。

5.9 随机梯度下降

  • 随机梯度下降(stochastic gradient descent, SGD):是梯度下降法的扩展,每次从训练集中均匀抽出一小批量(minibatch)样本,然后去计算梯度。

5.10 构建机器学习算法

  • 几乎所有的深度学习算法都可以被描述为一个相当简单的配方:特定的数据集、代价函数、优化过程和模型。

5.11 促使深度学习发展的挑战

5.11.1 维数灾难

  • 当数据的维数很高时,很多机器学习问题变得相当困难。这种现象被称为维数灾难(curse of dimensionality)。

5.11.2 局部不变性和平滑正则化

  • 平滑先验(smoothness prior),或局部不变性先验(local constancy prior)。这个先验表明我们学习的函数不应在小区域内发生很大的变化。

5.11.3 流形学习

  • 流形(manifold):考虑少数嵌入在高维空间中的自由度或维数就能很好地近似。每一维都对应着局部的变化方向。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值