人工智能数学基础(六):数理统计

    数理统计是人工智能中数据处理和分析的核心工具,它通过收集、分析数据来推断总体特征和规律。本文将系统介绍数理统计的基本概念和方法,并结合 Python 实例,帮助读者更好地理解和应用这些知识。资源绑定附上完整资源供读者参考学习!

6.1 概述

6.1.1 数理统计发展简史

    数理统计起源于 17 世纪,经过贝叶斯、高斯等统计学家的贡献,逐渐发展为一门成熟的学科。在现代,随着计算机技术的发展,数理统计在人工智能、大数据等领域得到了广泛应用。

6.1.2 数理统计的主要内容

    数理统计主要包括描述性统计、参数估计、假设检验、回归分析等内容,用于从数据中提取信息、做出决策和预测

6.2 总体与样本

6.2.1 总体与样本简介

   总体是研究对象的全体,样本是从总体中抽取的一部分个体。统计分析通常基于样本来推断总体特征。

6.2.2 数据的特征

   数据的特征包括集中趋势(均值、中位数、众数)和离散程度(方差、标准差、极差)等。

6.2.3 统计量

   统计量是样本数据的函数,用于描述样本特征和推断总体参数。常见的统计量有样本均值、样本方差等。

综合案例及应用:计算样本统计量

案例描述 :计算一组数据的均值、方差和标准差。

import numpy as np
# 数据
data = np.array([12, 15, 18, 22, 25, 30, 35, 45])
# 计算均值
mean = np.mean(data)
print("均值:", mean)
# 计算方差
variance = np.var(data)
print("方差:", variance)
# 计算标准差
std_dev = np.std(data)
print("标准差:", std_dev)

6.3 参数估计

6.3.1 最大似然估计

   最大似然估计是通过最大化似然函数来估计总体参数的方法。它假设样本数据独立同分布,并寻找使似然函数最大的参数值。

6.3.2 贝叶斯估计

   贝叶斯估计是基于贝叶斯定理,结合先验分布和样本数据来估计参数的后验分布。

6.3.3 点估计与矩估计

   点估计是用样本统计量估计总体参数的单个值。矩估计是通过样本矩估计总体矩,从而估计总体参数。

6.3.4 蒙特卡罗方法的基本原理

    蒙特卡罗方法是一种通过随机抽样来数值计算的方法。它在统计、物理、金融等领域广泛应用。

综合案例及应用:最大似然估计

案例描述 :假设某地男性身高服从正态分布,抽取 10 个样本,估计该正态分布的均值和方差。

import numpy as np
from scipy.optimize import minimize
# 样本数据
samples = np.array([170, 172, 168, 175, 173, 169, 171, 174, 167, 176])
# 定义负对数似然函数(最大似然估计通常通过最小化负对数似然函数实现)
def negative_log_likelihood(params):mu, sigma = params# 计算正态分布的概率密度函数值pdf_values = np.exp(-((samples - mu) ** 2) / (2 * sigma ** 2)) / (sigma * np.sqrt(2 * np.pi))# 返回负对数似然值return -np.sum(np.log(pdf_values))
# 初始参数猜测值
initial_guess = [170, 5]
# 进行最小化优化
result = minimize(negative_log_likelihood, initial_guess, method='BFGS')
# 输出结果
estimated_mu, estimated_sigma = result.x
print(f"最大似然估计均值:{estimated_mu:.2f}")
print(f"最大似然估计标准差:{estimated_sigma:.2f}")

6.4 假设检验

6.4.1 基本概念

    假设检验是根据样本数据对总体参数的假设做出接受或拒绝决策的过程。它包括原假设、备择假设、检验统计量和显著性水平等。

6.4.2 Neyman-Pearson 基本引理

   Neyman-Pearson 基本引理提供了在给定显著性水平下,构造最有效检验的方法。

6.4.3 参数假设检验

   参数假设检验是对总体参数(如均值、方差)进行检验。常见的检验方法有 t 检验、z 检验等。

6.4.4 卡方检验

   卡方检验用于检验样本数据与理论分布之间的拟合程度,或检验两个分类变量之间的独立性

综合案例及应用:单样本 t 检验

