统计模型:理论与实践2024 期末复习

考点

  1. 聚类的定义,方法,k-means算法步骤,方法论的分类。k-means步骤,优缺点。比如迭代3次之后的结果。评价聚类算法的好坏,角度有哪些。

  2. em算法:概念,适用场景(可以扩展,混合高斯等),em的实现,计算,jensen不等式,如何计算。计算:高斯分布混合而成。em优缺点,其他应用。

  3. 分类:决策树,knn,贝叶斯,基本的分类的算法。分类的定义,现实世界的应用场景(垃圾邮件识别等)。训练和验证测试集的划分,要完成哪些条件。常见的分类器。贝叶斯公式的形式,计算。决策树,id3,c4.5克服了缺点(简答题)

  4. gamma:知道gamma函数的形式,在实数域的特征,阶乘。要看一下性质(递推式),如何证明性质。gamma函数积分的形式,阶乘实现。

  5. beta分布:最基本的表现(4个分布),看到特征、数学表达式,符号的含义是什么(简答题)。会计算题。beta分布在前四种之上构造的,看到特征characteristics,稍微了解一下表达,也有计算题。每个分布数学公式,均值方差,图形表达,应用,例题等等。

  6. nlp:不用管工具使用。传统nlp的任务是什么。做分词,特征构建等。可用特征(词频,共线频率等)。稍微看一下分词。什么事停用词。命名实体识别。其他处理过程(词根化等)。马尔科夫链,看一下转移矩阵的概率,计算。n-gram应用。word vector如何构建,给你一个句子,写出来对应的向量。tf-idf不用太多记,如何根据它构建主题模型。词项-文档矩阵,给一个文档,算出来tf-idf,得到矩阵。了解信息熵概念,什么是最大熵。·

2024期末回忆

简答题(每题5分,共8题)

  1. 简述聚类的定义,给出两个经典聚类算法。
  2. 简述EM算法的原理。
  3. 分类中数据集、验证集、测试集的作用和区别。
  4. C4.5相比ID3的改进。
  5. 给出泊松分布的概率密度函数,描述参数k和$\lambda$的含义。
  6. 给出正态分布的概率密度函数,以及均值和方差。
  7. 给出典型的NLP任务,以及特征应用。
  8. 什么是词项-文档矩阵,如何构造?

计算题(每题12分,共5题)

  1. Kmeans算法,给定一些坐标和两个初始中心点,计算第一次迭代。
  2. 给出正态分布的似然函数、最大似然函数,以及求偏导后的极大似然值。
  3. 给定先验概率和条件概率,计算朴素贝叶斯算法(要用全概率公式算分母)。
  4. Bigram计算句子概率。
  5. 词袋模型。

评价

htk老师虽然课件里的东西很难,但是考试出的题都非常基础,特别是计算题,又简单又好算。

聚类

【聚类】的定义

给定一组点,并考虑点之间的距离,将这些点分组为一定数量的簇(集群 cluster),使得簇内的成员彼此接近/相似,不同簇的成员不同。

通常,点位于高维空间中,相似性是使用距离度量定义的(如欧几里得距离、余弦相似度)

【聚类】的方法

  • 全局最优:穷举所有分区
  • 启发式方法:k-means和k-medoids算法
    • k-means:每个簇由簇的中心表示
    • k-medoid或PAM:每个簇由簇中的一个对象表示

【聚类】方法论的分类

  • 层次方法(Hierarchical Methods)

    • 凝聚算法(Agglomerative Algorithms)
    • 分割算法(Divisive Algorithms)
  • 分区方法(Partitioning Methods)

    • 重新定位算法(Relocation Algorithms)

    • 概率聚类(Probabilistic Clustering)

    • K-medoids方法,或 PAM (Partition around medoids)

    • K-means方法

    • 基于密度的算法(Density-Based Algorithms)

      • 基于密度的连接聚类(Density-Based Connectivity Clustering)

      • 密度函数聚类(Density Functions Clustering)

  • 基于网格的方法(Grid-Based Methods)

  • 基于分类数据共现的方法(Methods Based on Co-Occurrence of Categorical Data)

  • 基于约束的聚类(Constraint-Based Clustering)

  • 机器学习中使用的聚类算法(Clustering Algorithms Used in Machine Learning)

    • 梯度下降和人工神经网络(Gradient Descent and Artificial Neural Networks)
    • 进化方法(Evolutionary Methods)
  • 可扩展聚类算法(Scalable Clustering Algorithms)

  • 高维数据算法(Algorithms For High Dimensional Data)

    • 子空间聚类(Subspace Clustering)
    • 投影技术(Projection Techniques)
    • 联合聚类技术(Co-Clustering Techniques)

K-means方法

K-means步骤

  1. 初始化簇:为每个簇选择一个点。具体方法:首先随机选一个点,然后对接下来的k-1个点,与之前选的所有点的距离尽可能远。
  2. 将每个点划分到中心点离它最近的簇;
  3. 更新每个簇的中心点;
  4. 重复2-3步,直到簇不再变化、中心点稳定。

K-means优缺点

优点:

  • 相对有效:复杂度O(tkn),其中n是对象数,k是簇数目,t是迭代次数。通常,k,t<<n;
  • 通常在局部最优值处终止。可以使用模拟退火和遗传算法等技术找到全局最优解;

缺点:

  • 仅在均值能被定义时适用(不适用于只能被分类的、没有数学含义的数据);
  • 需要提前指定集群数量k;
  • 噪声数据和异常值问题;
  • 不适合发现具有非凸形状的簇;

