📦 其他 / 通用
📐 概率论与数理统计 — 做题技巧与真题解析
来源:概率论习题册(3份模拟试卷),整理自手写解题过程
一、事件概率计算
核心公式
- 加法公式:
- 减法公式:
- 对立事件:
- 条件概率:
- 乘法公式:
- 全概率:
- 贝叶斯:
德摩根律
独立性
- 定义:
- 等价:()
- 性质:独立的对立事件也独立,即
互斥 vs 独立
| 互斥 | 独立 | |
|---|---|---|
| 定义 | ||
| 关系 | 互斥+正概率 → 必不独立 | 独立+正概率 → 必不互斥 |
古典概型
- 放回抽样:总数 (n个选择,m次)
- 不放回抽样:总数
- 等可能事件:P(A) = \frac{A \text{包含的基本事件数}}{S \text{中的基本事件总数}}
📝 例题1:独立事件的对立事件
【填空】 ,A与B独立,求
点击查看解析
(德摩根律)
📝 例题2:全概率与贝叶斯
【解答】 某人从南京到上海,乘火车/汽车/飞机概率 0.5/0.3/0.2,正点率 0.95/0.9/1.0。求:(1) 正点概率;(2) 已知正点,乘火车概率
点击查看解析
设 A=火车,B=汽车,C=飞机,D=正点
(1)
(2)
📝 例题3:对立事件简化计算
【解答】 甲乙丙独立破译密码,概率 1/5, 1/3, 1/4。求密码被译出概率
点击查看解析
用对立事件更简单:
P(\text{译出}) = 1 - P(\overline{A})P(\overline{B})P(\overline{C}) = 1 - \frac{4}{5} \times \frac{2}{3} \times \frac{3}{4} = \frac{3}{5}二、随机变量与分布
核心概念
概率密度函数 性质:
- (归一化)
分布函数 性质:
- 单调不减、右连续
- ,
密度与分布互推:
- 密度 → 分布:积分
- 分布 → 密度:求导
常见分布速查
| 分布 | 记号 | ||
|---|---|---|---|
| 二项分布 | |||
| 泊松分布 | |||
| 均匀分布 | |||
| 指数分布 | |||
| 正态分布 |
正态分布核心技巧
- 标准化:
- 对称性:
- 样本均值:
- 线性组合:(独立时)
📝 例题4:归一化+期望联立求参
【解答】 (),,求 c 和 a
点击查看解析
归一化:
期望:
联立: →
📝 例题5:对称性求期望方差
【解答】 ,求 和
点击查看解析
偶函数 → 奇函数 →
(分部积分)
📝 例题6:分布函数求概率和密度
【解答】 ,求 A、、
点击查看解析
(1) 右连续:
(2)
(3) ()
,
三、二维随机变量
核心技巧
- 边缘密度: ,
- 独立判断: 恒成立 → 独立
- 快速判断: 联合密度可分离变量 + 区域为矩形 → 独立
- 求常数 k:
协方差与相关系数
- 独立 → →
- 相关系数:
📝 例题7:联合密度求边缘和独立性
【解答】 (),求 k、边缘密度、独立性
点击查看解析
(1) →
(2) (),()
(3) → 独立
四、数字特征
核心公式
期望:
- 离散:
- 连续:
- 线性性(恒成立):
- 函数期望:
方差:
- 独立时:
常用分布方差:
- 二项 :
- 泊松 :
- 正态 :
📝 例题8:χ²分布的矩
【选择】 ,则 (C)
点击查看解析
,
五、参数估计
矩估计
- 写出 (用参数表示)
- 令
- 解方程得估计量
极大似然估计(MLE)
- 写似然函数
- 取对数
- 求导
- 解方程得
常见分布估计量
| 分布 | 矩估计 | MLE |
|---|---|---|
📝 例题9:MLE完整步骤
【解答】 (),求 的 MLE
点击查看解析
六、数理统计
三大抽样分布
| 分布 | 构造 | ||
|---|---|---|---|
| , | |||
| 0 | |||
| — | — |
关键统计量分布
- (σ已知)
- (σ未知)
置信区间
σ已知:
σ未知:
假设检验
- σ已知用 Z 检验,σ未知用 t 检验
- 拒绝域在两侧(双侧检验)或一侧(单侧检验)
- P值 < α → 拒绝原假设
📝 例题10:置信区间选择
【选择】 ,σ²未知,,90%置信区间
点击查看解析
σ未知用 t 分布:
关键:自由度 ,90%置信度 →
七、解题策略总结
- 先识别题型:离散/连续?一维/二维?概率/数字特征/估计?
- 归一化是第一反应:求常数 C →
- 对称性省计算:偶函数×奇函数=0,期望直接得零
- 独立性三件套:概率可乘、方差可加、
- 正态必标准化:
- 方差恒正:,不是减号
- MLE 四步走:写L → 取ln → 令导数=0 → 解方程
- 置信区间看 σ:已知用 Z,未知用 t(自由度 n-1)
iTerm2 退出时的 Session Restoration
现象
退出 iTerm2 后显示:
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.原因
iTerm2 的 Session Restoration 功能,关闭会话时自动:
- 保存会话状态(窗口布局、标签页、当前目录)
- 合并命令历史到全局历史文件
- 截断历史文件防止膨胀
历史文件位置
- zsh(Mac 默认):
~/.zsh_history - bash:
~/.bash_history - iTerm2 会话状态:
~/Library/Application Support/iTerm2/
关闭方法
iTerm2 → Settings → General → Startup → 选 "No restore"
备注
系统自带 Terminal.app 不会有此行为,仅 iTerm2 特有
macOS 系统架构与 Linux 的区别
内核差异
- macOS 基于 XNU 混合内核(Mach 微内核 + BSD 宏内核层)
- Linux 是宏内核
- 两者都是类 Unix,命令行工具基本通用
"一切皆文件"
- macOS 继承 Unix 传统,一切皆文件
- 但
/proc/sys等虚拟文件系统在 Mac 上变成 Mach 内核对象
应用与配置
- Linux:配置多为
/etc/下纯文本,apt/yum安装到/usr/ - macOS:
- 应用 =
.app捆绑包,拖到/Applications/即安装 - 配置存
~/Library/Preferences/下 plist 二进制文件 - 用
defaults read/write命令管理配置 - 服务管理用
launchd(非 systemd) - 包管理用 Homebrew(第三方)
- 应用 =
架构层次
Aqua (GUI) → Cocoa/AppKit → Core Services → Darwin (XNU内核: Mach + BSD) → 硬件核心区别
| 维度 | Linux | macOS |
|---|---|---|
| 内核 | 宏内核 | 混合内核 |
| 包管理 | apt/yum/pacman | App Store + .app |
| 文件系统 | ext4/btrfs | APFS |
| 服务管理 | systemd | launchd |
| 配置方式 | 纯文本为主 | plist 二进制 |
| 开源 | 完全开源 | 内核开源,用户层闭源 |
访达查看根目录
- Cmd + Shift + . 显示隐藏文件
Macintosh HD就是根目录- 系统级操作推荐用终端
Homebrew(brew)— Mac 软件包管理器
是什么
- macOS 上的包管理器,类比 Linux 的 apt/yum
- 一行命令装软件,不用去官网下载
核心用途
brew install <软件名>— 装命令行工具(git、node、python 等)brew install --cask <软件名>— 装 GUI 应用(Chrome、VSCode 等)brew services list/start/stop— 管理服务brew upgrade— 更新所有已装软件brew uninstall <软件名>— 干净卸载
安装方法
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"装完后配置 PATH:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc注意事项
- brew 不允许用 sudo/root 运行
- 首次安装会自动 update,很慢,可用
HOMEBREW_NO_AUTO_UPDATE=1跳过 - 如果 git clone 失败,需要配代理(见下方代理章节)
Mac 安装 Node.js(推荐 nvm)
为什么用 nvm
- 可以随时切换 Node 版本
- 不需要 sudo 权限
- 不污染系统环境
- 社区主流方案
安装步骤
- 安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash - 重新打开终端或
source ~/.zshrc - 安装 Node:
nvm install --lts(LTS 版)或nvm install 22(指定版本) - 设为默认:
nvm alias default 22 - 验证:
node -v、npm -v
npm 国内镜像
npm config set registry https://registry.npmmirror.commacOS 终端代理问题(重要!)
现象
- Clash Verge 开了系统代理/全局模式,浏览器正常走代理
- 但终端(Terminal/iTerm2)执行 curl/git 等命令时不走代理
原因
- macOS 系统代理只对支持系统代理的 GUI 应用生效
- 终端默认只看环境变量
http_proxy、https_proxy、all_proxy - Clash Verge 的“系统代理”模式不会自动注入环境变量到终端
解决方案
- Clash Verge 开 TUN 模式(推荐)— 虚拟网卡级别,所有流量走代理,终端也走
- 终端手动配置环境变量(不推荐写死,应按需开关)
正确的代理使用方式
- 不要把代理写死在环境变量里,按需开关
- 在
~/.zshrc加快捷函数:
proxy_on() {
export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897
export all_proxy=socks5://127.0.0.1:7897
echo "✅ 代理已开启"
}
proxy_off() {
unset http_proxy
unset https_proxy
unset all_proxy
echo "❌ 代理已关闭"
}什么时候需要代理
- ✅ GitHub、Google、YouTube 等国外服务
- ✅ brew/npm/pip 安装国外源
- ❌ Gitee、百度、淘宝等国内服务(不需要)
验证代理是否生效
env | grep -i proxy
# 有输出说明配了,空说明没配Mac 环境变量配置
配置文件位置(zsh 加载顺序)
~/.zshenv— 最早加载,所有 zsh 都生效~/.zprofile— 登录 shell 加载~/.zshrc— 登录交互式 shell 加载(最常用,改这个)~/.zlogin— zshrc 之后加载
常用操作
- 查看环境变量:
env - 查看 PATH:
echo $PATH - 编辑:
nano ~/.zshrc或vim ~/.zshrc - 格式:
export 变量名="值"或export PATH="/new/path:$PATH" - 生效:
source ~/.zshrc
Mac 查看应用内存和磁盘占用
内存查看
- 活动监视器(GUI):
open -a "Activity Monitor",内存标签页排序 - 命令行:
ps aux --sort=-%mem | head -20
磁盘查看
- 整体空间:
df -h - 目录大小:
du -sh * | sort -hr - 应用大小:
ls -lhS /Applications/ - Homebrew:
du -sh /opt/homebrew/ - App 沙盒数据:
du -sh ~/Library/Containers/
实用工具
- CleanMyMac(付费,图形化)
- OmniDiskSweeper(免费,扫描磁盘按大小显示)
Git & GitHub
Git:分布式版本控制系统,本地仓库 + 远程仓库(GitHub/Gitee)
安装与配置
- 安装:
sudo apt install git -y(Linux)/ Mac 自带 / Windows 下载安装包 - 首次配置:
git config --global user.name/email
文件流转
工作区 → git add → 暂存区 → git commit → 本地仓库 → git push → 远程仓库克隆 GitHub 项目
- HTTPS:
git clone https://github.com/用户名/项目名.git(简单,推荐新手) - SSH:先生成密钥
ssh-keygen -t ed25519,复制公钥到 GitHub,再git clone git@github.com:用户名/项目名.git(免密,推荐长期用)
日常操作
git status→git add .→git commit -m "描述"→git push origin main→git pull origin main- 创建新项目并推送:
git init→git remote add origin <url>→git push -u origin main
.gitignore
- 忽略不需要追踪的文件(如 node_modules、.env、*.log)
分支管理
git branch 分支名— 创建但不切换git checkout -b 分支名— 创建并切换(最常用)git switch -c 分支名— 新语法(Git 2.23+)git branch— 查看本地所有分支git branch -a— 查看本地 + 远程所有分支git branch -r— 只看远程分支git branch -v— 查看分支及最后提交信息- 合并:切回主分支 →
git merge 分支名
Mac vs Windows 区别
- Git 命令完全一样
- Mac 用 Terminal/iTerm2,Windows 用 Git Bash/CMD
- 路径格式不同:Mac
/Users/xxx,WindowsC:\Users\xxx
⚠️ AI 工具分析结果要交叉验证
- Claude Code 分析服务器性能时,报告的负载/内存/Swap 数字全是编造的
- 必须用
uptime、free -h、top等实际命令验证
macOS BSD sed vs Linux GNU sed
问题:sed -i 's/old/new/g' file.txt 在 macOS 报错 unterminated substitute pattern
原因:macOS 自带 BSD sed,-i 参数必须传备份后缀(即使不需要备份)
| 系统 | 正确写法 |
|---|---|
| Linux (GNU sed) | sed -i 's/old/new/g' file.txt |
| macOS (BSD sed) | sed -i '' 's/old/new/g' file.txt |
原理:少了 '',BSD sed 把后面的表达式当备份后缀,再后面当替换命令,语法错乱
兼容写法:sed -i.bak 's/old/new/g' file.txt && rm file.txt.bak
Vite 开发服务器 HMR 热更新导致内存增长
问题
Vite 开发服务器 HMR 运行时间长了,内存占用越来越大。
原因
1. 模块缓存积累:每次修改只重新编译变化模块,旧版本模块可能因循环引用/闭包未被 GC 回收
2. 模块依赖图增长:内部维护的 Module Graph 频繁更新,旧节点残留,新节点持续加入
3. Source Maps 缓存:每次编译生成 Source Maps,缓存累积越来越多
4. WebSocket 连接泄漏:断线重连后旧连接未关闭
5. 预构建依赖缓存:.vite 目录缓存占用内存
解决办法
- 重启 Vite — 最直接
- 增大 Node 内存:
NODE_OPTIONS="--max-old-space-size=4096" - 检查第三方插件的内存泄漏问题
- 调低 IDE 自动保存触发频率
- 升级 Vite 版本
排查
node --inspect node_modules/.bin/vite
# 代码中
process.memoryUsage()这是大多数现代前端工具(Webpack、Vite、ESBuild)的通病 — 为了快速热更新大量缓存,但状态清理不完美。
Codex CLI 国内厂商接入(MiMo + MiniMax 并存)
背景:Codex 新版只支持 Responses API(wire_api = "responses"),国内目前有两家厂商都支持:小米 MiMo 和 MiniMax。
参考资料:
- MiniMax Codex 文档:https://platform.minimaxi.com/docs/token-plan/codex
- MiMo Codex 文档:https://mimo.mi.com/docs/zh-CN/tokenplan/integration/codex-configuration
两家并存 config.toml 模板
# ====== 顶层:默认激活哪家 ======
model = "MiniMax-M3"
model_provider = "minimax"
model_context_window = 1000000
# ====== 厂商一:MiniMax ======
[model_providers.minimax]
name = "MiniMax"
base_url = "https://api.minimaxi.com/v1"
experimental_bearer_token = "<MINIMAX_API_KEY>"
wire_api = "responses"
# ====== 厂商二:小米 MiMo ======
[model_providers.mimo]
name = "mimo"
base_url = "https://api.xiaomimimo.com/v1"
env_key = "MIMO_API_KEY"
wire_api = "responses"
# 可选:MiMo 推理相关
# model_reasoning_effort = "high"
# model_supports_reasoning_summaries = true
# model_reasoning_summary = "none"
# model_context_window = 1048576
# web_search = "disabled"
# 可选:模型目录,让 /model 看到所有模型
# model_catalog_json = "~/.codex/model-catalogs/model-catalogs.json"两家关键差异
| 项目 | MiMo | MiniMax |
|---|---|---|
| 凭据方式 | env_key 环境变量(推荐) | experimental_bearer_token 直接写(官方示例) |
| 上下文窗口 | 1048576(1M) | 1000000 |
| 默认 reasoning | high(Adaptive Thinking) | high |
| 多模态 | mimo-v2.5 支持图文 | MiniMax-M3 支持图文 |
| API Key 格式 | sk-...(按量)/ tp-...(订阅) | JWT(eyJ...) |
| 支持 wire_api | responses | responses |
切换方式
# 方式1:改 config.toml 顶层两行
model = "mimo-v2.5-pro"
model_provider = "mimo"
# 方式2:命令行 --model 覆盖
codex --model mimo-v2.5-pro "写脚本"
codex --model MiniMax-M3 "解释代码"
# 方式3:Profiles(0.134.0+ 的独立 profile 文件)环境变量配置
# ~/.bashrc 或 ~/.zshrc
export MIMO_API_KEY="sk-你的小米 key"
export MINIMAX_API_KEY="eyJ...你的 key"⚠️ 安全提醒
- MiMo 推荐用
env_key+ 环境变量 - MiniMax 官方示例把 Key 直接写进
experimental_bearer_token,建议改成环境变量更安全 chmod 600 ~/.codex/config.toml保护配置文件