Probabilistic Machine Learning:Introduction 概率机器学习:简介(2)-page38/858

本文介绍了从概率角度看待机器学习,重点讲解了监督学习,特别是分类问题,如鸢尾花分类。作者探讨了经验风险最小化、决策树模型、逻辑回归以及最大似然估计等概念,强调了在存在不确定性和随机性时如何处理预测的不确定性。
摘要由CSDN通过智能技术生成

1 引言
1.1 什么是机器学习?
机器学习或ML的一个流行定义,由Tom Mitchell [Mit97]提出,如下所示:
如果一个计算机程序在某类任务T上通过经验E学到了性能度量P,那么就说它在任务T上从经验E中学到了东西,并且在任务T中的性能,由性能度量P来衡量,在经验E的影响下提高。
因此,有许多不同类型的机器学习,取决于我们希望系统学习的任务T的性质,我们用于评估系统的性能度量P的性质,以及我们给予它的训练信号或经验E的性质。

在本书中,我们将从概率的角度讨论最常见的ML类型。粗略地说,这意味着我们将所有未知数量(例如对某个感兴趣的未来值的预测,如明天的温度,或某个模型的参数)视为随机变量,并赋予它们描述可能值的加权集合的概率分布。 (如果需要,可以参见第2章,以迅速复习概率的基础知识。)

我们采用概率方法的主要原因有两个。首先,这是在不确定性下进行决策的最佳方法,如我们在第5.1节中解释的那样其次,概率建模是科学和工程大多数其他领域使用的语言,因此在这些领域之间提供了一个统一的框架。正如DeepMind的研究员Shakir Mohamed所说:1
几乎所有机器学习都可以用概率术语来看待,使概率思维成为基础。当然,这并不是唯一的观点。但正是通过这种观点,我们才能将我们在机器学习中所做的与每一种其他计算科学连接起来,无论是在随机优化,控制理论,运筹学,计量经济学,信息论,统计物理学还是生物统计学领域。

https://www.shakirm.com/slides/MLSS2018-Madrid-ProbThinking.pdf

1.2 监督学习
最常见的ML形式是监督学习。在这个问题中,任务T是学习从输入x ∈ X到输出y ∈ Y的映射f。输入x也被称为特征,协变量,或预测变量;通常是一个固定维度的数字向量,例如一个人的身高和体重,或者图像中的像素。在这种情况下,X = ℝ^D,其中D是向量的维度(即输入特征的数量)。输出y也被称为标签、目标或响应。

经验E以一组N个输入-输出对D = {(xn, yn)}^N_{n=1}的形式给出,被称为训练集(N被称为样本大小)。性能度量P取决于我们正在预测的输出类型,如下所述。

  1. 有时(例如,在statsmodels Python包中),x被称为外生变量(exogenous variables),而y被称为内生变量(endogenous variables)。
    在这里插入图片描述
    图1.1:三种鸢尾花:山鸢尾(Setosa)、变色鸢尾(Versicolor)和维吉尼亚鸢尾(Virginica)。获得了Dennis Kramb和SIGNA的友善许可。
    在这里插入图片描述
    表1.1:鸢尾花设计矩阵的子集。特征包括:花萼长度、花萼宽度、花瓣长度、花瓣宽度。每个类别有50个示例。

1.2.1 分类
在分类问题中,输出空间是一个包含C个无序且互斥标签的集合,称为类别,Y = {1, 2, . . . , C}。给定一个输入预测类别标签的问题也被称为模式识别(pattern recognition)。(如果只有两个类别,通常用y ∈ {0, 1}或y ∈ {−1, +1}表示,称为二元分类。)
1.2.1.1 示例:鸢尾花的分类
以将鸢尾花分类为其3个亚种(山鸢尾、变色鸢尾和维吉尼亚鸢尾)的问题为例。图1.1显示了每个类别的一个示例。