评价聚类算法好坏的角度

内部标准:良好的聚类方法将产生高质量的聚类,其中:

  • 类内相似性高;
  • 类间相似性低;
  • 聚类的质量取决于文档表示和使用的相似性度量;

外部标准

  • 通过其发现高标准数据中部分或全部隐藏模式或潜在类别的能力来衡量聚类质量;

  • 真实数据(ground truth) 对比(需要 labeled data);

  • 纯度(purity) 来简单度量:

    • 纯度直观理解为每个聚类中主导类别占比的大小;

    • 然而纯度具有偏向性,因为当聚类结果中每个数据点都被分配到一个单独的簇时(也就是有 n个簇,等于数据点的总数),纯度会达到最大值。然而,这样的聚类并没有实际意义;

    • 计算公式与示例:

$$
\text{Purity}(\omega_i) = \frac{1}{n_i} \max_{j \in C}(n_{ij})
$$

image-20250105150637409
  • RI(Random Index) 衡量:

    • Rand Index 表示所有分类正确的数据点对所占的比例;

    • 以下图为例,RI = (20+72) / (20 + 24 + 20 +72) = 0.68;

    $$
    RI = \frac{A + D}{A + B + C + D}
    $$

    image-20250105152737857

EM算法

极大似然估计 MLE

似然函数

似然函数表示在给定参数下,观察到当前数据的概率是多少。

例:

假设有十个人的身高为 $x_1, x_2, …., x_{10}$,符合正态分布$X \sim N(\mu, \sigma^2)$,其中$\mu和 \sigma^2$是男生身高的均值和方差。

