Skip to content

Latest commit

 

History

History
88 lines (47 loc) · 7.28 KB

12.3.md

File metadata and controls

88 lines (47 loc) · 7.28 KB

风险

原文:https://www.textbook.ds100.org/ch/12/prob_risk.html

# HIDDEN
# Clear previously defined variables
%reset -f

# Set directory for data loading to work properly
import os
os.chdir(os.path.expanduser('~/notebooks/12'))

在上一章介绍的建模场景中,服务生收集了特定月份工作的提示数据集。我们选择了一个常数模型,并最小化了该数据集上的均方误差(mse)损失函数,确保我们的常数模型在该数据集和损失函数上优于所有其他常数模型。常量模型只有一个参数,$\theta$。我们发现优化参数$\hat \theta=\text mean(\textbf y)$用于 MSE 损失。

虽然这样的模型对训练数据做出了相对准确的预测,但我们想知道这个模型在来自人群的新数据上是否会表现良好。为了表示这个概念,我们引入了统计风险,也称为预期损失

定义

模型的风险是从人群中随机选择的点上模型损失的预期值。

在这种情况下,总人数包括我们的服务员在工作期间收到的所有小费百分比,包括未来的小费。我们使用随机变量$x$表示从总体中随机选择的提示百分比,而通常变量$theta$表示常量模型的预测。使用这个符号,我们模型的风险$r(\theta)$是:

$$ \begin{aligned} R(\theta) = \mathbb{E}\left[(X - \theta)^2\right] \end{aligned} $$

在上面的表达式中,我们使用 MSE 损失,它给出期望值中的内部$(x-\theta)^2$。风险是$\theta$的函数,因为我们可以根据需要更改$\theta$。

与单纯的损失不同,使用风险可以让我们推断模型对总体人口的准确性。如果我们的模型达到一个低风险,我们的模型将作出准确的预测点从人口长期。另一方面,如果我们的模型具有很高的风险,那么一般来说,它在来自人群的数据上表现不佳。

当然,我们希望选择能使模型的风险尽可能低的$theta$值。我们使用变量$\theta^$来表示风险最小化值$\theta$或人口的最佳模型参数。为了澄清,$\theta^$表示风险最小化的模型参数,而$\hat \theta$表示数据集特定损失最小化的参数。

最小化风险

让我们找一个能将风险降到最低的价值为\theta$以前,我们用微积分来实现这个最小化。这一次,我们将使用一个产生有意义的最终表达式的数学技巧。我们将$x-\theta$替换为$x-\mathbb e[x]+\mathbb e[x]-\theta$并展开:

$$ \begin{aligned} R(\theta) &= \mathbb{E}[(X - \theta)^2] \ &= \mathbb{E}\left[ (X - \mathbb{E}[X] + \mathbb{E}[X] - \theta)^2 \right] \ &= \mathbb{E}\left[ \bigl( (X - \mathbb{E}[X]) + (\mathbb{E}[X] - \theta) \bigr)^2 \right] \ &= \mathbb{E}\left[ (X - \mathbb{E}[X])^2 + 2(X - \mathbb{E}[X])(\mathbb{E}[X] - \theta) + (\mathbb{E}[X]- \theta)^2 \right] \ \end{aligned} $$

现在,我们应用期望的线性并简化。我们使用标识$\mathbb e \ left[(x-\mathbb e[x])\right]=0$这大致相当于说明$\mathbb e[x]位于$x$的分布中心。

$$ \begin{aligned} R(\theta) &= \mathbb{E}\left[ (X - \mathbb{E}[X])^2 \right] + \mathbb{E}\left[ 2(X - \mathbb{E}[X])(\mathbb{E}[X] - \theta) \right] + \mathbb{E}\left[ (\mathbb{E}[X]- \theta)^2 \right] \ &= \mathbb{E}\left[ (X - \mathbb{E}[X])^2 \right] + 2 (\mathbb{E}[X] - \theta) \underbrace{ \mathbb{E}\left[ (X - \mathbb{E}[X]) \right]}_{= 0} + (\mathbb{E}[X]- \theta)^2 \ &= \mathbb{E}\left[ (X - \mathbb{E}[X])^2 \right] + 0 + (\mathbb{E}[X]- \theta)^2 \ R(\theta) &= \mathbb{E}\left[ (X - \mathbb{E}[X])^2 \right] + (\mathbb{E}[X]- \theta)^2 \ \end{aligned} $$

