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

大数定律详解

前言

本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见《机器学习数学通关指南》


正文

在这里插入图片描述

🌟 一、大数定律的核心思想

大数定律(Law of Large Numbers)揭示了一个基本真理:当大量独立同分布随机变量通过算术平均组合时,其平均值会稳定收敛于理论期望值。这一定律从数学上严格证明了统计学中的经验事实:频率依概率收敛于概率(即频率稳定性)。

💡 直观理解:投掷硬币次数越多,出现正面的频率越接近理论概率0.5

🔍 二、大数定律的类型与数学表达

2.1 辛钦大数定律(弱大数定律)

  • 条件:随机变量序列 X 1 , X 2 , … , X n X_1, X_2, \dots, X_n X1,X2,,Xn 独立同分布(i.i.d.),且数学期望 E ( X k ) = μ E(X_k) = \mu E(Xk)=μ 存在。
  • 结论:对于任意 ϵ > 0 \epsilon > 0 ϵ>0,有
    lim ⁡ n → ∞ P ( ∣ 1 n ∑ k = 1 n X k − μ ∣ < ϵ ) = 1 \lim_{n \to \infty} P\left( \left| \frac{1}{n} \sum_{k=1}^n X_k - \mu \right| < \epsilon \right) = 1 limnP( n1k=1nXkμ <ϵ)=1
  • 意义:随着观测次数 n n n 增大,样本均值 1 n ∑ X k \frac{1}{n} \sum X_k n1Xk 与真实期望 μ \mu μ 的偏差超过任意小正数 ϵ \epsilon ϵ 的概率趋近于零。

2.2 伯努利大数定律

  • 背景:n 次独立伯努利试验(例如抛硬币),事件 A 发生的次数为 f A f_A fA,单次概率为 p p p
  • 结论:对于任意 ϵ > 0 \epsilon > 0 ϵ>0,有
    lim ⁡ n → ∞ P ( ∣ f A n − p ∣ < ϵ ) = 1 \lim_{n \to \infty} P\left( \left| \frac{f_A}{n} - p \right| < \epsilon \right) = 1 limnP( nfAp <ϵ)=1
  • 意义:试验次数足够多时,事件发生的频率 f A n \frac{f_A}{n} nfA 几乎必然接近真实概率 p p p,这是概率定义的客观基础。

🚀 三、理论与机器学习的实际意义

3.1 频率稳定性的数学证明

  • 实际中观察到的频率稳定性(如抛硬币正面占比趋近 50%)不是偶然现象,而是大数定律的必然结果。
  • 在机器学习中,这为采样方法和统计推断提供了理论基础。

3.2 数据估计的可靠性与样本量

  • 通过大样本的算术平均估计期望值(如估计平均收入、产品合格率等),结果具有强稳定性。
  • 机器学习应用:数据量过小时,模型训练结果的不确定性较大;随着样本量增大,参数估计逐渐稳定,模型性能趋于一致。

3.3 机器学习中的应用场景

  • 梯度下降算法:随机梯度下降(SGD)方法中,随机采样的梯度虽有波动,但平均来看会收敛到真实梯度,这正是大数定律的应用。
  • Monte Carlo方法:通过大量随机采样近似计算复杂积分,广泛应用于强化学习和贝叶斯推断。
  • 集成学习:多个独立弱学习器的预测结果聚合,可以提高整体预测性能,这背后也是大数定律在起作用。

🧪 四、实践案例与代码演示

4.1 大数定律的Python可视化示例

import numpy as np
import matplotlib.pyplot as plt# 模拟抛硬币实验
np.random.seed(42)  # 设置随机种子
n_flips = 10000      # 抛掷次数
p_true = 0.5        # 真实概率# 生成随机实验结果(1代表正面,0代表反面)
flips = np.random.binomial(1, p_true, n_flips)# 计算累积平均值
cumulative_means = np.cumsum(flips) / np.arange(1, n_flips+1)# 可视化结果
plt.figure(figsize=(10, 6))
plt.plot(range(1, n_flips+1), cumulative_means, label='观测频率')
plt.axhline(y=p_true, color='r', linestyle='-', label='真实概率')
plt.xscale('log')  # 对x轴使用对数刻度以便观察
plt.xlabel('抛掷次数')
plt.ylabel('正面频率')
plt.title('大数定律演示:硬币抛掷实验')
plt.legend()
plt.grid(True)
plt.show()