案例描述 :某班级学生某次考试的平均成绩为 75 分,现抽取 20 名学生的成绩,检验该班级平均成绩是否显著高于 70 分(显著性水平为 0.05)。

import numpy as np
from scipy import stats
# 设置样本数据(这里假设了20个样本)
np.random.seed(42)
sample_scores = np.random.normal(loc=75, scale=10, size=20)
# 原假设:班级平均成绩等于70分
# 备择假设:班级平均成绩大于70分(单尾检验)
mu_0 = 70
# 计算t统计量和p值
t_stat, p_value = stats.ttest_1samp(sample_scores, mu_0)
# 因为是单尾检验,所以p值需要调整
p_value_one_tailed = p_value / 2
# 输出结果
print(f"t统计量:{t_stat}")
print(f"单尾检验p值:{p_value_one_tailed}")
# 判断是否拒绝原假设
alpha = 0.05
if p_value_one_tailed < alpha and t_stat > 0:print("拒绝原假设,样本均值显著大于70。")
else:print("不拒绝原假设,样本均值与70没有显著差异。")

6.5 回归分析

6.5.1 一元线性回归

   一元线性回归用于研究一个自变量与一个因变量之间的线性关系。通过最小二乘法估计回归系数。

6.5.2 可化为一元线性回归的非线性回归

    某些非线性回归可以通过变量变换转化为线性回归问题,如对数变换、倒数变换等。

6.5.3 多元线性回归

    多元线性回归研究多个自变量与一个因变量之间的线性关系。通过矩阵运算估计回归系数。

综合案例及应用:一元线性回归

案例描述 :分析广告投入与销售额之间的关系,建立一元线性回归模型,并预测广告投入为 30 万元时的销售额。

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 广告投入和销售额数据
advertising = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]).reshape(-1, 1)
sales = np.array([2, 3, 5, 7, 8, 10, 12, 15, 17, 19])
# 创建线性回归模型并拟合数据
model = LinearRegression()
model.fit(advertising, sales)
# 回归系数和截距
coefficient = model.coef_[0]
intercept = model.intercept_print(f"回归系数(斜率):{coefficient}")
print(f"截距:{intercept}")
# 预测广告投入为30万元时的销售额
predicted_sales = model.predict(np.array([[30]]))
print(f"广告投入为30万元时的预测销售额:{predicted_sales[0]:.2f}")
# 绘制回归直线
plt.scatter(advertising, sales, color='blue', label='实际数据点')
plt.plot(advertising, model.predict(advertising), color='red', label='回归直线')
plt.xlabel('广告投入(万元)')
plt.ylabel('销售额(万元)')
plt.title('广告投入与销售额的一元线性回归分析')
plt.legend()
plt.grid(True)
plt.show()

6.6 实验:基于 Python 实现用蒙特卡罗方法求圆周率

6.6.1 实验目的

   通过蒙特卡罗方法近似计算圆周率 π 的值,理解随机抽样在数值计算中的应用。

6.6.2 实验要求

    使用 Python 实现蒙特卡罗方法,模拟随机点在单位正方形和单位圆内的分布,计算 π 的近似值。

6.6.3 实验原理

    在单位正方形内随机生成大量点,统计落在单位圆内的点数。根据几何概率,圆内点数与总点数之比近似等于圆面积与正方形面积之比(π/4)。

6.6.4 实验步骤

  1. 生成大量随机点(x, y),其中 x 和 y 均在 [0, 1) 范围内。

  2. 判断每个点是否落在单位圆内(x² + y² ≤ 1)。

  3. 统计圆内点数和总点数。

  4. 根据比例计算 π 的近似值。

6.6.5 实验结果

import numpy as np
# 设置随机种子以确保结果可重复
np.random.seed(42)
# 总模拟次数
total_simulations = 1000000
# 生成随机点
x_random = np.random.rand(total_simulations)
y_random = np.random.rand(total_simulations)
# 判断点是否在单位圆内
distances_squared = x_random**2 + y_random**2
points_inside_circle = distances_squared <= 1
# 计算圆周率近似值
pi_estimate = 4 * np.sum(points_inside_circle) / total_simulations
print(f"蒙特卡罗方法估计的圆周率值({total_simulations}次模拟):{pi_estimate}")