在这里插入图片描述
图1.2:图像分类问题的示例。来自https://cs231n.github.io/。获得了Andrej Karpathy的友善许可。

在图像分类中,输入空间X是图像的集合,这是一个非常高维的空间:对于一个带有C = 3个通道的彩色图像(例如,RGB)和D1 × D2像素的图像,我们有X = ℝ^D,其中D = C × D1 × D2。 (在实践中,我们用整数表示每个像素的强度,通常来自范围{0, 1, . . . , 255},但是为了符号简便,我们假设输入是实值。)学习从图像到标签的映射f:X → Y是相当具有挑战性的,如图1.2所示。然而,可以使用特定类型的函数来解决这个问题,例如卷积神经网络或CNN,我们将在第14.1节中讨论。

3. 这个特定的设计矩阵有N = 150行和D = 4列,因此具有高而狭窄的形状,因为N ≥ D。相比之下,一些数据集(例如基因组学)具有比示例更多的特征,即D ≥ N;它们的设计矩阵是矮而宽的。术语“大数据”通常意味着N很大,而术语“宽数据”意味着D很大(相对于N)。

幸运的是,一些植物学家已经识别出了4个简单但非常信息丰富的数值特征——花萼长度、花萼宽度、花瓣长度、花瓣宽度——可以用来区分三种鸢尾花。在本节中,为了简化,我们将使用这个维度较低的输入空间X = ℝ^4。鸢尾花数据集是一个包含150个带有标签的鸢尾花示例的集合,每种类型有50个,由这4个特征描述。由于这个数据集小而简单,因此被广泛用作示例。(我们将在本书后面讨论更大更复杂的数据集。)

当我们有小型特征数据集时,通常将它们存储在一个N × D的矩阵中,其中每行表示一个示例,每列表示一个特征。这被称为设计矩阵;请参见表1.1中的示例。鸢尾花数据集是表格数据的一个例子。当输入具有可变大小(例如,单词序列或社交网络)而不是固定长度的向量时,数据通常以一种不同的格式存储,而不是以设计矩阵的形式。然而,这样的数据通常会转换为固定大小的特征表示(这个过程称为特征化),从而隐式地创建了一个设计矩阵供进一步处理。我们在第1.5.4.1节中给出了一个示例,讨论了**序列数据的“词袋”**表示。

在这里插入图片描述
图1.3:将鸢尾花数据可视化为成对散点图。在对角线上,我们绘制每个类别每个特征的边际分布。非对角线部分包含所有可能特征对的散点图。由iris_plot.ipynb生成。

1.2.1.2 探索性数据分析
在处理ML问题之前,通常最好进行探索性数据分析,看看是否有任何明显的模式(这可能会给出选择方法的线索),或者数据中是否存在任何明显的问题(例如,标签噪声或异常值)。
对于具有少量特征的表格数据,通常会制作成对图,其中面板(i, j)显示变量i和j的散点图,对角线条目(i, i)显示变量i的边际密度;所有图都可以按类别标签进行颜色编码 - 请参见图1.3的示例。
对于高维数据,通常首先进行降维,然后在2d或3d中可视化数据。我们将在第20章讨论降维方法。

在这里插入图片描述
图1.4:对鸢尾花数据应用深度为2的决策树的示例,仅使用花瓣长度和花瓣宽度特征。叶节点根据预测的类别进行颜色编码。通过从根到节点传递的训练样本数量显示在每个框内;我们展示了落入该节点的每个类别的值的数量。这个计数向量可以归一化,以获得每个节点上类别标签的分布。然后我们可以选择多数类别。改编自[Gér19]的图6.1和6.2。由iris_dtree.ipynb生成。