这段代码模拟了抛硬币实验并展示了随着试验次数增加,观测频率如何越来越接近理论概率。

4.2 机器学习中的大数定律应用案例

案例一:随机梯度下降中的批量大小影响
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import SGDRegressor
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error# 生成回归数据集
X, y = make_regression(n_samples=10000, n_features=1, noise=10, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 不同批量大小的SGD
batch_sizes = [1, 10, 100, 1000]
epochs = 50
results = {}for batch_size in batch_sizes:# 初始化模型sgd = SGDRegressor(max_iter=1, learning_rate='constant', eta0=0.01, random_state=42)test_errors = []for _ in range(epochs):# 模拟一次迭代indices = np.random.choice(len(X_train), batch_size)sgd.partial_fit(X_train[indices], y_train[indices])# 计算测试误差y_pred = sgd.predict(X_test)mse = mean_squared_error(y_test, y_pred)test_errors.append(mse)results[batch_size] = test_errors# 可视化结果
plt.figure(figsize=(10, 6))
for batch_size, errors in results.items():plt.plot(range(1, epochs+1), errors, label=f'批量大小={batch_size}')plt.xlabel('迭代次数')
plt.ylabel('测试MSE')
plt.title('不同批量大小对SGD收敛的影响')
plt.legend()
plt.grid(True)
plt.show()

这个例子展示了随机梯度下降中,较大批量大小通常会带来更平滑的收敛曲线,这是因为大数定律使得大批量的平均梯度更接近真实梯度。

🔎 五、注意事项与局限性

5.1 独立同分布假设的重要性

  • 若变量间存在强相关性或分布不一致,大数定律可能不成立。
  • 机器学习启示:数据预处理时应注意特征间的相关性和数据分布,尤其是时间序列数据等非独立同分布数据。

5.2 收敛方式的局限性

  • 大数定律是依概率收敛(而非逐点收敛),即允许小概率的极端偏离,但随着 n n n 增大,偏离的可能性逐渐减小。
  • 机器学习启示:模型虽然整体表现良好,但仍可能在少数极端情况下表现失常。

5.3 与样本表示性的关系

  • 大数定律要求样本能代表总体,在实际应用中需警惕采样偏差问题。
  • 机器学习启示:训练数据的采集方式和质量对模型的最终性能至关重要,需避免数据偏差导致的"垃圾进垃圾出"。

🌐 六、机器学习中的扩展应用

6.1 正则化与防止过拟合

大数定律告诉我们,当观测数据足够多时,经验风险会逐渐接近期望风险。然而,在实际的机器学习任务中,我们往往面临有限的训练样本。正则化可以视为一种补偿机制,当数据不足以让经验风险稳定接近期望风险时,通过引入先验信息来稳定模型表现。

6.2 集成学习中的理论依据

集成学习(如随机森林、Boosting等)的成功很大程度上归功于大数定律。当我们训练多个独立的基学习器并聚合它们的预测结果时,可以显著减少预测方差,从而提高整体模型的稳定性和准确性。

6.3 概率风险最小化原则

在统计学习框架下,机器学习的目标是寻找使期望风险最小的决策函数。由于真实分布未知,我们只能通过经验风险近似。大数定律保证了当样本量足够大时,这种近似是合理的,这也是ERM(经验风险最小化)原则有效性的理论基础。

📊 七、典型案例分析

7.1 伯努利试验的频率收敛

  • 重复抛硬币试验中,正面频率 f A n \frac{f_A}{n} nfA n n n 增大逼近真实概率 p p p
  • 机器学习实例:二分类问题中的准确率评估通常需要足够多的测试样本才有统计意义。

7.2 神经网络中的Dropout技术

Dropout是一种防止过拟合的正则化技术,其工作原理可以从大数定律角度理解:通过随机关闭部分神经元,相当于训练了多个不同网络结构的模型,最终结果近似于这些模型的集成,提高了泛化能力。

7.3 保险损失预测与风险评估

  • 系统由 100 个独立部件组成,每个损坏概率 0.1,通过大数定律计算系统正常工作的概率(至少 85 个正常)。
  • 应用中心极限定理(正态近似)得 P ( 正常部件 ≥ 85 ) P(\text{正常部件} \geq 85) P(正常部件85) 的具体值。
  • 机器学习扩展:异常检测、风险评估模型同样基于类似概率原理构建。

🎯 八、总结与展望

大数定律作为概率论与统计学的基本定理,为机器学习的众多理论与方法奠定了坚实基础:

  • 它解释了为什么机器学习算法能够工作:大样本下的统计推断具有可靠性
  • 它指导了如何改进机器学习模型:增加训练样本、采用集成方法、调整批量大小等
  • 它揭示了模型训练的局限性:数据质量与代表性的重要性

在实际应用中,理解大数定律的本质,能够帮助我们设计更加健壮的机器学习系统,避免常见陷阱,并对模型性能和可靠性有更为深刻的洞察。

相关文章:

大数定律详解

前言 本文隶属于专栏《机器学习数学通关指南》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 &#x1f31f; 一、大数定律的…...

2025生物科技革命:AI驱动的基因编辑与合成生物学新纪元

一、基因编辑技术的精准化突破 第三代基因编辑工具CRISPR-Cas12f的研发成功&#xff0c;将编辑精度提升至0.1碱基对级别。中国科学院团队利用该技术在灵长类动物模型中修复遗传性视网膜病变基因&#xff0c;治愈率达到92%。对比传统CRISPR-Cas9技术&#xff0c;新型编辑器脱靶…...

百度SEO关键词布局从堆砌到场景化的转型指南

百度SEO关键词布局&#xff1a;从“堆砌”到“场景化”的转型指南 引言 在搜索引擎优化&#xff08;SEO&#xff09;领域&#xff0c;关键词布局一直是核心策略之一。然而&#xff0c;随着搜索引擎算法的不断升级和用户需求的多样化&#xff0c;传统的“关键词堆砌”策略已经…...

macOS常用网络管理配置命令

目录 **1. ifconfig&#xff1a;查看和配置网络接口****2. networksetup&#xff1a;管理系统网络配置****3. ping&#xff1a;测试网络连通性****4. traceroute&#xff1a;跟踪数据包路径****5. nslookup/dig&#xff1a;DNS 查询****6. netstat&#xff1a;查看网络连接和统…...

Selenium 中 ActionChains 支持的鼠标和键盘操作设置及最佳实践

Selenium 中 ActionChains 支持的鼠标和键盘操作设置及最佳实践 一、引言 在使用 Selenium 进行自动化测试时&#xff0c;ActionChains 类提供了强大的功能&#xff0c;用于模拟鼠标和键盘的各种操作。通过 ActionChains&#xff0c;可以实现复杂的用户交互&#xff0c;如鼠标…...

【五.LangChain技术与应用】【31.LangChain ReAct Agent:反应式智能代理的实现】

一、ReAct Agent是啥?为什么说它比「普通AI」聪明? 想象一下,你让ChatGPT查快递物流,它可能直接编个假单号糊弄你。但换成ReAct Agent,它会先推理(Reasoning)需要调用哪个接口,再行动(Action)查询真实数据——这就是ReAct的核心:让AI学会「动脑子」再动手。 举个真…...

【HarmonyOS Next之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(七) -> JS动画(二)

目录 1 -> 动画动效 1.1 -> 创建动画对象 1.2 -> 添加动画事件和调用接口 2 -> 动画帧 2.1 -> 请求动画帧 2.2 -> 取消动画帧 1 -> 动画动效 通过设置插值器来实现动画效果。 说明 从API Version 6 开始支持。 1.1 -> 创建动画对象 通过cre…...

SpaCy处理NLP的详细工作原理及工作原理框图

spaCy处理NLP的详细工作原理及工作原理框图 spaCy处理NLP的详细工作原理 spaCy是一个基于Python的开源自然语言处理&#xff08;NLP&#xff09;库&#xff0c;它提供了一系列高效且易用的工具&#xff0c;用于执行各种NLP任务&#xff0c;如文本预处理、文本解析、命名实体识…...

Mysql中的常用函数

1、datediff(date1,date2) date1减去date2&#xff0c;返回两个日期之间的天数。 SELECT DATEDIFF(2008-11-30,2008-11-29) AS DiffDate -- 返回1 SELECT DATEDIFF(2008-11-29,2008-11-30) AS DiffDate -- 返回-1 2、char_length(s) 返回字符串 s 的字符数 3、round(x,d)…...

Linux下find命令的使用方法详解

文章目录 **一、基本语法****二、常用搜索条件****1. 按名称搜索****2. 按类型搜索****3. 按时间搜索****4. 按大小搜索****5. 按权限/所有者搜索** **三、组合条件&#xff08;逻辑运算符&#xff09;****四、执行操作****1. 直接输出&#xff08;默认&#xff09;****2. 删除…...

Day(19)--IO流(三)

文件加密 ps:^异或: 两边相同就是false 两边不同就是true 如果比较的是数字,那就会把它转换成为二进制,从右自左依次比较 总结:如果一个数字被异或两次,结果还是原来的数字 缓冲流 字节缓冲流 BufferedInputStream------字节缓冲输入流 BufferedOutputStream----字节…...

数据类型——long long

在C语言中&#xff0c;long long 类型是一种有符号的64位整数&#xff0c;其取值范围由二进制补码表示法决定。以下是具体数值及解释&#xff1a; 1. long long 的最大值 最大值&#xff08;正数&#xff09;&#xff1a;9223372036854775807 计算方式&#xff1a;2^63 - 1 这是…...

网络安全通信架构图

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 在安全通信里面我经常听到的2个东西就是SSL和TLS&#xff0c;这2个有什么区别呢&#xff1f;以及HTTPS是怎么通信的&#xff1f;包括对称加密、非对称加密、摘要、…...

AMD(xilinx) FPGA书籍推荐

理论到实践&#xff0c;五年磨一剑 以应用为主&#xff0c;书中全部例程均来自工程实践&#xff1b;目的在于培养FPGA工程师良好的代码编写习惯&#xff0c;掌握vivado常用高级技巧。本书详细讲解了&#xff1a; &#xff08;0&#xff09;vivado操作基础从工程建立到bit/mcs文…...

考前冲刺,消防设施操作员考试最后一击

考前冲刺&#xff0c;消防设施操作员考试最后一击 考前冲刺阶段至关重要。首先要回归教材&#xff0c;快速浏览重点知识点&#xff0c;强化记忆。同时&#xff0c;对之前做过的错题进行集中复习&#xff0c;分析错误原因&#xff0c;避免在考试中再次犯错。进行全真模拟考试&a…...

【GoTeams】-3:构建api、重构错误码

本文目录 1. 构建api梳理调用关系api包的作用路由梳理注册Register代码语法 2. 重构错误码 1. 构建api 首先复制project-user&#xff0c;改名为project-api&#xff0c;放在总的路径下&#xff0c;然后在工作区中进行导入。 运行命令go work use .\project-api\新建工作区之…...

MuBlE:为机器人操作任务规划提供了逼真的视觉观察和精确的物理建模

2025-03-05&#xff0c;由华为诺亚方舟实验室、捷克技术大学和帝国理工学院联合开发的MuBlE&#xff08;MuJoCo and Blender simulation Environment&#xff09;模拟环境和基准测试。通过结合MuJoCo物理引擎和Blender高质量渲染&#xff0c;为机器人操作任务规划提供了逼真的视…...

基于STC89C52的4x4矩阵键盘对应键值显示测试

引言 在众多单片机应用系统中,用户输入功能至关重要。4x4 矩阵键盘因其布局紧凑、按键数量适中,能有效节省 I/O 口资源,成为常用的输入设备。STC89C52 作为一款经典的 8 位单片机,以其丰富的外设资源和简易的开发流程,为矩阵键盘的应用提供了良好平台。同时,LCD1602 作为…...

android13打基础: timepicker控件

public class Ch4_TimePickerActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener {private TextView tv_time; // 声明一个文本视图对象private TimePicker tp_time; // 声明一个时间选择器对象Overrideprotected void onCreate(Nullable Bund…...

【虚拟仿真】Unity3D中实现激光/射线的发射/折射/反射的效果(3D版)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群:398291828小红书小破站大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...