6.7数理统计总结

概念定义与说明常见应用
总体与样本总体是研究对象的全体,样本是总体的一部分样本均值、方差,统计推断
参数估计通过样本估计总体参数的方法最大似然估计,贝叶斯估计,矩估计
假设检验根据样本数据检验总体参数的假设t检验,z检验,卡方检验
回归分析研究变量间关系的统计方法一元线性回归,多元线性回归,非线性回归

   通过本文的学习,希望大家对数理统计在人工智能中的应用有了更深入的理解。在实际操作中,多进行代码练习,可以更好地掌握这些数学工具,为人工智能的学习和实践打下坚实的基础。资源绑定附上完整资源供读者参考学习!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/81117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决STM32待机模式无法下载程序问题的深度探讨

在现代嵌入式系统开发中&#xff0c;STM32系列微控制器因其高性能、低功耗和丰富的外设资源而广受欢迎。然而&#xff0c;开发者在使用STM32时可能会遇到一个问题&#xff1a;当微控制器进入待机模式后&#xff0c;无法通过调试接口&#xff08;如SWD或JTAG&#xff09;下载程序…

C#扩展方法与Lambda表达式基本用法

C# 扩展方法与 Lambda 表达式详解 一、扩展方法详解 1. 基本概念 ​​扩展方法​​允许为现有类型"添加"方法&#xff0c;而无需修改原始类型或创建派生类型。 ​​定义条件​​&#xff1a; 必须在静态类中定义方法本身必须是静态的第一个参数使用this修饰符指…

C#规避内存泄漏的编码方法

C#规避内存泄漏的编码方法 内存泄漏是C#开发中常见的问题&#xff0c;尽管.NET有垃圾回收机制(GC)&#xff0c;但不当的编码实践仍可能导致内存无法被及时回收。以下是系统性的规避内存泄漏的方法&#xff1a; 一、理解内存泄漏的常见原因 ​​未释放的事件订阅​​​​静态…

React 后台管理系统