1.2.1.3 学习分类器
从图1.3中,我们可以看到Setosa类很容易与其他两类区分开来。例如,假设我们创建以下决策规则:
[ f(x; \theta) = \begin{cases} \text{Setosa,} & \text{if petal length < 2.45} \ \text{Versicolor or Virginica,} & \text{otherwise} \end{cases} ]
这是一个非常简单的分类器示例,我们将输入空间划分为两个区域,由1维决策边界 (x_{\text{petal length}} = 2.45) 定义。位于此边界左侧的点被分类为Setosa;右侧的点被分类为Versicolor或Virginica。

我们可以看到,这个规则完美地对Setosa示例进行了分类,但没有对Virginica和Versicolor进行分类。为了提高性能,我们可以递归地划分空间,通过在分类器犯错误的区域中进行划分。例如,我们可以添加另一条决策规则,应用于未通过第一个测试的输入,检查花瓣宽度是否小于1.75cm(在这种情况下我们预测Versicolor)或大于1.75cm(在这种情况下我们预测Virginica)。我们可以将这些嵌套规则组织成一个树形结构,称为决策树,如图1.4a所示。这引导了图1.4b中显示的2D决策表面。我们可以通过存储每个内部节点使用的特征索引以及相应的阈值来表示树。我们用θ表示所有这些参数。我们将在第18.1节中讨论如何学习这些参数。

在这里插入图片描述
表1.2:鸢尾花分类的假设不对称损失矩阵。

1.2.1.4 经验风险最小化
监督学习的目标是自动创建诸如图1.4a中所示的分类模型,以可靠地预测任何给定输入的标签。在这项任务中,衡量性能的一种常见方式是使用训练集上的误分类率:
[ L(\theta) = \frac{1}{N} \sum_{n=1}^{N} I(y_n = f(x_n; \theta)) ]
其中I(e)是二进制指示函数,如果条件e为真,则返回1(当且仅当e为真),否则返回0,即
[ I(e) = \begin{cases} 1 & \text{如果e为真} \ 0 & \text{如果e为假} \end{cases} ]
这假定所有错误都是相等的。但是可能某些错误比其他错误更昂贵。例如,假设我们在荒野中觅食,发现了一些鸢尾花。此外,假设Setosa和Versicolor很美味,但Virginica是有毒的。在这种情况下,我们可能会使用表1.2中所示的不对称损失函数` (y, yˆ)。

然后,我们可以定义经验风险为预测器在训练集上的平均损失:
[ L(\theta) = \frac{1}{N} \sum_{n=1}^{N} \ (y_n, f(x_n; \theta)) \] 我们看到,当我们使用零一损失来比较真实标签和预测时,误分类率方程(1.2)等于经验风险: \[_{01}(y, \hat{y}) = I(y = \hat{y}) ]
更详细的信息请参见第5.1节。

定义模型拟合或训练问题的一种方法是找到使训练集上的经验风险最小化的参数设置:
[ \hat{\theta} = \text{argmin}{\theta} L(\theta) = \text{argmin}{\theta} \frac{1}{N} \sum_{n=1}^{N} \ ` (y_n, f(x_n; \theta)) ]
这称为经验风险最小化。
然而,我们真正的目标是最小化在我们尚未见过的未来数据上的期望损失。也就是说,我们想要进行泛化,而不仅仅是在训练集上表现良好。我们将在第1.2.3节中讨论这一重要点。

1.2.1.5 不确定性
“[我们必须避免] 由于对世界的概率性质的无知而产生的错误信心,由于渴望在我们应该看到灰色的地方看到黑白。” —— 伊曼纽尔·康德(Immanuel Kant),由玛丽亚·孔尼科娃(Maria Konnikova)改述[Kon20]。

在许多情况下,由于对输入输出映射的不完全了解(这称为认知不确定性或模型不确定性),和/或由于映射中的内在(不可减少的)随机性(这称为偶然不确定性或数据不确定性),我们将无法完美地预测给定输入的确切输出。

