当前位置: 首页 > news >正文

机器学习的数学基础:假设检验

假设检验

默认以错误率为性能度量,错误率由下式给出:

E ( f , D ) = ∫ x ∼ D I I ( f ( x ) ≠ y ) p ( x ) d x E(f,\mathcal{D})=\int_{\boldsymbol{x}\sim \mathcal{D}}\mathbb{II}(f(\boldsymbol{x})\ne y )p(\boldsymbol{x})\text{d}\boldsymbol{x} E(f,D)=xDII(f(x)=y)p(x)dx

假设检验中的"假设"是对学习泛化错误率分布的某种判断或者猜想,例如:

ε = ε 0 \varepsilon=\varepsilon_0 ε=ε0

其中,我们 ε 0 \varepsilon_0 ε0为测试错误率是已知的。

对单个学习器泛化能力的假设检验

对于一个样本上的留出法得到的错误率 ε 0 \varepsilon_0 ε0,这意味着 m m m个测试样本中,恰好有 m × ε 0 m\times \varepsilon_0 m×ε0个错误分类。假设测试样本是从总体中独立同分布采样获得,那么泛化错误率为 ε \varepsilon ε的学习器,将其中 m × ε 0 m\times \varepsilon_0 m×ε0个分类错误,其余分类正确的概率为:

单次留出法
P ( ε ; ε 0 ) = ( m m × ε 0 ) ε ε 0 × m ( 1 − ε ) m − ε 0 × m P(\varepsilon;\varepsilon_0)=\binom{m}{m\times \varepsilon_0}\varepsilon^{\varepsilon_0\times m}(1-\varepsilon)^{m-\varepsilon_0 \times m} P(ε;ε0)=(m×ε0m)εε0×m(1ε)mε0×m

所以由极值条件得到:

∂ P ∂ ε = 0 \frac{\partial P}{\partial \varepsilon}=0 εP=0

然后选取一个显著性水平 α \alpha α,对于 ε ∼ B ( m , ε 0 ) \varepsilon \sim B(m,\varepsilon_0) εB(m,ε0),我们假设 ε ≤ ε ′ \varepsilon\leq\varepsilon^{\prime} εε,满足:

$$
\overline{\varepsilon}=\min \varepsilon


\mathbf{s.t.}:
\sum_{i=\varepsilon^{\prime}\times m+1}{m}\binom{m}{i}\varepsilon{i}(1-\varepsilon)^{m-i}
$$

若此时 ε ≤ ε ‾ \varepsilon \leq \overline{\varepsilon} εε则有 1 − α 1-\alpha 1α的概率认为,学习器的泛化错误率不大于 ε ′ \varepsilon^{\prime} ε

多次留出法或交叉验证法

类似的,假定我们得到了 k k k个测试错误率, ε ^ 1 \hat{\varepsilon}_1 ε^1, ε ^ 2 \hat{\varepsilon}_2 ε^2, ⋯ \cdots , ε ^ k \hat{\varepsilon}_k ε^k,则平均测试错误率 μ \mu μ和方差 σ 2 \sigma^2 σ2分别为:

μ = 1 k ∑ i = 1 k ε ^ i \mu=\frac{1}{k}\sum_{i=1}^{k}\hat{\varepsilon}_i μ=k1i=1kε^i

σ 2 = 1 k − 1 ∑ i = 1 k ( ε ^ i − μ ) 2 \sigma^2=\frac{1}{k-1}\sum_{i=1}^{k}(\hat{\varepsilon}_i-\mu)^2 σ2=k11i=1k(ε^iμ)2
其中有假设:
每个测试错误率 ε ^ 1 , ε ^ 2 , … , ε ^ k \hat{\varepsilon}_1, \hat{\varepsilon}_2, \ldots, \hat{\varepsilon}_k ε^1,ε^2,,ε^k 必须是独立同分布(independent and identically distributed, i.i.d.)的随机变量。且样本量足够大或者它们服从正态分布。

