[自然语言处理先修]一、概率统计相关知识梳理

一、概率统计相关知识梳理

本科和硕士阶段都断断续续地接触过NLP相关内容,但是没有真正地、系统地进行总结,因此也只是停留在什么都知道一点、但什么都理解的不深刻的程度上。写这一系列内容是为了记录自己重新学习的过程,也希望这次能将这些知识真正内化理解。

学习路线参考:

https://blog.51cto.com/u_15298598/3121189

https://github.com/Ailln/nlp-roadmap

https://juejin.cn/post/7113066539053482021

本节学习使用工具&阅读文章:

https://zhangzhenhu.github.io/blog/

https://www.zhihu.com/question/20587681

https://seeing-theory.brown.edu/cn.html

https://cloud.tencent.com/developer/article/1070069

https://blog.csdn.net/Dby_freedom/article/details/83374650

https://cloud.tencent.com/developer/article/1694338

1. 概率论基础

  1. 随机变量

    \(x\)来代表抛硬币的结果:比如说1表示正面,0表示反面,那么我们称\(x\)为随机变量。

  2. 期望

    以概率(或密度)为权重的加权平均值。刻画了概率分布的中心。

    \(E[X]=∑_{x∈X}xP(x)\)

  3. 方差

    一个随机变量与它的期望之间的差的平方的加权平均值。刻画了概率分布的分散度。

    \(Var(X)=E[(X−E[X])^2]\)

  4. 排列&组合

    假设我们有一袋珠子,每个珠子的颜色都不相同。如果我们无放回地从袋子里抽取珠子:

    排列:一共有多少种可能出现的颜色序列

    排列数\(A^m_n\):从n个不同元素中取出m个元素的所有排列的个数。\(A^m_n=n!/(n-m)!\)

    组合:有多少种可能出现的没有顺序的序列

    组合数\(C^m_n\):从n个不同元素中取出m个元素的所有组合的个数。\(C^m_n=A^m_n/m!\)

  5. 条件概率

    条件概率是指事件A在另外一个事件B已经发生条件下的发生概率,表示为:\(P(A|B)\)

    若只有两个事件A、B,那么,\(P(A|B)=P(AB)/P(B)\)

    若有\(A_1, A_2, …, A_n\),且\(P(A_1A_2…A_n)>0\),则\(P(A_1A_2…A_n)=P(A_1)P(A_2|A_1)…P(A_n|A_1A_2…A_{n-1})\)

  6. 相关性:刻画两个变量之间的线性关系

    \(r=\frac{s_{xy}}{s_{xx}s_{yy}}\)

    其中,\(s_{xy}=\sum^n_{i=1}(x_i-\overline x)(y_i-\overline y)\)

    \(s_{xx}=\sum^n_{i=1}(x_i-\overline x)^2\)

    \(s_{yy}=\sum^n_{i=1}(y_i-\overline y)^2\)

  7. 方差分析(ANOVA)

  8. 中心极限定理

    对于一个(性质比较好的)分布,如果我们有足够大的独立同分布的样本,其样本均值会(近似地)呈正态分布。样本数量越大,其分布与正态越接近。

2. 概率学派

世界是确定的,有一个本体,这个本体的真值是不变的。我们的目标就是要找到这个真值或真值所在的范围。

  1. 点估计:用样本统计量来估计总体参数
  2. 置信区间:一个置信水平为\(95\%\)的置信区间表示这个置信区间包含真实参数的概率为\(95\%\)
  3. Bootstrap方法:一种方便的近似确定估计量性质的方法。假设给定的数据集包含d个样本。该数据集有放回地抽样m次,产生m个样本的集合,利用这些新的样本来估计元样本均值的标准差。

3. 贝叶斯学派

世界是不确定的,人们对世界先有一个预判,而后通过观测数据对这个预判做调整,我们的目标是要找到最优的描述这个世界的概率分布。

  1. 全概率公式:\(H\)发生的可能性。\(P(H) = \sum^n_{i=1}P(A_i)P(H|A_i)\)
  2. 贝叶斯公式:在\(H\)发生的情况下,由\(A_i\)促成的可能性。\(P(A_i|H) = \frac{P(A_i)P(H|A_i)}{\sum^n_{j=1}P(A_j)P(H|A_j)}\)
  3. 先验概率(Prior):\(P(A_i)\)。已有的、根据以往经验和分析得到的概率。
  4. 似然性(Likelihood):\(P(H|A_i)\)。概率分布。
  5. 后验概率(Posterior):\(P(A_i|H)\)。在得到结果后重新修正的概率,实际上就是条件概率。

4. 线性回归

\(Y=wX+b\),找到一组参数\(w,b\)使预测数据和实际数据之间的均方误差最小。