在我们的预测中表示不确定性对于各种应用可能很重要。例如,让我们回到我们的有毒花卉示例,其损失矩阵如表1.2所示。如果我们高概率地预测花朵是Virginica,那么我们不应该吃这朵花。或者,我们可能能够执行信息收集操作,例如进行诊断测试,以减少我们的不确定性。有关在存在不确定性的情况下如何做出最优决策的更多信息,请参见第5.1节。

我们可以使用以下条件概率分布来捕捉我们的不确定性:
[ p(y = c|x; \theta) = f_c(x; \theta) ]
其中 ( f : X \rightarrow [0, 1]^C ) 将输入映射到C个可能的输出标签的概率分布。由于 ( f_c(x; \theta) ) 返回类别c的概率,因此我们对每个c需要 ( 0 \leq f_c \leq 1 ) ,并且 ( \sum_{c=1}^{C} f_c = 1 )。

为了避免这个限制,通常要求模型返回未归一化的对数概率。然后,我们可以使用 softmax 函数将其转换为概率,该函数定义如下:
[ \text{softmax}(a) = \left( \frac{e{a_1}}{\sum_{c=1}{C} e^{a_c}}, \ldots, \frac{e{a_C}}{\sum_{c=1}{C} e^{a_c}} \right) ]
这将R^C映射到[0, 1]^C,并满足 ( 0 \leq \text{softmax}(a)c \leq 1 ) 和 ( \sum{c=1}^{C} \text{softmax}(a)_c = 1 )。softmax的输入 a = f(x; \theta) 称为 logits。有关详细信息,请参见第2.5.2节。因此,我们如下定义整体模型:
[ p(y = c|x; \theta) = \text{softmax}_c(f(x; \theta)) ]

这常见的一个特例是当 ( f ) 是以下形式的仿射函数时:
[ f(x; \theta) = b + w^T x = b + w_1 x_1 + w_2 x_2 + \ldots + w_D x_D ]
其中 ( \theta = (b, w) ) 是模型的参数。这个模型称为逻辑回归,在第10章中将更详细地讨论。

在统计学中,( w ) 参数通常称为回归系数(通常用 ( \beta ) 表示),而 ( b ) 称为截距。在机器学习中,参数 ( w ) 称为权重,( b ) 称为偏置。这个术语来自电气工程,我们在那里将函数 ( f ) 视为一个接受 ( x ) 并返回 ( f(x) ) 的电路。每个输入通过“导线”馈送到电路,这些导线有权重 ( w )。电路计算其输入的加权和,并添加一个常数偏置项 ( b )。(不应将“偏置”一词的用法与第4.7.6.1节中讨论的统计概念“偏差”混淆。)

为了减少符号混乱,通常将偏置项 ( b ) 吸收到权重 ( w ) 中,通过定义 ( \tilde{w} = [b, w_1, \ldots, w_D] ) 和定义 ( \tilde{x} = [1, x_1, \ldots, x_D] ),使得
[ \tilde{w}^T \tilde{x} = b + w^T x ]
这将仿射函数转换为线性函数。我们通常假设已经执行了这个操作,因此我们可以将预测函数写成如下形式:
[ f(x; w) = w^T x ]

1.2.1.6 最大似然估计

在拟合概率模型时,通常使用负对数概率作为我们的损失函数:
[ ` (y, f(x; \theta)) = -\log p(y|f(x; \theta)) ]
这样做的原因在第5.1.6.1节中解释,但直观上讲,一个好的模型(损失小)是为每个相应的输入 ( x ) 给真实输出 ( y ) 分配高概率的模型。训练集的平均负对数概率由以下公式给出:
[ \text{NLL}(\theta) = -\frac{1}{N} \sum_{n=1}^{N} \log p(y_n|f(x_n; \theta)) ]
这称为负对数似然。如果最小化这个值,我们可以计算最大似然估计或MLE:
[ \hat{\theta}{\text{MLE}} = \text{argmin}{\theta} \text{NLL}(\theta) ]
这是将模型拟合到数据的一种非常常见的方法,我们将在后面看到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王知为

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值