出门在外身份地位都是自己给的,作为一个经常需要写技术文档和论文的架构师,如何写出一些别人看上去很高级的东西呢?
$$ L(w, b, \alpha) = \frac{1}{2}\|w\|^2 - \sum_{i=1}^{n} \alpha_i [y_i(w^T x_i + b) - 1] $$
这里我要介绍一种公式方法LaTeX,上面SVM的拉格朗日函数(Lagrangian Function)按照LaTeX来写就是以下的这样。
$$
L(w, b, \alpha) = \frac{1}{2}\|w\|^2 - \sum_{i=1}^{n} \alpha_i [y_i(w^T x_i + b) - 1]
$$这篇文章整理了我日常最常用的 LaTeX 语法,方便查阅。
为什么用 LaTeX?
说实话,Word 写公式真的很痛苦。LaTeX 的优势在于:
- 数学公式渲染美观,专业级排版
- 纯文本格式,版本控制友好
- 跨平台一致性,不存在字体错乱问题
- 学术圈标准,投稿省心
基础语法
行内公式 vs 独立公式
行内公式用单个美元符号包裹:
质能方程 $E = mc^2$ 是物理学中最著名的公式之一。独立公式(居中显示)用双美元符号:
$$
E = mc^2
$$上标与下标
上标用 ^,下标用 _:
$x^2$ % x的平方
$x_i$ % x下标i
$x_i^2$ % 组合使用
$x_{ij}$ % 多字符下标需要大括号
$e^{i\pi}$ % 多字符上标同理分数
$\frac{a}{b}$ % 基础分数
$\frac{x^2 + 1}{x - 1}$ % 复杂分数
$\dfrac{a}{b}$ % 显示模式分数(更大)根号
$\sqrt{x}$ % 平方根
$\sqrt[3]{x}$ % 立方根
$\sqrt[n]{x}$ % n次根常用数学符号
希腊字母
| 小写 | LaTeX | 大写 | LaTeX |
|---|---|---|---|
| α | \alpha | Α | A |
| β | \beta | Β | B |
| γ | \gamma | Γ | \Gamma |
| δ | \delta | Δ | \Delta |
| ε | \epsilon | Ε | E |
| θ | \theta | Θ | \Theta |
| λ | \lambda | Λ | \Lambda |
| μ | \mu | Μ | M |
| π | \pi | Π | \Pi |
| σ | \sigma | Σ | \Sigma |
| φ | \phi | Φ | \Phi |
| ω | \omega | Ω | \Omega |
运算符
$\times$ % 乘号
$\div$ % 除号
$\pm$ % 正负号
$\mp$ % 负正号
$\cdot$ % 点乘
$\ast$ % 星号
$\leq$ % 小于等于
$\geq$ % 大于等于
$\neq$ % 不等于
$\approx$ % 约等于
$\equiv$ % 恒等于
$\propto$ % 正比于集合符号
$\in$ % 属于
$\notin$ % 不属于
$\subset$ % 真子集
$\subseteq$ % 子集
$\cup$ % 并集
$\cap$ % 交集
$\emptyset$ % 空集
$\mathbb{R}$ % 实数集
$\mathbb{Z}$ % 整数集
$\mathbb{N}$ % 自然数集箭头
$\rightarrow$ % →
$\leftarrow$ % ←
$\Rightarrow$ % ⇒ (推出)
$\Leftarrow$ % ⇐
$\Leftrightarrow$ % ⇔ (等价)
$\mapsto$ % ↦进阶语法
求和与积分
% 求和
$\sum_{i=1}^{n} x_i$
% 积分
$\int_{a}^{b} f(x) dx$
% 多重积分
$\iint_D f(x,y) dxdy$
$\iiint_V f(x,y,z) dxdydz$
% 环路积分
$\oint_C \vec{F} \cdot d\vec{l}$
% 极限
$\lim_{x \to \infty} f(x)$
% 连乘
$\prod_{i=1}^{n} x_i$矩阵
% 普通矩阵(无括号)
$$
\begin{matrix}
a & b \\
c & d
\end{matrix}
$$
% 方括号矩阵
$$
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
$$
% 圆括号矩阵
$$
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
$$
% 行列式
$$
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix}
$$$$ \begin{matrix} a & b \\ c & d \end{matrix} $$
分段函数
$$
f(x) =
\begin{cases}
x^2 & \text{if } x \geq 0 \\
-x & \text{if } x < 0
\end{cases}
$$多行公式对齐
$$
\begin{aligned}
f(x) &= (x+1)^2 \\
&= x^2 + 2x + 1
\end{aligned}
$$括号自适应
当括号内容较高时,使用 \left 和 \right 让括号自动调整大小:
$\left( \frac{a}{b} \right)$
$\left[ \sum_{i=1}^{n} x_i \right]$
$\left\{ \int_0^1 f(x) dx \right\}$机器学习常用公式示例
这些是我做 AI 项目时经常用到的:
损失函数
% 均方误差 MSE
$$
\text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2
$$
% 平均绝对误差 MAE
$$
\text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|
$$
% 二元交叉熵损失
$$
\mathcal{L} = -\frac{1}{N} \sum_{i=1}^{N} \left[ y_i \log(\hat{y}_i) + (1-y_i) \log(1-\hat{y}_i) \right]
$$
% 多分类交叉熵损失
$$
\mathcal{L} = -\sum_{i=1}^{C} y_i \log(\hat{y}_i)
$$
% Focal Loss (处理类别不平衡)
$$
\text{FL}(p_t) = -\alpha_t (1 - p_t)^\gamma \log(p_t)
$$
% Huber Loss (平滑L1)
$$
L_\delta(a) =
\begin{cases}
\frac{1}{2}a^2 & \text{if } |a| \leq \delta \\
\delta(|a| - \frac{1}{2}\delta) & \text{otherwise}
\end{cases}
$$激活函数
% Sigmoid
$$
\sigma(x) = \frac{1}{1 + e^{-x}}
$$
% Tanh
$$
\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}
$$
% ReLU
$$
\text{ReLU}(x) = \max(0, x)
$$
% Leaky ReLU
$$
\text{LeakyReLU}(x) =
\begin{cases}
x & \text{if } x > 0 \\
\alpha x & \text{otherwise}
\end{cases}
$$
% GELU (Transformer常用)
$$
\text{GELU}(x) = x \cdot \Phi(x) = x \cdot \frac{1}{2}\left[1 + \text{erf}\left(\frac{x}{\sqrt{2}}\right)\right]
$$
% Swish / SiLU
$$
\text{Swish}(x) = x \cdot \sigma(x) = \frac{x}{1 + e^{-x}}
$$Softmax
$$
\text{softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}
$$
% 带温度参数的 Softmax
$$
\text{softmax}(z_i, T) = \frac{e^{z_i / T}}{\sum_{j=1}^{K} e^{z_j / T}}
$$优化器
% 梯度下降
$$
\theta_{t+1} = \theta_t - \eta \nabla_\theta \mathcal{L}(\theta_t)
$$
% 动量 Momentum
$$
\begin{aligned}
v_t &= \gamma v_{t-1} + \eta \nabla_\theta \mathcal{L}(\theta_t) \\
\theta_{t+1} &= \theta_t - v_t
\end{aligned}
$$
% Adam
$$
\begin{aligned}
m_t &= \beta_1 m_{t-1} + (1 - \beta_1) g_t \\
v_t &= \beta_2 v_{t-1} + (1 - \beta_2) g_t^2 \\
\hat{m}_t &= \frac{m_t}{1 - \beta_1^t} \\
\hat{v}_t &= \frac{v_t}{1 - \beta_2^t} \\
\theta_{t+1} &= \theta_t - \frac{\eta}{\sqrt{\hat{v}_t} + \epsilon} \hat{m}_t
\end{aligned}
$$
% 学习率衰减 (Cosine Annealing)
$$
\eta_t = \eta_{min} + \frac{1}{2}(\eta_{max} - \eta_{min})\left(1 + \cos\left(\frac{t}{T}\pi\right)\right)
$$目标检测公式 (YOLO 相关)
做目标检测项目天天打交道的公式:
% IoU
$$
\text{IoU} = \frac{|A \cap B|}{|A \cup B|} = \frac{\text{交集面积}}{\text{并集面积}}
$$
% GIoU (Generalized IoU)
$$
\text{GIoU} = \text{IoU} - \frac{|C \setminus (A \cup B)|}{|C|}
$$
% DIoU (Distance IoU)
$$
\text{DIoU} = \text{IoU} - \frac{\rho^2(b, b^{gt})}{c^2}
$$
% CIoU (Complete IoU)
$$
\text{CIoU} = \text{IoU} - \frac{\rho^2(b, b^{gt})}{c^2} - \alpha v
$$
% 其中 v 和 α 定义为
$$
v = \frac{4}{\pi^2}\left(\arctan\frac{w^{gt}}{h^{gt}} - \arctan\frac{w}{h}\right)^2
$$
$$
\alpha = \frac{v}{(1 - \text{IoU}) + v}
$$
% NMS 置信度更新
$$
s_i =
\begin{cases}
s_i & \text{if IoU}(M, b_i) < N_t \\
0 & \text{if IoU}(M, b_i) \geq N_t
\end{cases}
$$
% Soft-NMS
$$
s_i = s_i \cdot e^{-\frac{\text{IoU}(M, b_i)^2}{\sigma}}
$$
% mAP 计算
$$
\text{AP} = \int_0^1 p(r) \, dr \approx \sum_{k=1}^{n} (r_k - r_{k-1}) p_{\text{interp}}(r_k)
$$
% Precision 和 Recall
$$
\text{Precision} = \frac{TP}{TP + FP}, \quad \text{Recall} = \frac{TP}{TP + FN}
$$
% F1 Score
$$
F_1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}
$$注意力机制
% Scaled Dot-Product Attention
$$
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V
$$
% Multi-Head Attention
$$
\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h)W^O
$$
$$
\text{where head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)
$$
% Self-Attention 位置编码
$$
\begin{aligned}
PE_{(pos, 2i)} &= \sin\left(\frac{pos}{10000^{2i/d_{model}}}\right) \\
PE_{(pos, 2i+1)} &= \cos\left(\frac{pos}{10000^{2i/d_{model}}}\right)
\end{aligned}
$$归一化
% Batch Normalization
$$
\hat{x}_i = \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}, \quad y_i = \gamma \hat{x}_i + \beta
$$
% Layer Normalization
$$
\hat{x}_i = \frac{x_i - \mu_L}{\sqrt{\sigma_L^2 + \epsilon}}, \quad y_i = \gamma \hat{x}_i + \beta
$$
% Group Normalization
$$
\hat{x}_i = \frac{x_i - \mu_G}{\sqrt{\sigma_G^2 + \epsilon}}
$$卷积相关
% 输出尺寸计算
$$
H_{out} = \left\lfloor \frac{H_{in} + 2p - k}{s} \right\rfloor + 1
$$
% 感受野计算
$$
RF_l = RF_{l-1} + (k_l - 1) \times \prod_{i=1}^{l-1} s_i
$$
% 参数量 (标准卷积)
$$
\text{Params} = C_{out} \times (C_{in} \times k^2 + 1)
$$
% 深度可分离卷积参数量
$$
\text{Params}_{DW} = C_{in} \times k^2 + C_{in} \times C_{out}
$$文本样式
$\text{普通文本}$ % 公式中的普通文本
$\textbf{粗体}$ % 粗体
$\textit{斜体}$ % 斜体
$\mathbf{A}$ % 粗体字母(常用于向量/矩阵)
$\vec{v}$ % 向量箭头
$\hat{x}$ % 估计值/单位向量
$\bar{x}$ % 平均值
$\tilde{x}$ % 波浪号
$\dot{x}$ % 一阶导数
$\ddot{x}$ % 二阶导数常用技巧
空格控制
LaTeX 默认忽略空格,需要手动添加:
$a \, b$ % 小空格
$a \: b$ % 中空格
$a \; b$ % 大空格
$a \quad b$ % 更大空格
$a \qquad b$ % 最大空格省略号
$1, 2, \ldots, n$ % 底部省略号
$1 + 2 + \cdots + n$ % 居中省略号上下划线
$\overline{AB}$ % 上划线
$\underline{AB}$ % 下划线
$\overbrace{a+b+c}^{n}$ % 上花括号
$\underbrace{a+b+c}_{n}$ % 下花括号概率统计公式
写论文和做数据分析时常用:
基础概率
% 条件概率
$$
P(A|B) = \frac{P(A \cap B)}{P(B)}
$$
% 贝叶斯定理
$$
P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}
$$
% 全概率公式
$$
P(A) = \sum_{i=1}^{n} P(A|B_i) P(B_i)
$$
% 期望
$$
E[X] = \sum_{i=1}^{n} x_i \cdot P(x_i) = \int_{-\infty}^{\infty} x \cdot f(x) \, dx
$$
% 方差
$$
\text{Var}(X) = E[(X - \mu)^2] = E[X^2] - (E[X])^2
$$
% 协方差
$$
\text{Cov}(X, Y) = E[(X - \mu_X)(Y - \mu_Y)]
$$
% 相关系数
$$
\rho_{XY} = \frac{\text{Cov}(X, Y)}{\sigma_X \sigma_Y}
$$常见分布
% 正态分布
$$
f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
$$
% 标准正态分布
$$
\phi(z) = \frac{1}{\sqrt{2\pi}} e^{-\frac{z^2}{2}}
$$
% 泊松分布
$$
P(X = k) = \frac{\lambda^k e^{-\lambda}}{k!}
$$
% 二项分布
$$
P(X = k) = \binom{n}{k} p^k (1-p)^{n-k}
$$
% 指数分布
$$
f(x) = \lambda e^{-\lambda x}, \quad x \geq 0
$$信息论
% 信息熵
$$
H(X) = -\sum_{i=1}^{n} p(x_i) \log p(x_i)
$$
% 交叉熵
$$
H(p, q) = -\sum_{i=1}^{n} p(x_i) \log q(x_i)
$$
% KL 散度
$$
D_{KL}(P \| Q) = \sum_{i} P(i) \log \frac{P(i)}{Q(i)}
$$
% 互信息
$$
I(X; Y) = H(X) - H(X|Y) = H(X) + H(Y) - H(X, Y)
$$线性代数公式
向量运算
% 向量点积
$$
\vec{a} \cdot \vec{b} = \sum_{i=1}^{n} a_i b_i = |\vec{a}||\vec{b}|\cos\theta
$$
% 向量叉积
$$
\vec{a} \times \vec{b} =
\begin{vmatrix}
\vec{i} & \vec{j} & \vec{k} \\
a_1 & a_2 & a_3 \\
b_1 & b_2 & b_3
\end{vmatrix}
$$
% 向量范数
$$
\|\vec{x}\|_2 = \sqrt{\sum_{i=1}^{n} x_i^2}, \quad \|\vec{x}\|_1 = \sum_{i=1}^{n} |x_i|
$$
% L_p 范数
$$
\|\vec{x}\|_p = \left(\sum_{i=1}^{n} |x_i|^p\right)^{\frac{1}{p}}
$$矩阵运算
% 矩阵乘法
$$
(AB)_{ij} = \sum_{k=1}^{n} A_{ik} B_{kj}
$$
% 矩阵转置
$$
(A^T)_{ij} = A_{ji}
$$
% 矩阵的迹
$$
\text{tr}(A) = \sum_{i=1}^{n} A_{ii}
$$
% 矩阵的行列式 (2x2)
$$
\det(A) = |A| =
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix}
= ad - bc
$$
% 矩阵的行列式 (3x3)
$$
\det(A) =
\begin{vmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33}
\end{vmatrix}
$$
% 逆矩阵 (2x2)
$$
A^{-1} = \frac{1}{ad-bc}
\begin{bmatrix}
d & -b \\
-c & a
\end{bmatrix}
$$
% 特征值方程
$$
A\vec{v} = \lambda\vec{v} \Rightarrow \det(A - \lambda I) = 0
$$
% SVD 分解
$$
A = U \Sigma V^T
$$
% Frobenius 范数
$$
\|A\|_F = \sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n} |a_{ij}|^2} = \sqrt{\text{tr}(A^T A)}
$$微积分公式
导数
% 基本导数
$$
\frac{d}{dx}(x^n) = nx^{n-1}
$$
$$
\frac{d}{dx}(e^x) = e^x, \quad \frac{d}{dx}(\ln x) = \frac{1}{x}
$$
$$
\frac{d}{dx}(\sin x) = \cos x, \quad \frac{d}{dx}(\cos x) = -\sin x
$$
% 链式法则
$$
\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx}
$$
% 偏导数
$$
\frac{\partial f}{\partial x}, \quad \frac{\partial^2 f}{\partial x \partial y}
$$
% 梯度
$$
\nabla f = \left(\frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \ldots, \frac{\partial f}{\partial x_n}\right)
$$
% Hessian 矩阵
$$
H = \nabla^2 f =
\begin{bmatrix}
\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} \\
\frac{\partial^2 f}{\partial x_2 \partial x_1} & \frac{\partial^2 f}{\partial x_2^2}
\end{bmatrix}
$$
% Jacobian 矩阵
$$
J =
\begin{bmatrix}
\frac{\partial f_1}{\partial x_1} & \cdots & \frac{\partial f_1}{\partial x_n} \\
\vdots & \ddots & \vdots \\
\frac{\partial f_m}{\partial x_1} & \cdots & \frac{\partial f_m}{\partial x_n}
\end{bmatrix}
$$积分
% 基本积分
$$
\int x^n \, dx = \frac{x^{n+1}}{n+1} + C \quad (n \neq -1)
$$
$$
\int e^x \, dx = e^x + C, \quad \int \frac{1}{x} \, dx = \ln|x| + C
$$
% 分部积分
$$
\int u \, dv = uv - \int v \, du
$$
% 高斯积分
$$
\int_{-\infty}^{\infty} e^{-x^2} \, dx = \sqrt{\pi}
$$
% 伽马函数
$$
\Gamma(n) = \int_0^{\infty} t^{n-1} e^{-t} \, dt = (n-1)!
$$级数
% 泰勒展开
$$
f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x-a)^n
$$
% 常用展开式
$$
e^x = \sum_{n=0}^{\infty} \frac{x^n}{n!} = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots
$$
$$
\sin x = \sum_{n=0}^{\infty} \frac{(-1)^n x^{2n+1}}{(2n+1)!} = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \cdots
$$
$$
\cos x = \sum_{n=0}^{\infty} \frac{(-1)^n x^{2n}}{(2n)!} = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \cdots
$$
$$
\ln(1+x) = \sum_{n=1}^{\infty} \frac{(-1)^{n+1} x^n}{n} = x - \frac{x^2}{2} + \frac{x^3}{3} - \cdots
$$物理/工程公式
偶尔写跨领域文档时会用到:
% 牛顿第二定律
$$
\vec{F} = m\vec{a} = m\frac{d^2\vec{r}}{dt^2}
$$
% 万有引力
$$
F = G\frac{m_1 m_2}{r^2}
$$
% 动能
$$
E_k = \frac{1}{2}mv^2
$$
% 薛定谔方程
$$
i\hbar\frac{\partial}{\partial t}\Psi = \hat{H}\Psi
$$
% 麦克斯韦方程组
$$
\nabla \cdot \vec{E} = \frac{\rho}{\epsilon_0}, \quad \nabla \times \vec{E} = -\frac{\partial \vec{B}}{\partial t}
$$
% 傅里叶变换
$$
\hat{f}(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} \, dt
$$
% 傅里叶逆变换
$$
f(t) = \frac{1}{2\pi} \int_{-\infty}^{\infty} \hat{f}(\omega) e^{i\omega t} \, d\omega
$$
% 拉普拉斯变换
$$
\mathcal{L}\{f(t)\} = F(s) = \int_0^{\infty} f(t) e^{-st} \, dt
$$
% 卷积
$$
(f * g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t - \tau) \, d\tau
$$小结
以上是我日常使用最频繁的 LaTeX 语法,基本覆盖了写技术文档和论文的需求。LaTeX 语法确实有学习曲线,但一旦熟练,写公式的效率会比 Word 高很多。