统计决策理论可能是统计和机器学习之间最容易被忽略的一座桥。很多做模型的人知道最大似然估计、知道正则化,但不太清楚这些东西背后其实是一套统一的“风险最小化”逻辑。而这套逻辑的起点,就是决策规则下的损失期望——损失函数选好了,问题就被定义清楚了;先验放上去,Bayes风险就能把不同决策规则拉到一个可比较的尺度上。这篇文章想做的,就是用尽量直白的语言,把统计决策与Bayes风险这条线从头到尾走一遍,包括最核心的数学推导、实际项目中会踩的坑,以及一些可以直接拿去用的判断标准。适合正在学贝叶斯统计的学生、做机器学习算法的人,以及所有需要基于数据产出决策结果的分析师。
1. 统计决策问题到底在解决什么
1.1 决策三件套:状态空间、行动空间、损失函数
我第一次接触统计决策理论的时候,最大的感受是:这不就是把人做选择的过程给数学化了嘛。任何一个决策问题,都可以抽象成三件套。
第一件是状态空间,通常记为Θ,它表示真实世界所有可能的状态。比如你在估计某款产品的点击率,真实点击率θ到底是多少,θ的取值范围就是状态空间,区间[0,1]之间某个数。第二件是行动空间,记为A,表示决策者所有可以采取的行动。这个范围很广——如果你想给点击率一个点估计,那行动空间就是[0,1];如果问题变成“这个功能要不要上线”,那行动空间就是{上线, 不上线}这两个离散选项。第三件是损失函数,记为L(θ, a),表示当真实状态是θ、而你选择了行动a的时候,你会承受多大损失。
损失函数是整个决策问题里最体现功力的地方。同一个问题,损失函数定义不同,最优决策可能完全不同。我见过很多同学把损失函数当成一个可有可无的配置项,随便选一个平方损失就完事了,这其实是把统计决策最有价值的部分扔掉了。
常见的损失函数有这么几类:
| 损失函数 | 表达式 | 典型场景 |
|---|---|---|
| 平方损失 | L(θ,a)=(θ-a)² | 点估计,对大偏差更敏感 |
| 绝对损失 | L(θ,a)= | θ-a |
| 0-1损失 | L(θ,a)=I(θ≠a) | 分类问题,只关心对错 |
| 线性不对称损失 | 低估和高估分别乘以不同系数 | 金融风控、医疗诊断等错判成本差异大的场景 |
举个例子,医疗诊断里把有病的人误判成没病,和把没病的人误判成有病,代价完全不一样。前者可能耽误治疗,后者可能造成不必要的检查和心理负担。这时候就不能用对称的平方损失,而应该用不对称的线性损失,给两类错误分配不同的权重。这个问题在建模阶段不解决,后面无论用多高级的算法都补不回来。
1.2 决策规则与风险函数:频率学派会卡在哪里
有了三件套之后,我们还需要一个东西把数据和行动连接起来:决策规则δ(X)。它就是一个从样本空间到行动空间的映射——看到数据X之后,我该采取什么行动。统计里的估计量、检验函数、分类器,本质上都是决策规则。
那么问题来了:怎么评价一条决策规则好不好?频率学派给出的方案是风险函数:
R(θ,δ)=E_θ[L(θ,δ(X))]
这个公式的意思是:如果真实参数固定为θ,反复抽样得到无数个数据集X,每个数据集下我们都会有一个损失,把这些损失求平均,就得到风险函数。它衡量的是“长期重复使用这条规则时,平均会亏多少”。
但这里有个尴尬的地方:风险函数R(θ,δ)是θ的函数,而θ恰恰是未知的。也就是说,我能算出这条规则在θ=0.1时表现好、在θ=0.8时表现差,但真实θ到底是0.1还是0.8,我不知道。于是频率学派没法直接比较两条决策规则谁更优,只能退而求其次,比如找一个最大风险最小的规则(极小极大准则),或者限定类内寻找最优无偏规则。这些方案都不是不