这是一个基于 React TypeScript Ant Design 开发的向明天系统前端项目。 git仓库地址 技术栈 React 19TypeScriptAnt Design 5.xRedux ToolkitReact RouterAxiosLess 环境要求 Node.js (推荐使用最新LTS版本)npm 或 yarn 安装步骤 克隆项目到本地 git clone [https://…

第九节:文件操作

理论知识 文件的基本概念&#xff1a;文件是存储数据的基本单位&#xff0c;在 Linux 系统中&#xff0c;一切皆文件。文件可以是文本文件、二进制文件、设备文件等。文件的创建&#xff1a;使用 touch 命令可以创建一个新的空文件。如果文件已经存在&#xff0c;则更新文件的…

2025-03 机器人等级考试四级理论真题 4级

1 2025年蛇年春晚&#xff0c;节目《秧BOT》机器人舞蹈表演节目点燃了全国观众的热情&#xff0c;请问参加节目表演的机器人是由哪家公司研发&#xff1f;&#xff08; &#xff09; A.大疆 B.华为 C.优必选 D.宇树科技 【参考答…

k8s平台:手动部署Grafana

以下是一个可用于生产环境的 Kubernetes 部署 Grafana 的 YAML 文件。该配置包括 Deployment、Service、ConfigMap 和 PersistentVolumeClaim&#xff0c;确保 Grafana 的高可用性和数据持久化。 Grafana 生产部署 YAML 文件 ☆实操示例 cat grafana-deployment.yaml --- # …

农产品园区展示系统——仙盟创梦IDE开发

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>农业大数据平台</title><style>* {margi…

每日Bug:(2)共享内存

对于整个系统而言&#xff0c;主存与CPU的资源都是有限的&#xff0c;随着打开进程数量的增加&#xff0c;若是将所有进程运行所需的代码/数据/栈/共享库都存放在主存中&#xff0c;那么开启一部分进程就可以将主存占用完。 虚拟内存就是解决以上问题的方法&#xff0c;使用虚…

C语言Makefile编写与使用指南

Makefile 详细指南&#xff1a;编写与使用 Makefile 是 C/C 项目中常用的自动化构建工具&#xff0c;它定义了项目的编译规则和依赖关系。下面我将详细介绍 Makefile 的编写和使用方法。 一、Makefile 基础 1. 基本结构 一个典型的 Makefile 包含以下部分&#xff1a; mak…

Centos离线安装Docker(无坑版)

1、下载并上传docker离线安装包 官方地址&#xff1a;安装包下载 2、上传到离线安装的服务器解压 tar -zxvf docker-28.1.1.tgz#拷贝解压二进制文件到相关目录 cp docker/* /usr/bin/ 3、创建docker启动文件 cat << EOF > /usr/lib/systemd/system/docker.servic…

OceanBase数据库-学习笔记4-租户

租户 租户偏向于资源层面的逻辑概念&#xff0c;是在物理节点上划分的资源单元&#xff0c;可以指定其资源规格&#xff0c;包括 CPU、内存、日志盘空间、IOPS 等。 租户类似于传统数据库的数据库实例&#xff0c;租户通过资源池与资源关联&#xff0c;从而独占一定的资源配额…

UNIAPP项目记录

一、通过 vue-cli 创建 uni-app 项目 创建 vue3 项目 创建以 javascript 开发的工程&#xff08;如命令行创建失败&#xff0c;请直接访问 gitee 下载模板&#xff09; npx degit dcloudio/uni-preset-vue#vite my-vue3-project复制代码 npx degit dcloudio/uni-preset-vue#vit…

华为发布全球首个L3商用智驾ADS4.0

2024年10月2024世界智能网联汽车大会上&#xff0c;余承东讲到&#xff1a;“华为ADS 4.0将于2025年推出高速L3级自动驾驶商用及城区L3级自动驾驶试点&#xff0c;希望加快L3级自动驾驶标准的进程&#xff0c;推动L3级自动驾驶技术的普及。” 世界智能网联汽车大会演讲PPT 所以…

【Python学习路线】零基础到项目实战

目录 &#x1f31f; 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 &#x1f9e0; 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 &#x1f4bb; 二、实战演示环境配置要求核心代码实现运行结果验证 ⚡ 三、性能对比测试方法论量化数据对比…

解决redis序列号和反序列化问题

最近遇到了一个问题,将 List<Map<String, Object>> 类型数据以list形式存入到redis之后,发现取出来时数据格式完全不对,根据报错信息发现是反序列化问题,遇到类似问题,主要有两种解决方案1.使用序列号工具 例如&#xff0c;Java中常用的序列化工具有Jackson、Gso…

Android学习总结之设计场景题

设计图片请求框架的缓存模块 核心目标是通过分层缓存策略&#xff08;内存缓存 磁盘缓存&#xff09;提升图片加载效率&#xff0c;同时兼顾内存占用和存储性能。以下是针对 Android 面试官的回答思路&#xff0c;结合代码注释说明关键设计点&#xff1a; 一、缓存架构设计&…

Webug3.0通关笔记14 第十四关:存储型XSS

目录 第十四关:存储型XSS 1.打开靶场 2.源码分析 3.渗透实战 第十四关:存储型XSS 本文通过《webug3靶场第十四关 存储型XSS》来进行存储型XSS关卡的渗透实战。 存储型 XSS&#xff08;Stored Cross - Site Scripting&#xff09;&#xff0c;也被称为持久型 XSS&#xff…

Java父类、子类实例初始化顺序详解

1、完整的初始化顺序&#xff08;含继承&#xff09; 1、父类的静态初始化 父类静态变量默认值 → 父类静态变量显式赋值 父类静态代码块&#xff08;按代码顺序执行&#xff09;。 2、子类的静态初始化 子类静态变量默认值 → 子类静态变量显式赋值 子类静态代码块&…

13.组合模式:思考与解读

原文地址:组合模式&#xff1a;思考与解读 更多内容请关注&#xff1a;7.深入思考与解读设计模式 引言 在软件开发中&#xff0c;是否曾经遇到过这样一种情况&#xff1a;你有一个对象&#xff0c;它本身很简单&#xff0c;但是它包含了其他类似的对象。随着系统变得越来越复…