注意,上面表达式中的第一个术语是$x$,$var(x)$的方差,它不依赖于$\theta$。第二个术语给出了$\theta$与$\mathbb e[x]$的接近程度。因此,第二个术语被称为我们模型的偏差。换句话说,模型的风险是模型的偏差加上我们试图预测的数量的方差:

$$ \begin{aligned} R(\theta) &= \underbrace{(\mathbb{E}[X]- \theta)^2}\text{bias} + \underbrace{Var(X)}\text{variance} \end{aligned} $$

因此,当我们的模型没有偏差时,风险最小化:$\theta^*=\mathbb e[x]$。

风险分析

注意,当我们的模型没有偏差时,风险通常是正的。这意味着即使是一个最优模型也会有预测误差。直观地说,这是因为一个常量模型只能预测一个数字,而$x$可能会从总体中获取任何值。方差项捕获误差的大小。低方差意味着$x$可能取接近于$theta$的值,而高方差意味着$x$更可能取远离$theta$的值。

经验风险最小化

根据以上分析,我们希望设置$\theta=\mathbb e[x]$。不幸的是,计算$\mathbb e[x]$需要完整的人口知识。要了解原因,请检查$\mathbb e[x]$的表达式:

$$ \begin{aligned} \mathbb{E}[X] = \sum_{x \in \mathbb{X}} x \cdot P(X = x) \end{aligned} $$

$P(x=x)$表示$X$从总体上接受特定值的概率。然而,要计算这个概率,我们需要知道 x$的所有可能值以及它们在人群中出现的频率。换句话说,为了将模型对人口的风险降到最低,我们需要访问人口。

我们可以通过记住一个大的随机样本中的值的分布将接近人口中的值的分布来解决这个问题。如果我们的样本是真的,我们可以将样本视为种群本身。

假设我们从样本中随机抽取点,而不是人口。由于样本$\mathbf x=x 1,x 2,ldots,x n$中有$N$总点数,因此每个点$X i$都有出现的概率$\frac 1 n。现在我们可以为$\mathbb e[x]$创建近似值:

$$ \begin{aligned} \mathbb{E}[X] &\approx \frac{1}{n} \sum_{i=1}^n x_i = \text{mean}({\mathbf{x}}) \end{aligned} $$

因此,使用随机样本中捕获的信息,我们对$\theta^*$的最佳估计是$\hat \theta=\text mean(\mathbf x)$。我们说,$\hat \theta$minimized theexperimental risk,the risk calculated using the sample as a stand in for the population.

随机抽样的重要性

在上述近似中,必须注意随机抽样的重要性。如果我们的样本是非随机的,我们不能假设样本的分布与人群的分布相似。使用非随机样本估计$\theta^*$通常会导致有偏估计和更高的风险。

损失最小化连接

回想一下,我们之前显示的$\Hat \Theta=\Text Mean(\MathBF X)$将数据集上的 MSE 损失最小化。现在,我们迈出了有意义的一步。如果我们的培训数据是随机样本,那么$\hat \theta=\text mean(\mathbf x)$不仅为其培训数据生成最佳模型,而且根据我们样本中的信息为总体生成最佳模型。

摘要

使用本章中开发的数学工具,我们了解了模型在总体上的性能。如果模型将统计风险(htg1)降到最低,它就可以做出准确的预测。我们发现全局最优模型参数为:

$$ \begin{aligned} \theta^* = \mathbb{E}[X] \end{aligned} $$

由于我们不能很容易地计算出这一点,因此我们找到了最小化经验风险的模型参数。

$$ \begin{aligned} \hat \theta = \text{mean}(\mathbf x) \end{aligned} $$

如果训练数据是从人群中随机抽样的,那么$\hat \theta \约\theta ^*$。因此,一个对大量随机样本进行训练的常量模型也很可能在人群中表现良好。