则:

τ t = ( μ − ε 0 ) σ k ∼ t ( k − 1 ) \tau_t=\frac{(\mu-\varepsilon_0)}{\frac{\sigma}{\sqrt{k}}}\sim t(k-1) τt=k σ(με0)t(k1)

对两个学习器泛化能力的假设检验

对于两个学习器 A A A B B B,使用 k k k折交叉验证法得到: ε 1 A \varepsilon_{1}^A ε1A, ε 2 A \varepsilon_{2}^A ε2A, … \dots ε k A \varepsilon_{k}^A εkA ε 1 B \varepsilon_{1}^B ε1B, ε 2 B \varepsilon_{2}^B ε2B, … \dots ε k B \varepsilon_{k}^B εkB

我们是对

ε i A = ε i B \varepsilon_{i}^A=\varepsilon_{i}^B εiA=εiB

进行假设,取独立变量:

Δ i = ε i A − ε i B \Delta_i=\varepsilon_{i}^A-\varepsilon_{i}^B Δi=εiAεiB

对样本均值进行标准化得到:

τ t = μ σ k ∼ t ( k − 1 ) \tau_t=\frac{\mu}{\frac{\sigma}{\sqrt{k}}}\sim t(k-1) τt=k σμt(k1)

5×2交叉验证

其统计量为:
τ t = μ 0.2 ∑ i = 1 5 σ i 2 ∼ t ( 4 ) \tau_t=\frac{\mu}{\sqrt{0.2\sum\limits_{i=1}^{5}}\sigma^2_i}\sim t(4) τt=0.2i=15 σi2μt(4)

McNemar检验

对于二分类问题,我们通过列联表,基于两学习器的性能相同的假设,构造统计量:

方法B 阳性方法B 阴性
方法A 阳性 a a a b b b
方法A 阴性 c c c d d d

τ χ 2 = ( ∣ b − c ∣ − 1 ) 2 b + c ∼ χ 2 ( 1 ) \tau_{\chi^2}=\frac{(|b-c|-1)^2}{b+c} \sim \chi^2(1) τχ2=b+c(bc1)2χ2(1)

对多于两个学习器泛化能力的假设检验

对多个算法,要进行Friedman检验Nemenyi检验

http://www.lqws.cn/news/134209.html

相关文章:

  • 从上下文学习和微调看语言模型的泛化:一项对照研究
  • Linux系统iptables防火墙实验拓补
  • WES7系统深度定制全流程详解(从界面剥离到工业部署)
  • 【python】运行python程序的方式
  • 数据湖是什么?数据湖和数据仓库的区别是什么?
  • 不同视角理解三维旋转
  • macOS 上使用 Homebrew 安装redis-cli
  • CanvasGroup篇
  • dvwa9——Weak Session IDs
  • JavaSec-专题-反序列化
  • 使用osqp求解简单二次规划问题
  • LeetCode-934. 最短的桥
  • 树莓派上遇到插入耳机后显示“无输入设备”问题
  • C++课设:通讯录管理系统(vector、map协作实现)
  • MQTT协议:物联网时代的通信基石
  • 使用 LangChain 和 RAG 实现《斗破苍穹》文本问答系
  • 栈-20.有效的括号-力扣(LeetCode)
  • RAG系统中的Re-ranking引擎选择指南
  • Android SharedFlow 详解
  • Unity安卓平台开发,启动app并传参
  • 读文献先读图:GO弦图怎么看?
  • 瀚文(HelloWord)智能键盘项目深度剖析:从0到1的全流程解读
  • Vue跨层级通信
  • 华为云Flexus+DeepSeek征文|实战体验云服务器单机部署和CCE高可用的架构AI赋能
  • 「Java教案」顺序结构
  • JS手写代码篇---手写apply方法
  • Rhino
  • 项目实战——C语言扫雷游戏
  • Python数据可视化科技图表绘制系列教程(二)
  • UART协议调试遇到的一个问题