假设有\(n\)个样本,损失函数使用均方误差:$$J = \frac{1}{2n}\sum_{i=1}^n (z_i-y_i)^2 = \frac{1}{2n}\sum_{i=1}^n (y_i-wx_i-b)^2$$

最小二乘法:对\(w\)\(b\)求导,再令导数为0(到达最小极值),就是\(w\)\(b\)的最优解。

5. 逻辑回归

在线性回归的基础上加了一个Sigmoid 函数(非线形)映射。是分类模型,通常用来解决二分类问题。Sigmoid函数,即逻辑函数:\(g(x)=\frac{1}{1+e^{-x}}\),且有\(g'(x)=g(x)[1-g(x)]\)

逻辑回归函数\(g(y)=\frac{1}{1+e^{-wx}}\)

  1. 最大似然估计

    \(P(Y=1|x)=g(y)=\frac{1}{1+e^{-wx}}=g_w(x)\)

    \(P(Y=0|x)=1-g(y)=\frac{1}{1+e^{wx}}=1-g_w(x)\)

    对于样本数据\((x,y)\),它的分类结果为\(y\)的概率为

    \(P(y|x,w)=g_w(x)^y(1-g_w(x))^{1-y}\)

    对于样本集合\(D=\{(x_1,y_1),(x_2,y_2),…,(x_n,y_n)\}\),总事件发生的概率为

    \(L(w)=\prod_{i=1}^nP(y_i|x_i;w)=\prod^n_{i=1}g_w(x_i)^{y_i}(1-g_w(x_i))^{1-y_i}\)

    找到参数\(w\)使预测数据和实际数据之间的差距最小。为了计算方便,引入对数,则

    \(ln(L(w))=\sum^n_{i=1}[y_iln(g_w(x_i))+(1-y_i)ln(1-g_w(x_i))]\)

  2. 损失函数

    损失函数取平均对数似然,即\(J(w)=-\frac1nln(L(w))\)

    在逻辑回归当中,最大化似然函数和最小化损失函数实际上是等价的。

  3. 梯度下降法

    1. 步骤:

      1. 找到现在所处位置下降最快的方向(梯度);
      2. 沿着第二步找到的方向走一个步长,到达新的位置,且新位置低于刚才的位置;
      3. 判断是否结束,如果还没有,回到步骤一。
    2. 梯度:\(J(w)\)\(w_j\)求偏导的结果。\(F = {\partial J(w)\over\partial w_j}={1\over n}\sum^n_i[g(wx_i)-y_i]*x_{i,j}\)

      \(x_{i,j}\)代表第\(i\)个样本的第\(j\)个属性值。

    3. 更新:\(w_j=w_j-\alpha*F\)

    4. 结束条件:达到最大迭代次数,或学习曲线已小于某个特定阈值。

6. 信息理论

首先定义:越不可能发生的事件(\(P(x)\)越小)信息量越大,独立事件的信息量可叠加。

  1. 熵:可以表示一个事件A本身包含多少信息。

    \(s(x)=−∑_iP(x_i)logP(x_i)\)\(x\)指事件。

    一个一定会发生的事件发生概率为1,\(s(x)=−∑_iP(x_i)log_bP(x_i)=-log1=0\),信息量为0。

  2. KL散度(相对熵):用于衡量两个事件(分布)之间的不同。即从事件A的角度来看,事件B有多大不同。假设原概率分布为\(P_A(x_i)\),近似概率分布为\(P_B(x_i)\)

    对于离散事件:\(D_{KL}(A||B)=\sum_iP_A(x_i)[logP_A(x_i)-logP_B(x_i)]=\sum_iP_A(x_i)log\frac{P_A(x_i)}{P_B(x_i)}​\)

    对于连续事件:\(D_{KL}(A||B)=\int a(x)[loga(x)-logb(x)]=\int a(x)log\frac{a(x)}{b(x)}\)

    KL散度不具有对称性,因此\(D_{KL}(A||B)\)\(D_{KL}(B||A)\)不一定相同。

  3. 交叉熵:可以用来表示从事件A的角度来看,如何描述事件B。

    交叉熵 = KL散度 + 熵,即\(H(A,B)=D_{KL}(A∣∣B)+S(A) = -\sum_iP_A(x_i)logP_B(x_i)\)

    \(H(A,A)=S(A)\)。交叉熵同样不具有对称性。

    如果\(S(A)\)是一个常量,那么$D_{KL}(A||B)= H ( A , B ) $ ,也就是说KL散度和交叉熵在特定条件下等价。

posted @ 2023-03-07 20:38  无机呱子  阅读(44)  评论(0编辑  收藏  举报