那么单个观测值的概率密度函数为:
$$
f(x|\mu,\sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}}exp(-\frac{(x-\mu)^2}{2\sigma^2})
$$
似然函数表示在给定参数$\mu和 \sigma^2$下,观测到当前数据的概率:
$$
L(\mu,\sigma^2) = \prod_{i=1}^{10}f(x|\mu,\sigma^2)
$$
为了方便计算,一般对似然函数求对数
$$
\ell(\mu, \sigma^2) = -\frac{10}{2} \ln(2\pi\sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^{10} (x_i - \mu)^2
$$

极大似然估计

求对应事件概率求导数(多个参数求偏导)的零点,此时的参数值就是极大似然值。

继续例:

估计均值$\mu$, 对$\mu$求偏导,并求零点:
$$
\frac{\partial \ell}{\partial \mu} = -\frac{1}{\sigma^2} \sum_{i=1}^{10} (x_i - \mu) = 0
$$
解得:
$$
\mu = \frac{1}{10} \sum_{i=1}^{10} x_i
$$
即,样本均值是均值的极大似然估计

估计方差$\sigma^2$,对$\sigma^2$求偏导,并求零点:
$$
\frac{\partial \ell}{\partial \sigma^2} = -\frac{10}{2\sigma^2} + \frac{1}{2\sigma^4}\sum_{i=1}^{10} (x_i - \mu)^2 = 0
$$
解得:
$$
\sigma^2 = \frac{1}{10} \sum_{i=1}^{10} (x_i-\mu)^2
$$
即,方差的极大似然估计为样本数据与均值差的平方的平均值

Jensen不等式

Jensen不等式定义

Jensen 不等式是数学分析和概率论中的⼀个重要不等式,描述了凸(或 凹)函数与随机变量期望之间的关系。简单来说,它揭示了在凸函数下, 函数作用于期望值小于等于期望值作用于函数。

数学表述:

  • 对于凸函数 $f$:

$$
f(\mathbb{E}[X]) \leq \mathbb{E}[f(X)]
$$

  • 对于凹函数 $f$:

$$
f(\mathbb{E}[X]) \geq \mathbb{E}[f(X)]
$$

其中,$\mathbb{E}[X]$是随机变量 $X$ 的期望值,$\mathbb{E}[f(X)]$是函数 $f$ 作用于 $X$ 后的期望值。

注:这里的凹凸函数,

  • 凸函数:图像“开口向上”,如$f(x)=x^2$。
  • 凹函数:题型“开口向下”,如$f(x)=\ln x$。

Jensen不等式的直观含义:

  • 对于凸函数,函数作用于平均值的结果 不大于 平均值作用于函数的结果。
  • 对于凹函数,函数作用于平均值的结果 不小于 平均值作用于函数的结果。

这意味着,凸函数下的平均值“低估“了个体值经过函数后的平均,而凹函数下的平均值“高估“了个体值经过函数后的平均。

Jensen不等式在EM中的作用

在EM 算法中,Jensen 不等式用于确保在每次迭代中,对数似然函数的值不会降低,从而保证算法的收敛性。

原理

  • 挑战:直接最大化不完全数据的对数似然函数$lnp(X;\theta)$可能非常复杂,尤其当存在隐变量$Z$时。

  • 解决方案:引入一个下界来近似对数似然函数,这个下界通过 Jensen 不等式构造。

  • $ln(E(X)) >= E(ln(X))$ 是实现收敛的关键。

利用 Jensen 不等式构造下界

从对数似然函数开始:
$$
\ln p(X; \theta) = \ln \int p(X, Z; \theta) , dZ
$$

引入任意分布 $q(Z)$ (通常选取$ q(Z)=p(Z∣X;θ^{(t)})$):
$$
\ln p(X; \theta) = \ln \int q(Z) \frac{p(X, Z; \theta)}{q(Z)} , dZ
$$
应用 Jensen 不等式(因为对数函数是凹函数):
$$
\ln p(X; \theta) \geq \int q(Z) \ln \frac{p(X, Z; \theta)}{q(Z)} , dZ
$$
定义辅助函数 $Q(\theta, \theta^{(t)})$:
$$
Q(\theta, \theta^{(t)}) = \int p(Z \mid X; \theta^{(t)}) \ln p(X, Z; \theta) , dZ
$$
EM 算法的目标是最大化这个下界 $Q(\theta, \theta^{(t)})$。

步骤

  1. E 步(期望步):

​ 计算$Q(\theta, \theta^{(t)})$,即在当前参数$\theta^{(t)}$下,计算隐变量的后验分布$p(Z∣X;θ(t)$并求期望。

  1. M 步(最大化步):

​ 最大化$Q(\theta, \theta^{(t)})$来更新参数$\theta$。

Jensen不等式的作用:

确保每次迭代中,对数似然函数 $\ln p(X;\theta)$ 不减

  • 由于$Q(\theta, \theta^{(t)})$是$\ln p(X;\theta)$的下界,最大化$Q$会使$\ln p(X;\theta)$增加或保持不变。

保证算法收敛

  • 通过持续提高对数似然函数值,EM算法在每次迭代中都朝着局部最优解前进。

EM算法

EM含义

EM是一个在已知部分相关变量的情况下,估计未知变量的迭代技术。

EM(Expectation-Maximization)算法是一种迭代优化算法,通常用于含有隐变量不完全数据的概率模型中,以估计模型的参数。

EM 算法在每次迭代中交替执行以下两个步骤:

  1. E 步骤(期望步骤)
    在给定当前参数估计值的条件下,计算隐变量的期望值。也就是计算隐变量的条件分布,然后基于这个分布计算某些统计量。
  2. M 步骤(最大化步骤)
    最大化完全数据的对数似然函数,调整参数以使当前的期望对数似然值最大。

通过不断迭代 E 步骤和 M 步骤,EM 算法可以收敛到局部最优解。

EM数学原理

问题描述

假设我们有观测数据 $X$ 和 隐含数据 $Z$,目标是估计模型参数 $\theta$,使得观测数据的对数似然函数 $\ln p(X; \theta)$最大化。

直接求解 $\ln p(X; \theta)$可能困难,因为它涉及对隐变量 $Z$ 的积分或求和:
$$
\ln p(X;\theta) = \ln \int p(X,Z;\theta)dZ
$$
引入完整数据对数似然

定义完整数据(观测数据和隐变量)对数似然函数:
$$
\ln p(X,Z;\theta)
$$
由于无法直接观测到$Z$,我们无法直接最大化这个函数,但可以通过条件期望来解决。

EM算法步骤

E步(期望步)

计算在当前参数$\theta^{(t)}$ 下,完整数据对数似然的条件期望:
$$
Q(\theta, \theta^{(t)})=E_{Z|X;\theta^{(t)}}[\ln p(X,Z;\theta)]
$$
$E_{Z|X;\theta^{(t)}}$表示在给定观测数据 $X$和当前参数下$\theta^{(t)}$,对隐变量$Z$求条件期望。

M步(最大化步)

在E步计算的条件期望基础上,找到新的参数$\theta^{(t+1)}$,使$Q(\theta, \theta^{(t)})$最大化:
$$
\theta^{(t+1)} = \arg \underset{\theta}{\max}Q(\theta, \theta^{(t)})
$$
收敛性

EM算法通过Jensen不等式保证了对数似然函数在每次迭代中不减:
$$
\ln p(X; \theta^{(t+1)}) \geq \ln p(X; \theta^{(t)})
$$
因此,EM算法在每次迭代中都朝着使对数似然函数增大的方向前进,最终收敛到一个局部极大值。

EM适用场景

最大期望(EM)算法是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐变量。

  • 含有隐变量的模型: 如高斯混合模型(GMM)、隐马尔可夫模型(HMM)等;

  • 不完全数据: 数据集中存在缺失值,需要估计缺失部分;

  • 参数估计困难: 直接最大化似然函数过于复杂或不可行;

应用:混合高斯模型

高斯混合模型是一种常用的聚类模型,假设数据由多个高斯分布(即正态分布)的混合生成,但我们无法直接观测到每个数据点来自哪个高斯分量。

目标:

  • 估计每个高斯分量的参数(均值$\mu_k$、协方差$\Sigma_k$)和混合系数$\pi_k$。
  • 将数据按照概率分配给不同的高斯分类,实现聚类。

模型定义

  • 数据集:$X=\lbrace x_1,x_2,…,x_N \rbrace$
  • 高斯分量数:$K$
  • 模型参数:$\theta = \lbrace \pi_k,\mu_k,\Sigma_k\rbrace_{k=1}^K$
    • $\pi_k$:第$i$个高斯分类的混合系数,满足$\Sigma_{k=1}^K \pi_k = 1$。
    • $\mu_k,\Sigma_k$:第$i$个高斯分类的均值和协方差矩阵。

隐变量

  • 对每个数据点$x_i$,引入隐变量$z_i$,表示其所属的高斯分类:
    • $z_i \in \lbrace 1,2,…,K \rbrace$
    • $p(z_i =k) = \pi_k$

EM算法具体步骤

初始化

  • 随机初始化模型参数$\theta^{(0)} = \lbrace \pi_k^{(0)}, \mu_k^{(0)}, \Sigma_k^{(0)} \rbrace$。

迭代直到收敛

1.E步(计算后验概率)

计算在当前参数下,每个数据点$x_i$属于第$k$个高斯分类的后验概率(即责任度):
$$
\gamma_{ik} = p(z_i=k \mid x_i; \theta^{(t)}) = \frac{\pi_k^{(t)}\mathcal{N}(x_i \mid \mu_k^{(t)},\Sigma_k^{(t)})}{\Sigma_{j=1}^K \pi_j^{(t)} \mathcal{N}(x_i \mid \mu_j^{(t)}, \Sigma_j^{(t)}) }
$$

  • $\mathcal{N}(x_i \mid \mu_k,\Sigma_k)$是第$k$个高斯分类的概率密度函数

2.M步(更新参数)

利用E步计算的责任度$\gamma_{ik}$,更新模型参数:

  • 更新混合系数$\pi_k$:
    $$
    \pi_k^{(t+1)} = \frac{N_k}{N}
    $$
    其中,$N_k=\Sigma_{i=1}^N \gamma_{ik}$。

  • 更新均值$\mu_k$:`1
    $$
    \mu_k^{(t+1)} = \frac{1}{N_k}\Sigma_{i=1}^{N} \gamma_{ik} x_i
    $$

  • 更新协方差矩阵$\Sigma_k$:
    $$
    \Sigma_k^{(t+1)} = \frac{1}{N_k}\Sigma_{i=1}^{N}\gamma_{ik}(x_i-\mu_k^{(t+1)})(x_i-\mu_k^{(t+1)})^T
    $$

检查收敛

计算对数似然函数$\ln p(X; \theta^{(t+1)})$,判断是否满足收敛条件(如参数变化或对数似然函数增量小于设定的阈值)。

例题

假设我们有一维数据集,由两个高斯分布混合而成:
$$
X=[1.0,1.2,0.8,5.0,5.2,4.8]
$$
目标是将数据分为两类,并估计每个高斯分布的参数。

image-20250106151431944

image-20250106151453556

image-20250106151543736

EM优缺点

优点

  • 处理含有隐变量的模型:能够在数据不完全或含有隐变量的情况下,估计参数模型。
  • 实现简单:E步和M步通常具有明确的计算步骤,易于实现。
  • 广泛适用:适用于各种概率模型,如混合模型、隐马尔可夫模型等。

局限

  • 收敛到局部极大值:EM算法可能收敛到局部最优解,依赖于初始参数的选择。
  • 收敛速度慢:在某些情况下,算法收敛速度较慢。
  • 需要计算条件期望:对于复杂模型,E步可能计算复杂或无法解析求解。

其他应用

image-20250106152317650

分类

【分类】的定义

给定一组标记实体的训练集,制定一个规则,为测试集中的实体分配标签。

【分类】应用场景

垃圾邮件过滤、数字识别、欺诈检测、网页垃圾检测、语音识别和说话者识别、医学诊断、自动论文评分、电子邮件路由、社交网络中的链接预测、药物设计中的催化活性…

训练和验证测试集的划分

在训练集上估计参数(train)

在验证集上调整超参数(validation)

在测试集上报告结果(test)

  • 数据分布一致

    • 确保训练集、验证集和测试集具有相似的数据分布,避免模型在验证或测试时性能大幅下降。
  • 互相独立

    • 训练集、验证集、测试集之间的数据不能有重叠,否则会导致数据泄漏,影响模型的评估真实性。
  • 合理的比例划分

    • 常见划分比例为:

      • 训练集:约 60%-80%,用于训练模型。
      • 验证集:约 10%-20%,用于调参和选择最佳模型。
      • 测试集:约 10%-20%,用于评估最终模型性能。
    • 在数据量较小的情况下,可采用交叉验证(如 k-fold)充分利用数据。

  • 类别平衡

    • 如果是分类问题,确保每个类别在训练集、验证集、测试集中有相似的比例,防止数据不平衡对结果的影响。
  • 时间相关性(时序数据)

    • 如果数据有时间顺序(如股票价格、天气数据),应避免未来数据出现在训练集中,否则会导致“数据泄漏”。通常将时间靠后的数据划为验证或测试集。
  • 数据预处理一致性

    • 数据预处理步骤(如标准化、归一化、特征选择)应基于训练集的统计量,并应用到验证集和测试集,防止数据泄漏。

常见的分类器

  • 支持向量机
  • 随机森林
  • 核化逻辑回归
  • 核化判别分析
  • 核化感知器
  • 贝叶斯分类器
  • 增强和其他集成方法

常用分类方法

  • 贝叶斯
  • 决策树
  • SVM(支持向量机)
  • KNN(K近邻算法)
  • 逻辑回归
  • 神经网络
  • 深度学习
  • 集成学习

贝叶斯

贝叶斯公式

$$
P(A|B) = P(A)\frac{P(B|A)}{P(B)}
$$

$$
后验概率 = 先验概率 \times 调整因子
$$

例题:假设某种疾病的发病率为0.001(1000个⼈中会有⼀个⼈得病),现有⼀种试剂在患者确实得病的情况下,有99%的而率呈现为阳性,而在患者没有得病的情况下,它有5%的几率呈现为阳性(也就是假阳性),如有⼀位病人的检验成果为阳性,那么他的得病概率是多少呢?

解答

事件A:得病;事件B:阳性
$$
P(A|B) = P(A) \frac{P(B|A)}{P(B)} = 0.001 * \frac{0.99}{0.001 * 0.99 + 0.999 * 0.05} \approx 0.019
$$

朴素贝叶斯

image-20250106155904781

参考数据仓库朴素贝叶斯计算:数据仓库与知识发现2024 期末复习/数据预处理与分类/题型4 朴素贝叶斯方法

决策树

ID3算法

参考数据仓库决策树计算:数据仓库与知识发现2024 期末复习/数据预处理与分类/题型3 构造决策树

C4.5算法

C4.5算法是对ID3算法的改进,C4.5克服了ID3的以下2个缺点:

  • 用信息增益选择属性时偏向于选择分枝比较多的属性值,即取值多的属性;
  • 不能处理连续属性;

Gamma函数

形式

$$
\Gamma(x)=\int_0^\infty t^{x-1}e^{-t}dt,其中x>0
$$

在实数域上的特征

$$
\Gamma(x+1)=x\Gamma(x)
$$

image-20250106162423376

阶乘形式

对于任意的正整数n:
$$
\Gamma(n)=(n-1)~!
$$

问题:$(\frac{1}{2})!$是多少?

答:
$$
(\frac{1}{2})! = \Gamma(\frac{3}{2})=\frac{1}{2}\Gamma(\frac{1}{2})=\frac{\sqrt{\pi}}{2}
$$

Beta 分布

四个分布

二项分布

二项分布是(Binomial Distribution)一种离散概率分布,描述了在 n 次独立重复试验中,成功发生的次数 X 的分布。每次试验有两个可能的结果(称为“成功”和“失败”),每次成功的概率为 p。
$$
P(X=k) = \begin{pmatrix}n \ k \end{pmatrix}p^k(1-p)^{n-k}
,其中\begin{pmatrix}n \ k \end{pmatrix} = \frac{n!}{k!(n-k)!}
$$

$$
E(X) = n\cdot p
$$

$$
Var(X) = n \cdot p \cdot (1-p)
$$

模型特征:二项结果;概率为定值;事件独立

应用场景:质量控制、可靠性、排队

泊松分布

泊松分布(Poisson Distribution)是一种离散概率分布,用来描述在单位时间或单位空间内事件发生的次数(用参数$\lambda$表示)。它的核心特点是,事件发生是独立的,且在单位时间或空间内的发生率是固定的。
$$
P(X=k) = \frac{\lambda^k e^{-\lambda}}{k!}
,其中\lambda 表示每单位时间内平均发生 \lambda 次事件
$$

$$
E(X) = \lambda
$$

$$
Var(X) = \lambda
$$

$$
累积分布函数F(x \leq k) = \Sigma_{x=0}^k \frac{\lambda^xe^{-\lambda}}{x!}
$$
模型特征:时间间隔或空间区域;一个事件发生的可能性极小;事件独立;事件以固定速率发生

应用场景:质量控制、可靠性、排队、物理性质

指数分布

指数分布(Exponential Distribution)是一种连续型概率分布,常用于描述事件发生的时间间隔。它回答的问题是:在某种随机过程中,从一个事件到下一个事件所需的时间有多长?
$$
f(x;\lambda) = \lambda e^{-\lambda x},
$$

$$
其中,x表示事件间隔时间(随机量),\lambda表示每单位时间内平均发生 \lambda 次事件
$$

$$
E(X) = \frac{1}{\lambda}
$$

$$
Var(X) = \frac{1}{\lambda^2}
$$

$$
累积分布函数F(x\leq k) = \int_0^k \lambda e^{-\lambda x}dx = 1-e^{\lambda k}
$$

模型特征:两次发生结果之间的时间或距离;泊松分布特征;使用泊松均值($\lambda$)

应用场景:质量控制、可靠性、排队、物理现象

正态分布

正态分布(Normal Distribution),也称高斯分布 (Gaussian Distribution),是统计学中最重要的一种连续型概率分布。它经常用于描述自然界中的随机现象,如身高、体重、考试成绩等变量的分布。
$$
概率密度函数f(x;\mu,\sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}},其中\mu为均值,\sigma^2为方差
$$

$$
累积分布函数F(x)=\frac{1}{\sqrt{2\pi\sigma^2}}\int_{-\infty}^x exp(-\frac{-(v-\mu)^2}{2\sigma^2})dv
$$

$$
P(a\leq x\leq b)=F(b)-F(a)=\frac{1}{\sqrt{2\pi\sigma^2}}\int_a^bxp(-\frac{-(v-\mu)^2}{2\sigma^2})dv
$$

模型特征:“钟形”曲线;对测量现象有效;对多种不确定的源有效;两个参数($\mu和\sigma$)

应用场景:测量的现象;多种加性现象的测量结果;其他近似的分布;许多推断统计方法

例题:假设一个公司员工的年龄符合正态分布,均值为50,标准差为5。计算50到52.5岁员工的比例。

解答

使用标准正态分布,令$Z=(x-\mu)/ \sigma$,然后从表中获取累积分布函数:

​ $F(x\leq 50) = F(Z \leq 0) = 0.5000$

​ $F(x\leq 52.5) = F(Z \leq 0.5) = 0.6915$

得到

​ $P(50\leq x \leq 52.5 = F(b) - F(a) = 0.1915$

Beta分布

含义

Beta分布是一种定义在区间[0, 1]上的连续概率分布,广泛用于描述随机变量在这个区间内的分布情况。它通常用于建模有限区间内(如概率、比例等)的不确定性,尤其是当我们对事件发生的概率有先验知识时。

模型特征:两端有界变量;多种分布形状;事件是独立的;模型比例

$$
f(x|\lambda_1,\lambda_2) = \frac{\Gamma(\lambda_1+\lambda_2)}{\Gamma(\lambda_1)\Gamma(\lambda_2)}x^{\lambda_1-1}(1-x)^{\lambda_2-1}
$$

$$
其中,0\leq x \leq 1,\lambda_1,\lambda_2 \geq 0,
$$

$$
\Gamma(\lambda)为伽马函数,\Gamma(\lambda)= \int_0^\infty x^{\lambda-1}e^{-x}dx 或 \Gamma(\lambda)=(\lambda-1)!(当\lambda为正整数时)
$$

$$
E(Q)=\frac{\lambda_1}{\lambda_1+\lambda_2}
$$

$$
Var(Q)=\frac{\lambda_1\lambda_2}{(\lambda_1+\lambda_2)^2(\lambda_1+\lambda_2+1)}
$$

令 $n=\lambda_1+\lambda_2,r=\lambda_1,为正整数时$:
$$
f_\beta(q|r,n) = \frac{(n-1)!}{(r-1)!(n-r-1)!}q^{r-1}(1-q)^{n-r-1}
$$

$$
其中,q为一个[0,1]的比值,r为成功的次数,n为实验次数
$$

$$
E(Q)=\frac{r}{n}
$$

$$
Var(Q)=\frac{r(n-r)}{n^2(n+1)}
$$

$$
累积分布函数F(Q \leq q|r,n)=\frac{(n-1)!}{(r-1)!(n-r-1)}\int_0^q\upsilon^{r-1}(1-\upsilon)d\upsilon
$$

其累积分布函数也叫不完全Beta函数,与二项累积分布函数是等价的。

例题:假设每年提交医疗福利申请的员工百分比是一个Beta随机变量。作为一家拥有40名员工的小公司的福利协调员,你目前预计大约30%的人今年最有可能提交索赔,确定超过16名员工提交索赔的概率。

解答:

​ $q=\frac{16}{40}=0.4,r = 40 * 30 % =12,n=40.$

​ 查表得:$F_\beta(Q\leq0.40|12,40)=0.91$

​ 因此:$P_\beta(Q>0.40)=1-0.91=0.09$

应用场景

  • 比例或百分比
  • 受限区间内的物理变量
  • 质量控制和可靠性的公差
  • PERT网络(广义形式)
  • 贝叶斯分析(先验信息)

NLP 自然语言处理

自然语言的特征

  • 基于规则的特征

    1. 固定的语法结构或词性分布
    2. 固定的谓词逻辑规则
    3. 通用的前缀、后缀
  • 基于统计的特征

    1. 基于大规模语料的特征, 如频率特征
    2. 基于词的编辑距离衡量的词相似性度量
  • 基于语言结构的特征

    1. 词性特征
    2. 命名实体特征
  • 其他可用特征

    1. 词频特征
    2. 词的共现频率(见N-Gram)
    3. 虚词个数
    4. 词性特征
    5. 句子的句法、文法特征
    6. 句子长度
    7. 词编辑距离特征等
    8. 词情感特征(否定、肯定等)

如何提取特征

分词

  • 基于字符串匹配的分词

    1. 正向最大规则匹配(从左到右);
    2. 逆向最大规则匹配(从右到左);
    3. 最少切分(使每一句中切出的词数最小);
    4. 双向最大规则匹配:将正向最大匹配法与逆向最大匹配法组合。先根据标点对文档进行粗切分,把文分解成若干个句子,然后再对这些句子用正向最大匹配法和逆向最大匹配法进行扫描切分。如果两种分词方法得到的匹配结果相同, 则认为分词正确,否则,按最小集处理(最少切分) 。
    5. 最佳匹配算法
      • 实现方向:在词典中按词频的大小顺序排列词条,以求缩短对分词词典的检索时间,达到最佳效果,从而降低分词的时间复杂度,加快分词速度。
      • 缺点:其空间复杂度有所增加。
      • 优点:对提高分词精度没有影响,分词处理的时间复杂度有所降低。
  • 基于理解的分词(又称基于人工智能的分词)

    1. 其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、 句法语义子系统和总控部分。
    2. 专家系统分词法;
    3. 神经网络分词法;
    4. 神经网络专家系统集成式分词法;
  • 基于统计的分词(又称无字典分词)

    1. 基本思想:词是稳定的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。 因此字与字相邻出现的概率或频率能较好反映成词的可信度。可以对训练文本中相邻出现的各个字的组合的频度进行统计,计算它们之间的互现信息。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可以认为此字组可能构成了一个词。
    2. 主要统计模型:N 元文法模型、隐Markov模型和最大熵模型等。
    3. 在实际应用中一般是将其与基于词典的分词方法结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。

停用词

什么是停用词?

功能词:”the”、”is”、”at”、”which”、”on”、的、是 等等。

词汇词:”want”等

去停用词是在自然语言处理中常用的过程之一,其目的在于将句子中的无意义的词过滤

命名实体识别(NER,Named Entity Recognition )

NER,即命名实体识别,所谓的命名实体就是人名、机构名、地名以及其他所有以名称为标识的实体,也包括日期、货币等。

注:命名实体的定义与其处理的问题有关,如在医学领域,药物名、疾病名也是命名实体。

方法:

  • 基于规则

    • 借助语言学专家,对自然语言中命名实体出现的规则进行总结,并编写模板,使用模板匹配实体。

    • 弊端

      • 仅适用于规律确定的实体;
      • 需要领域专家制定规则;
      • 规则不全面,无法最大限度识别实体。
  • 基于统计

  • 优点:避免了规则的构造和提取;利用统计规律,更具通用性;统计模型更加容易实现自动化。

其他处理过程

  • 词根化(针对非汉语,如英语);
  • 去时态化(针对非汉语,如英语);
  • 语义角色标注(SRL);
  • CFG(上下文无关文法);
  • 句法树等。

马尔可夫链

马尔科夫链

定义:马尔可夫链(Markov Chain, MC)是概率论和数理统计中具有马尔可夫性质(Markov property)且存在于离散的指数集(index set)和状态空间(state space)内的随机过程(stochastic process)。

特点:时间、状态都离散。

在马尔可夫链中,随机变量的状态转换不具备记忆性,即当前的状态仅与前一刻的状态有关。以数学表达式表示则为:
$$
p(X_{t+1} \mid X_t,…,X_1) = p(X_{t+1} \mid X_t)
$$
在马尔可夫的推广中,可将该规则推广到𝑛阶,称为𝑛-阶马尔可夫链,传统的马尔可夫链称为1-阶马尔可夫。
$$
p(X_{t+1} \mid X_t,…,X_1) = p(X_{t+1} \mid X_t,…,X_K),1<K<t
$$
马尔可夫链计算(基于当前状态,计算未来状态的概率):

image-20250108213715511

如上式,$P_{ij}$表示从状态i转化为状态j的概率,则可计算第二天的各天气概率。

N-Gram模型

在基于统计的分词中,N-Gram模型是一个较为常用且简单的模型,其中N-Gram模型关注的主要特征为词的共现特征,即共现频率高的多个字其更有可能组成一个词,如 “人”和“民”,其通常一起出现,被称为共现,因此“人民”可作为一个词的切分。

n-gram指的是文本中连续出现的n个词(或字符)序列。例如,给定一句话 “I love natural language processing”,我们可以构造不同的n-gram模型:

  • unigram(只考虑相邻的1个词共现)
  • bigram(只考虑相邻的2个词共现)
  • trigram(只考虑相邻的3个词共现)

以bigram为例:

假设我们有以下语料库:

1
“今天 天气 很 好 今天 心情 很 好 天气 真 不错”

目标是基于这段语料库计算以下句子的概率:

1
“今天 天气 很 好”

构造马尔科夫链的转移矩阵:

image-20250108165420108

句子的概率是所有条件概率的乘积:
$$
P(\text{“今天 天气 很 好”})=P(\text{天气}\mid\text{今天})\cdot P(\text{很}\mid\text{天气})\cdot P(\text{好}\mid\text{很})
$$
代入计算:
$$
P(\text{“今天 天气 很 好”})=0.5 * 0.5 * 1=0.25
$$

隐马尔可夫链

不考

词间相似度

词的编辑距离

词的编辑距离,描述了一个词变为另一个词所需的操作次数,从某种程度而言,可以作为词于词之间的相似性。

操作包括:插入、删除、替换。

对于中文无较好支持。由于英文由字母组成,其编辑距离可由字母变换计算,而中文无法实现。

余弦相似度

$$
similarity=\cos(\theta)=\frac{A \cdot B}{||A|| \cdot||B||}=\frac{\Sigma_{i=1}^{n}(A_i\times B_i)}{\sqrt{\Sigma_{i=1}^{n}(A_i)^2} \times \sqrt{\Sigma_{i=1}^{n}(B_i)^2}}
$$

Tanimoto系数(广义Jaccard相似系数)

$$
T(A,B)=\frac{A \cdot B}{||A||^2 + ||B||^2-A \cdot B}=\frac{\Sigma A_i B_i}{\sqrt{\Sigma A_i^2}+\sqrt{\Sigma B_i^2}-\Sigma A_i B_i}
$$

词向量化

词向量化技术(在深度学习领域通常称为词嵌入),能够将自然语言中的词转化为可供计算的数学表示(通常是向量)。

若考虑向量的维度为𝑚, 则可以使用𝑚范数距离计算向量之间的距离,表示词间距离。

使用ID编码的词(不使用词向量化):每个词对应一个唯一的数值型ID。

缺点:数值型计算无法反映词的真实距离

常用词向量次数:One-Hot、词袋模型(BoW)

One-Hot编码

One-Hot方法:将所有的词使用编码的方式构造一个词典,词典中词的数量作为One-Hot编码的维度数,每个维度表示一个词,每个词在其对应的维度上出现时, 该维度值为1。

例如,给定一个字典,大小为5,有词”你“、”我“、”他“。

编码:你:[1,0,0,0,0];我:[0,1,0,0,0];他:[0,0,1,0,0]。

假设使用1-范数距离(曼哈顿距离)来衡量词与词之间的远近,则“你”“我”的距离为2。 此时更换编码顺序,将“你”编码为[0, 0, 0, 1, 0],此时得到的距离依然为2。

优点:

  • 解决了词到数值空间的映射问题;
  • 编码不同,但是计算得到的结果相同;

缺点:

  • 没有考虑词的频率,使得任意两个词之间的距离相同;
  • 矩阵稀疏,维度可能太高,需要降维处理;
  • 没有考虑上下文,词被认为是独立的。

Bag of Word(BoW)词袋

BoW方法:对所有的词构造词典,形成ID与词的映射。以词典大小作为向量维数, 并统计句子(或文档)中每个词的出现频率,将词的频率填充到向量中对应的维度上得到该句子(或文档)向量。

例如,有两个句子分别为:

s1 = “𝐽𝑜ℎ𝑛 𝑙𝑖𝑘𝑒𝑠 𝑡𝑜 𝑤𝑎𝑡𝑐ℎ 𝑚𝑜𝑣𝑖𝑒𝑠,𝑀𝑎𝑟𝑦 𝑙𝑖𝑘𝑒𝑠 𝑚𝑜𝑣𝑖𝑒𝑠 𝑡𝑜𝑜”

s2 = “𝐽𝑜ℎ𝑛𝑎𝑙𝑠𝑜𝑙𝑖𝑘𝑒𝑠𝑡𝑜𝑤𝑎𝑡𝑐ℎ𝑓𝑜𝑜𝑡𝑏𝑎𝑙𝑙 𝑔𝑎𝑚𝑒𝑠”

1)构造词典,每个词给定唯一编码,如 1:John,获得词典,大小为10;

2)统计词典中每个词在句子中出现的次数, 如𝑠中movies次数为2;

3)将不同词出现的次数,填充到对应的维度上,得到最终向量。

结果:

image-20250108172157116

优点:

  • 考虑了词频特征,能够更好地反映词在句子或文档中的分布情况;
  • 基于统计的特征提取,通用性更好;
  • 简单易用,有一定可用性和有效性;

缺点:

  • 不考虑词序特征、文法、句法特征,有信息丢失;
  • 矩阵(向量)稀疏,运算量大;

词频与TF-IDF

词频(Term Frequency, TF)定义:某个词在语料库中出现的频率,用以表示语料库中各词的分布情况。
$$
TF(w)=\frac{单词w在文章中出现的次数}{文章中单词的总数}
$$
BoW模型是利用TF特征构建的一种向量化模型。 除词频外,还有另外一个频率,即
逆文本频率(Inverse Document Frequency, IDF)

$$
IDF(w)=log(\frac{语料库中文档的总数}{包含词𝑤的文档数+1})
$$
IDF的作用是降低那些在所有文档中都很常见的词的权重,从而使得在少数文档中出现的词具有较高的权重,代表它们更能区分不同文档。

NLP领域的一个定理:

LAW: Zipf’s Law, given some corpus of natural language utterances, the frequency of any word is inversely proportional to its rank in the frequency table.

解释:在一个自然语言语料库中,单词的出现频率与它在频率排名中的位置(即排名靠前的单词出现的频率较高)成反比。具体来说,若将单词按频率排序,排名第一的单词出现的次数大约是排名第二的单词的两倍,排名第二的单词的出现次数大约是排名第三的单词的两倍,以此类推。

根据上述定理,我们可以导出TF-IDF定义:
$$
TF-IDF(w)=TF(w) \times IDF(w)
$$
解决的问题:相比于BoW,其词的分布特征更加准确,TF-IDF值反映了该词在该文档中的重要程度。

TF-IDF能够反映文档中词对文档的贡献度,那么其能应用在哪些领域呢?

  1. 文本挖掘领域(Text Mining);
  2. 信息检索领域(InformationRetrieval)

TF-IDF的问题:

  • 忽略了位置信息,不能完全地进行语义建模;
  • 假设词是独立的,没有考虑上下文信息;
  • 无法处理在文章中出现次数少,但是确是文档内容核心的情况;

用TF-IDF构建主题模型

主题模型(Topic Model):一种以非监督学习的方式对文集的隐含语义结构(latent semantic structure)进行聚类(clustering)的统计模型。

TF-IDF在主题模型中的应用: 计算文档中各词的TF-IDF值,选取TF-IDF高的词作为文档的主题表示。

方法:

  1. 构建词典;
  2. 统计各词在文档、语料库中的TF值及IDF值;
  3. 计算TF-IDF值,并倒排序;
  4. 选取TF-IDF值高的项,并在词典中查找对应词,作为主题词。

词项-文档矩阵(Term-Document Matrix)

通过计算TF-IDF值,来构建矩阵,矩阵中的每个元素值代表了相应行上的词项对应于相应列上的文档的权重,即这个词对于这篇文章来说的重要程度。

基本过程:

  1. 读入文档;
  2. 分词;
  3. 建立字典(得到ID:词的映射,ID将作为矩阵行的索引);
  4. 计算TF-IDF值;
  5. 得到Term-Document Matrix。

共现矩阵

前面我们提到,TF-IDF和One-Hot编码均有一个弊端:认为词是独立存在,不考虑词的位置信息及上下文信息。 反观N-Gram模型,其建模了词与词之间的关联关系,如2-gram模型中,一个词将考虑 其前一个词的关系,这便是共现特征(Co-occurrence)。

共现矩阵是基于N-Gram思想的又一种模型,其统计了一个词与其他词共同出现的频率,以此来建模词的特征。

例: 设语料库如为:”I like deep learning.”, “I like NLP.” , “I enjoy flying.”,利用bigram求出共现矩阵。

设置窗口大小为1,分别滑动,判断每 个bigram组合的出现频率,如”I like”为 2, “I enjoy”为1,”like deep”为1,依次 滑动窗口,求出所有bigram项的频率。 则有如图所示的共现矩阵。

image-20250108173624034

基于行(或列)的词向量,可以发现,对于 like和enjoy,其欧式距离或1-范数距离较小, 说明两词含义相近,符合预期,可用于比较词与词之间的相似度。

LDA与LSA

不考

常见的的NLP任务

  1. 垃圾邮件、短信识别
  2. 文本相似性判断,用于文本聚类或信息检索
  3. 文本情感分析
  4. 文本质量评估
  5. 文本主题提取

信息熵,最大熵模型

信息熵:用于衡量信息的不确定性。对于一个随机变量,其计算方式如下:
$$
H(X)=-\Sigma P(X)\log P(X)
$$
最大熵模型:在满足所有已知条件的情况下,保留最大的不确定性,即保持熵最大。

参考

  • 统计模型:理论与实践 - 复习 from Chipsy
  • 统计模型:理论与实践-研(2024)课件