【机器学习】贝叶斯分类与概率图模型

news2025/1/3 2:24:45

文章目录

  • 第五章 贝叶斯分类与概率图模型
    • 5.1、贝叶斯决策与贝叶斯分类
      • 5.1.1、贝叶斯基本原理
      • 5.1.2、朴素贝叶斯分类器(naive bayes)
      • 5.1.3、半朴素贝叶斯
    • 5.2、有向图与无向图一般概念
      • 5.2.1、有向图
      • 5.2.2、无向图
      • 5.2.3、条件独立性
      • 5.2.4、图模型推理的概念
    • 5.3、马尔可夫随机场
      • 5.3.1、基本概念
      • 5.3.2、应用
    • 5.4、隐马尔可夫模型
      • 5.4.1、引例
      • 5.4.2、组成要素
      • 5.4.3、基本问题

第五章 贝叶斯分类与概率图模型

5.1、贝叶斯决策与贝叶斯分类

5.1.1、贝叶斯基本原理

用于生成式模型(y取不同值有不同概率)
p ( y ∣ x ) = p ( x , y ) p ( x ) = p ( x ∣ y ) p ( y ) p ( x ) p(y|\boldsymbol x)=\dfrac{p(\boldsymbol x,y)}{p(\boldsymbol x)}=\dfrac{p(\boldsymbol x| y)p(y)}{p(\boldsymbol x)} p(yx)=p(x)p(x,y)=p(x)p(xy)p(y)

5.1.2、朴素贝叶斯分类器(naive bayes)

主要假设:各特征之间相互独立且权重相同

对于上面的表达式,其中的 x \boldsymbol x x可表示为: x = ( x 1 , x 2 , x 3 , … , x n ) \boldsymbol x=\left(x_1,x_2,x_3,\ldots,x_n\right) x=(x1,x2,x3,,xn)

由于各个 x x x间是独立的,因此上述表达式可写成:
P ( y ∣ x 1 , … , x n ) = P ( x 1 ∣ y ) P ( x 2 ∣ y ) . . . P ( x n ∣ y ) P ( y ) P ( x 1 ) P ( x 2 ) . . . P ( x n ) 即: P ( y ∣ x 1 , … , x n ) = P ( y ) Π i = 1 n P ( x i ∣ y ) P ( x 1 ) P ( x 2 ) … P ( x n ) P(y|x_1,\ldots,x_n)=\dfrac{P(x_1|y)P(x_2|y)...P(x_n|y)P(y)}{P(x_1)P(x_2)...P(x_n)}\\即:P(y|x_1,\ldots,x_n)=\dfrac{P(y)\Pi_{i=1}^nP(x_i|y)}{P(x_1)P(x_2)\ldots P(x_n)} P(yx1,,xn)=P(x1)P(x2)...P(xn)P(x1y)P(x2y)...P(xny)P(y)即:P(yx1,,xn)=P(x1)P(x2)P(xn)P(y)Πi=1nP(xiy)

  1. 当属性是离散型时:类的先验概率可通过训练集中各类样本出现的次数来估计:
    p ( x i ∣ y ) = ∣ D y , x i ∣ ∣ D y ∣ p(x_i|y)=\dfrac{|D_{y,x_i}|}{|D_y|} p(xiy)=DyDy,xi
    其中 D y D_y Dy表示训练集 D D D y y y类样本组成的集合, D y , x i D_{y,x_i} Dy,xi D y D_y Dy在第 i i i个属性上取值为 x i x_i xi的样本组成的集合。

  2. 当属性是连续型时:可假设变量服从某种概率分布

例如是高斯朴素贝叶斯分类器,则条件概率函数可以写成:
p ( x i ∣ y ) = 1 2 π σ y , i exp ⁡ { − 1 2 σ y , i 2 ( x i − μ y , i ) 2 } p(x_i|y)=\frac{1}{\sqrt{2\pi}\sigma_{y,i}}\exp\{-\frac{1}{2\sigma_{y,i}^2}(x_i-\mu_{y,i})^2\} p(xiy)=2π σy,i1exp{2σy,i21(xiμy,i)2}

μ y , i \mu_{y,i} μy,i:在类别为𝑦的样本中,特征𝑥_𝑖的均值

σ y , i \sigma_{y,i} σy,i:在类别为𝑦的样本中,特征𝑥_𝑖的标准差

参考自:

朴素贝叶斯分类器(Naive Bayes Classifiers)_K.Sun的博客-CSDN博客

高斯朴素贝叶斯(Gaussian Naive Bayes)原理与实现——垃圾邮件识别实战 - ISGuXing - 博客园 (cnblogs.com)

栗:

image-20230516095013968

现在在超市我正要买的一个苹果的特征如下:

大小 颜色 形状 好果

大 红色 圆形 ?
P ( y ∣ x 1 , x 2 , x 3 ) = P ( x 1 ∣ y ) P ( x 2 ∣ y ) P ( x 3 ∣ y ) P ( y ) P ( x 1 ) P ( x 2 ) P ( x 3 ) P(y|x_1,x_2,x_3)=\dfrac{P(x_1|y)P(x_2|y)P(x_3|y)P(y)}{P(x_1)P(x_2)P(x_3)} P(yx1,x2,x3)=P(x1)P(x2)P(x3)P(x1y)P(x2y)P(x3y)P(y)
其中: p ( y = 好果 ) = 4 / 10 , p ( y = 一般 ) = 6 / 10 p(y=好果)=4/10,p(y=一般)=6/10 p(y=好果)=4/10p(y=一般)=6/10
p ( x 1 = 大 ∣ c = 好果 ) = 3 / 4 , P ( x 2 = 红色 ∣ c = 好果 ) = 4 / 4 , p ( x 3 = 圆形 ∣ c = 好果 ) = 3 / 4 p ( x 1 = 大 ∣ c = 一般 ) = 3 / 6 , P ( x 2 = 红色 ∣ c = 一般 ) = 1 / 6 , p ( x 3 = 圆形 ∣ c = 一般 ) = 2 / 6 p(x_1=大|c=好果)=3/4,P(x_2=红色|c=好果)=4/4,p(x_3=圆形|c=好果)=3/4\\ p(x_1=大|c=一般)=3/6,P(x_2=红色|c=一般)=1/6,p(x_3=圆形|c=一般)=2/6 p(x1=c=好果)=3/4P(x2=红色c=好果)=4/4p(x3=圆形c=好果)=3/4p(x1=c=一般)=3/6P(x2=红色c=一般)=1/6p(x3=圆形c=一般)=2/6
其实我们只需要比较: p ( y = 好果 ∣ x ) 和 p ( y = 一般 ∣ x ) p(y=好果|\mathbf{x})和p(y=一般|\mathbf{x}) p(y=好果x)p(y=一般x)的大小,而分母 P ( x 1 ) P ( x 2 ) P ( x 3 ) P(x_1)P(x_2)P(x_3) P(x1)P(x2)P(x3)是一样的,所以可以只算分子。
p ( y = 好果 ∣ x ) ∝ p ( y = 好果 ) ∗ p ( x 1 = 大 ∣ c = 好果 ) ∗ P ( x 2 = 红色 ∣ c = 好果 ) ∗ p ( x 3 = 圆形 ∣ c = 好果 ) = 4 / 10 ∗ 3 / 4 ∗ 4 / 4 ∗ 3 / 4 = 0.225 p ( y = 一般 ∣ x ) ∝ 6 / 10 ∗ 3 / 6 ∗ 1 / 6 ∗ 2 / 6 = 0.0167 p(y=好果|\mathbf{x}) \propto p(y=好果)*p(x_1=大|c=好果)*P(x_2=红色|c=好果)*p(x_3=圆形|c=好果)\\ =4/10 * 3/4 * 4/4 * 3/4 =0.225\\ p(y=一般|\mathbf{x}) \propto 6/10 * 3/6 * 1/6 * 2/6= 0.0167 p(y=好果x)p(y=好果)p(x1=c=好果)P(x2=红色c=好果)p(x3=圆形c=好果)=4/103/44/43/4=0.225p(y=一般x)6/103/61/62/6=0.0167
所以这个苹果是好果。

参考:朴素贝叶斯分类器:例子解释 (qq.com)

某个样本的属性值并未出现在训练集中,导致尽管要预测的这个苹果看起来很像是好果,但是朴素贝叶斯目标函数的结果仍为0,最终被划分为一般的苹果。这需要拉普拉斯修正朴素贝叶斯分类:拉普拉斯修正。仅做了解

5.1.3、半朴素贝叶斯

朴素贝叶斯分类器的一个重要假定:分类对应的各个属性间是相互独立的,然而在现实应用中,这个往往难以做到,那怎么办呢?

很简单,适当考虑一部分属性间的相互依赖关系,这种放松后的分类称为半朴素贝叶斯分类,其中最常用的策略:假定每个属性仅依赖于其他最多一个属性,称其依赖的这个属性为其超父属性,这种关系称为:独依赖估计(ODE)。因此表达式变为:
p ( y ∣ x ) ∝ p ( y ) ∏ i = 1 d p ( x i ∣ y , p a r i ) p(y|\mathbf{x})\propto p(y)\prod\limits_{i=1}^d p(x_i|y,par_i) p(yx)p(y)i=1dp(xiy,pari)
其中, p a r i par_i pari为属性 x i x_i xi依赖的属性,称为 x i x_i xi的父属性。

参考自: 机器学习:半朴素贝叶斯分类器_算法channel的博客-CSDN博客

5.2、有向图与无向图一般概念

概率图分为有向图和无向图两大类。有向图模型也就是贝叶斯网络,图之间的链接有一个特定的方向,使用箭头表示。另一大类是马尔科夫随机场,也被称为无向图模型,这个模型中,链接没有箭头,没有方向性质。有向图对于表达随机变量之间的因果关系很有用,而无向图对于表示随机变量之间的软限制比较有用。为了求解推断问题,通常比较方便的做法是把有向图和无向图都转化为一个不同的表示形式,被称为因子图。

5.2.1、有向图

有向图中的边有明确的由一个节点到另一个节点的方向,也称作贝叶斯网络

一个有向图中所有变量的联合分布为每个节点以其所有父节点为条件的概率分布乘积:
p ( x 1 , … , x K ) = ∏ k = 1 K p ( x k ∣ p a r ( x k ) ) p(x_1,\ldots,x_K)=\prod\limits_{k=1}^K p(x_k\mid par(x_k)) p(x1,,xK)=k=1Kp(xkpar(xk))
与一般化表达 p ( x 1 , . . . , x K ) = p ( x K ∣ x 1 , . . . , x K − 1 ) … p ( x 2 ∣ x 1 ) p ( x 1 ) p(x_1,...,x_K)=p(x_K|x_1,...,x_{K-1})\dots p(x_2|x_1)p(x_1) p(x1,...,xK)=p(xKx1,...,xK1)p(x2x1)p(x1)的区别:

一般表达是由概率原则得到的任何情况都正确的分解表达,其假设所有变量之间都有关系;有向图表达是在某种具体图结构下的表达,其在不同变量之间引入了独立性假设。

例1:

在这里插入图片描述

p ( x 1 , . . . , x 7 ) = p ( x 1 ) p ( x 2 ) p ( x 3 ) p ( x 4 ∣ x 1 , x 2 , x 3 ) ⋅ p ( x 5 ∣ x 1 , x 3 ) p ( x 6 ∣ x 4 ) p ( x 7 ∣ x 4 , x 5 ) p(x_1,...,x_7)=p(x_1)p(x_2)p(x_3)p(x_4|x_1,x_2,x_3)\\ \cdot p(x_5|x_1,x_3)p(x_6|x_4)p(x_7|x_4,x_5) p(x1,...,x7)=p(x1)p(x2)p(x3)p(x4x1,x2,x3)p(x5x1,x3)p(x6x4)p(x7x4,x5)

例2:(注意初始分布和视频帧的使用)

image-20230516110248878

5.2.2、无向图

无向图中连接节点的边没有方向,也称作马尔可夫随机场(Markov Random Field)

一个团是图中一个全连接的结点子集,团中任意两个结点间都有边相连接。 一个 最大团是一个不能再增加结点的团,最小的团就是图中一条边连接的两个结点组成的团。

image-20230326171941883

一个无向图总是可以划分为很多个团的集合。同一个团中的结点绝对不满足条件独立性, 而不同团之间的结点是可以有条件独立性的。这里我们就用将联合概率密度分解成定义在团上的局部函数的乘积,我们将这个局部函数称为势函数(potential function)。(结合后面图像去噪的例子来看)
p ( x ) ∝ ∏ C ∈ e ψ x C ( x C ) = 1 Z ∏ C ∈ e ψ x C ( x C ) \begin{array}{c}p(\mathbf{x})\propto\prod\limits_{C\in e}\psi_{\mathbf{x}_C}\left(\mathbf{x}_C\right)\\ =\dfrac{1}{Z}\prod\limits_{C\in e}\psi_{\mathbf{x}_C}\left(\mathbf{x}_C\right)\end{array} p(x)CeψxC(xC)=Z1CeψxC(xC)
其中 e e e是所有最大团的集合,团 C C C中的变量集合为 x C \mathbf x_C xC,其中:
Z = ∑ x ∏ C ∈ e ψ x C ( x C ) Z=\sum_{\mathbf{x}}\prod\limits_{C\in e}\psi_{\mathbf{x}_C}\left(\mathbf{x}_C\right) Z=xCeψxC(xC)
在实际使用中,我们可以将势函数表示成: ψ C ( x C ) = exp ⁡ { − E ( x C ) } \psi_{C}(\boldsymbol{x}_{C})=\exp\{-E(\boldsymbol{x}_{C})\} ψC(xC)=exp{E(xC)},其中的 E ( x C ) E(\boldsymbol{x}_{C}) E(xC)称作能量函数,该指数表达式称为玻尔兹曼分布,这样可以把势函数的积转化成每个最大团 能量的和。

《概率图模型:原理与技术》里面讲的更为细致,目前简单理解为用因子的乘积去表示联合概率,而为了使因子数量最少,所以选用最大团。

5.2.3、条件独立性

基本表示:

  • 两个随机变量相互独立(independent) : a ⊥ b a\perp b ab,即 p ( a , b ) = p ( a ) p ( b ) p(a,b)=p(a)p(b) p(a,b)=p(a)p(b)

  • 两个随机变量条件独立(conditional independent) a ⊥ b ∣ c a\perp b|c abc

    p ( a ∣ b , c ) = p ( a ∣ c ) p ( b ∣ a , c ) = p ( b ∣ c ) p ( a , b ∣ c ) = p ( a ∣ c ) p ( b ∣ c ) p(a|b,c)=p(a|c)\quad p(b|a,c)=p(b|c)\quad p(a,b|c)=p(a|c)p(b|c) p(ab,c)=p(ac)p(ba,c)=p(bc)p(a,bc)=p(ac)p(bc)

  1. 有向图条件独立性:D分离方法

    有三种结构:

    image-20230326172556744 image-20230326172613361 image-20230326172635626

    D分离法的使用:

    image-20230326172938050

    例:

在这里插入图片描述

  1. 无向图条件独立性:条件移除方法

    ① 移除C中所有的节点以及连接到这些节点的边
    ② 判断是否存在连接A中任一节点和B中任一节点的一条路径,若不存在,则A ⊥B|C成立

    ,否则,不成立

    image-20230326173826238

    如果我们考虑两个结点 x i x_i xi x j x_j xj,它们不存在链接,那么给定图中的所有其他结点,这两个结点一定是条件独立的。这是因为两个结点之间没有直接的路径,并且所有其他的路径都通过了观测的结点,因此这些路径都是被阻隔的。这个条件独立性可以表示为:
    p ( x i , x j ∣ x \ { i , j } ) = p ( x i ∣ x \ { i , j } ) p ( x j ∣ x \ { i , j } ) p\bigl(x_i,x_j\big|\textbf{x}_{\backslash\{i,j\}}\bigr)=p\bigl(x_i\big|\textbf{x}_{\backslash\{i,j\}}\bigr)p\bigl(x_j\big|\textbf{x}_{\backslash\{i,j\}}\bigr) p(xi,xj x\{i,j})=p(xi x\{i,j})p(xj x\{i,j})

5.2.4、图模型推理的概念

在一个图模型中,推理是计算某些节点的边缘分布或以一些节点为条件计算其他节点的后验概率
在很多算法中,推理可以看作是局部信息(local messages)在图中的传播(beliefpropagation)

5.3、马尔可夫随机场

5.3.1、基本概念

  1. 位点空间 Site Space :有限元素集合 S = { s 1 , s 2 , … , s m } S=\{s_{1},s_{2},\ldots,s_{m}\} S={s1,s2,,sm}表示位点的集合

  2. 相空间 Phase Space :有限元素集合 Λ = { λ 1 , λ 2 , … , λ n } \Lambda=\{\lambda_{1},\lambda_{2},\ldots,\lambda_{n}\} Λ={λ1,λ2,,λn}表示变量的取值空间

  3. 随机场:位点空间 S S S每一个位点从相空间 Λ \Lambda Λ中取值的随机变量的集合是空间 S S S上的一个随机场 : x = { x ( s ) ∣ s ∈ S , x ( s ) ∈ Λ } \mathbf{x}=\{x(s)|s\in S,x(s)\in\Lambda\} x={x(s)sS,x(s)Λ}

  4. 一个定义在位点集合 S S S上的邻域系统(neighborhood system)定义为
    N = { N s ∣ s ∈ S } N=\{N_s|s\in S\} N={NssS}
    其中: N s = { s ′ ∈ S ∣ d ( s , s ′ ) ≤ α , s ′ ≠ s } N_s=\{s'\in S|d(s,s')\leq\alpha,s'\neq s\} Ns={sSd(s,s)α,s=s}

    邻域系统的两个性质:

    • 一个位点不属于自己的邻域,即 s ∉ N s s\notin N_{s} s/Ns
    • 相邻关系是相互的,即 s ∈ N s ′ ⇔ s ′ ∈ N s s\in N_{s^{\prime}}\Leftrightarrow s^{\prime}\in N_{s} sNssNs
  5. 马尔科夫随机场:

    一个随机场 x = { x ( s ) ∣ s ∈ S , x ( s ) ∈ Λ } \mathbf{x}=\{x(s)|s\in S,x(s)\in\Lambda\} x={x(s)sS,x(s)Λ},若满足:
    ∀ s ∈ S , p ( x ( s ) ∣ x ( S − s ) ) = p ( x ( s ) ∣ x ( N s ) ) \forall s\in S,\quad p(x(s)|\mathbf{x}(S-s))=p(x(s)|\mathbf{x}(N_s)) sS,p(x(s)x(Ss))=p(x(s)x(Ns))
    则该随机场为关于邻域系统N的马尔可夫随机场

    • 含义:一个事件发生的概率只取决于相邻的事件
    • 符号: p ( s ) ( x ) = d e f p ( x ( s ) ∣ x ( S − s ) ) = p ( x ( s ) ∣ x ( N s ) ) p^{(s)}(\mathbf{x})\stackrel{\mathrm{def}}{=}p(x(s)|\mathbf{x}(S-s))=p(x(s)|\mathbf{x}(N_{s})) p(s)(x)=defp(x(s)x(Ss))=p(x(s)x(Ns))称为位点s的马尔可夫局部特性
image-20230519172541141
  1. 吉布斯分布

定义在S上的随机场 x \mathbf x x是一个吉布斯随机场,当且仅当 x \mathbf x x服从吉布斯分布:
p ( x ) = 1 Z e − 1 T U ( x ) p(\mathbf{x})=\frac{1}{Z}\mathrm{e}^{-\frac{1}{T}U(\mathbf{x})} p(x)=Z1eT1U(x)
image-20230327220035859

在马尔科夫随机场中,联合概率密度可以表示为各个变量的条件概率的乘积形式,即每个变量的概率分布仅依赖于其邻居节点的取值,所以马尔科夫随机场的概率密度就可以用一个吉布斯分布来表示

image-20230327220212170

5.3.2、应用

能量函数常见的定义方式:
U ( x ) = ∑ s ∈ C 1 V 1 ( x s ) + ∑ ( s , s ′ ) ∈ C 2 V 2 ( x s , x s ′ ) + ∑ { s , s ′ , s ′ ′ } ∈ C 3 V 3 ( x s , x s ′ , x s ′ ′ ) + ⋯ U(\mathbf{x})=\sum_{s\in C_1}V_1(\mathbf{x}_s)+\sum_{(s,s')\in C_2}V_2(\mathbf{x}_s,\mathbf{x}_{s'})+\sum_{\{s,s',s''\}\in C_3}V_3(\mathbf{x}_s,\mathbf{x}_{s'},\mathbf{x}_{s''})+\cdots U(x)=sC1V1(xs)+(s,s)C2V2(xs,xs)+{s,s,s′′}C3V3(xs,xs,xs′′)+
一般只写到三元团,后面的不再写

对于图像去噪而言:

image-20230329085157041

要把有噪声的图像尽可能恢复到原始图像,其中噪声图的变量为 y i y_i yi,目标还原图变量为 x i x_i xi,两者的值域为 { − 1 , + 1 } \{-1,+1\} {1,+1},分别代表黄色和蓝色,表示成马尔科夫随机场即为:

image-20230329085413329

这个图里有两种类型的图块,每个图块有两个变量。我们用两个变量之间的关系来构建能量函数。

首先对于 x i , y i x_i,y_i xi,yi,我们认为一般情况下他俩是强相关的,即取值相同(正常噪声图像不会太离谱,不会偏差巨大),所以定义一个简单的能量函数: − η x i y i ( η > 0 ) -\eta x_i y_i(\eta>0) ηxiyi(η>0),当两者同色时, x i y i x_iy_i xiyi为正,能量函数小,因此势函数就大,概率就大(在玻尔兹曼定义中理解)。

剩余的团块由变量 { x i , x j } \{x_i,x_j\} {xi,xj}组成,其中 i , j i,j i,j是相邻像素的下标。与之前一样,我们希望当两个像素符号相同时能量较低,当两个像素符号相反时能量较高,因此选择能量函数 − β x i x j ( β > 0 ) -\beta x_ix_j(\beta>0) βxixj(β>0)

由于势函数是最大团块上的一个任意的非负的函数,因此我们可以将势函数与团块的子集上的任意非负函数相乘,或等价的我们可以加上对应的能量。在这个例子中,这使得我们可以为无噪声图像的每个像素 i i i加上一个额外的项 h x i hx_i hxi。这样的项具有将模型进行偏置,使得模型倾向于选择一个特定的符号,而不选择另一个符号的效果。

最终能量函数形式为:
E ( x , y ) = h ∑ i x i − β ∑ { i , j } x i x j − η ∑ i x i y i E(\mathbf{x},\mathbf{y})=h\sum_i x_i-\beta\sum_{\{i,j\}}x_ix_j-\eta\sum_i x_i y_i E(x,y)=hixiβ{i,j}xixjηixiyi
之后进行优化,目的是 x ∗ = max ⁡ p ( x ∣ y ) = max ⁡ 1 Z exp ⁡ { − E ( x , y ) } \mathbf{x}^*=\max p(\mathbf{x}|\mathbf{y})=\max \frac{1}{Z}\exp\{-E(\mathbf{x},\mathbf{y})\} x=maxp(xy)=maxZ1exp{E(x,y)}

image-20230329091603261

然后选择不同的参数值,会得到不同的还原结果,

β = 1.0 , η = 2.1 , h = 0 \beta=1.0,\eta =2.1,h=0 β=1.0,η=2.1,h=0时还原图像为:

image-20230329091806987

β = 0 \beta =0 β=0时,还原出来效果是噪声图本身,没作用,因为能量函数中只剩下 η x i y i \eta x_iy_i ηxiyi会使得 x i = y i x_i=y_i xi=yi

参考自:【PRML】【模式识别和机器学习】【从零开始的公式推导】8.3马尔可夫随机场

5.4、隐马尔可夫模型

5.4.1、引例

一个人随机挑选盒子摸一个球,然后和另一个人说颜色,从观测者的角度来看问题。

image-20230329093329712

用图模型表示出来,分为:

  • 过程1: 可观测过程,从被选到的盒子中随机抽取彩色球并观察其颜色
  • 过程2: 隐藏过程, 随机选择抽取彩色球的盒子

正式定义:

隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列、再由各个状态生成一个观测 由此产生可观测随机序列的过程。

隐藏的马尔可夫链随机生成的状态的序列称为状态序列(state sequence),每个状态生成一个观测,而由此产生的观测的随机序列称为观测序列(observation sequence),序列的每一个位置可以看作是一个时刻。

5.4.2、组成要素

(1) 状态空间 S : H M M S: \mathrm{HMM} S:HMM 的状态空间通常是可数的,元素可表示为 i , j , k , … i, j, k, \ldots i,j,k, 。尽管 H M M \mathrm{HMM} HMM 的状态是隐藏的,但在实际应用中都有明确的物理意义。比如,用HMM 模拟上述彩色球抽取实验,每个状态将对应一个包含 M M M 种颜色球的盒子,共N个盒子。
(2) 输出集/观测集 Y : Y: Y: 元素 y i ∈ Y y_i \in Y yiY 对应系统的一个物理输出。在彩色球抽取实验中, 输出对应抽取到的球的颜色
(3) 状态转移矩阵: P = { p i j } , p i j = P ( j ∣ i ) ( i , j ∈ S ) \boldsymbol{P}=\left\{p_{i j}\right\} , p_{i j}=P(j \mid i)(i, j \in S) P={pij}pij=P(ji)(i,jS) 表示从状态 i i i转移到 j j j 的概率
(4) 输出概率/观测概率分布矩阵: Q = { q s y } , q s y = P ( y ∣ s ) \boldsymbol{Q}=\left\{q_{s y}\right\} , q_{s y}=P(y \mid s) Q={qsy}qsy=P(ys) 是状态 s s s 下输出 y y y 的概率, y ∈ Y , s ∈ S y \in Y, \quad s \in S yY,sS
(5) 初始状态分布: π = { π i } , i ∈ S , π i \pi=\left\{\pi_i\right\} , i \in S , \pi_i π={πi}iSπi 表示初始状态为 i i i 的概率
p ( s , y ) = p ( s 1 , s 2 , … , s n , y 1 , y 2 , … , y n ) = p ( s 1 ) ∏ i = 1 n p ( y i ∣ s i ) ∏ i = 2 n p ( s i ∣ s i − 1 ) = π s 1 q s 1 y 1 ∏ i = 2 n p s i − 1 s i q s i y i \begin{array}{l}p(s,y)=p\big(s_1,s_2,\ldots,s_n,y_1,y_2,\ldots,y_n\big)\\ =p(s_1)\prod_{i=1}^{n}p(y_i|s_i)\prod_{i=2}^{n}p(s_i|s_{i-1})=\pi_{s_1}q_{s_1y_1}\prod_{i=2}^{n}p_{s_{i-1}s_i}q_{s_iy_i}\end{array} p(s,y)=p(s1,s2,,sn,y1,y2,,yn)=p(s1)i=1np(yisi)i=2np(sisi1)=πs1qs1y1i=2npsi1siqsiyi
image-20230329144625552

总的来说, S 和 Y S和Y SY对应 HMM 的模型结构 ,而 λ = ( P , Q , π ) \boldsymbol{\lambda}=(P,\boldsymbol{Q},\boldsymbol{\pi}) λ=(P,Q,π)对应HMM的参数

HMM的全部参数可以表示成一个矩阵的形式:

  • π \pi π叫做初始概率矩阵,是一个N维向量 π i = p ( s 1 = s i ) \pi_i=p(s_1=s_i) πi=p(s1=si)

  • P叫做转移概率矩阵,是一个N×N维矩阵, A i j = P ( s j ∣ s i ) A_{i j}=P(s_{j}|s_{i}) Aij=P(sjsi)

  • Q叫做观测概率矩阵,是一个N×M维矩阵, A i j = P ( y j ∣ s i ) A_{i j}=P(y_{j}|s_{i}) Aij=P(yjsi)

假如说有4个盒子,黑白两种颜色,即N=4,M=2

则初始概率分布为:
π = ( 0.25 , 0.25 , 0.25 , 0.25 ) T \pi=\left(0.25,0.25,0.25,0.25\right)^{\mathrm{T}} π=(0.25,0.25,0.25,0.25)T
状态转移概率分布为:
P = [ 0 1 0 0 0.4 0 0.6 0 0 0.4 0 0.6 0 0 0.5 0.5 ] P=\left[\begin{array}{cccc}0&1&0&0\\ 0.4&0&0.6&0\\ 0&0.4&0&0.6\\ 0&0&0.5&0.5\end{array}\right] P= 00.400100.4000.600.5000.60.5
观测概率分布为:
Q = [ 0.5 0.5 0.3 0.7 0.6 0.4 0.8 0.2 ] Q=\left[\begin{array}{ccc}0.5&0.5\\ 0.3&0.7\\ 0.6&0.4\\ 0.8&0.2\end{array}\right] Q= 0.50.30.60.80.50.70.40.2

5.4.3、基本问题

  1. 问题1:给定模型参数 λ \lambda λ和观测序列 y = ( y 1 , y 2 , … y n ) \mathbf y=(y_1,y_2,\dots y_n) y=(y1,y2,yn) 计算此观测序列出现的概率 p ( y ∣ λ ) p(\mathbf y|\lambda) p(yλ)。(能否计算出观测到某一特定颜色序列的概率?)

    • 直接解决方法:把 p ( y 1 , y 2 , … , y n ) p(y_{1},y_{2},\ldots,y_{n}) p(y1,y2,,yn)看做边缘概率密度,在所有可能的状态转移序列 s 1 , s 2 , … s n s_1,s_2,\dots s_n s1,s2,sn上求和
      p ( y 1 , y 2 , … , y n ) = ∑ s 1 , … , s n p ( s 1 , s 2 , … , s n , y 1 , y 2 , … , y n ) = ∑ s 1 ∑ s 2 … ∑ s n p ( s 1 , s 2 , … , s n , y 1 , y 2 , … , y n ) = ∑ s 1 ∑ s 2 … ∑ s n p ( s 1 ) ∏ i = 1 n p ( y i ∣ s i ) ∏ i = 2 n p ( s i ∣ s i − 1 ) \begin{array}{c}{{p(y_{1},y_{2},\ldots,y_{n})=\sum_{s_{1},\ldots,s_{n}}p(s_{1},s_{2},\ldots,s_{n},y_{1},y_{2},\ldots,y_{n})}}\\ {{=\sum_{s_{1}}\sum_{s_{2}}\ldots\sum_{s_{n}}p(s_{1},s_{2},\ldots,s_{n},y_{1},y_{2},\ldots,y_{n})}}\\ {{=\sum_{s_{1}}\sum_{s_{2}}\ldots\sum_{s_{n}}p(s_{1})\prod_{i=1}^{n}p(y_{i}|s_{i})\prod_{i=2}^{n}p(s_{i}|s_{i-1})}}\end{array} p(y1,y2,,yn)=s1,,snp(s1,s2,,sn,y1,y2,,yn)=s1s2snp(s1,s2,,sn,y1,y2,,yn)=s1s2snp(s1)i=1np(yisi)i=2np(sisi1)
      这种方法时间复杂度为: O ( 2 n ∣ S ∣ n ) O(2n|S|^{n}) O(2nSn)难操作,(|S|为状态空间S的状态数)

    • 前向算法:利用递归关系

      推导如下:
      p ( y 1 , y 2 , … y n ) = ∑ i = 1 ∣ S ∣ p ( y 1 , y 2 , … , y n , s n = i ) p(y_{1},y_{2},\ldots y_{n})=\sum_{i=1}^{|S|}p(y_{1},y_{2},\ldots,y_{n},s_{n}=i) p(y1,y2,yn)=i=1Sp(y1,y2,,yn,sn=i)
      其中: p ( y 1 , y 2 , … , y t , s t ) = p ( y 1 , y 2 , … , y t ∣ s t ) p ( s t ) p(y_1,y_2,\ldots,y_t,s_t)=p(y_1,y_2,\ldots,y_t|s_t)p(s_t) p(y1,y2,,yt,st)=p(y1,y2,,ytst)p(st),此时 s t s_t st是个变量
      = p ( y t ∣ s t ) p ( y 1 , y 2 , … , y t − 1 ∣ s t ) p ( s t ) = p ( y t ∣ s t ) p ( y 1 , y 2 , … , y t − 1 , s t ) = p ( y t ∣ s t ) ∑ s t − 1 p ( y 1 , y 2 , … , y t − 1 , s t − 1 , s t ) = p ( y t ∣ s t ) ∑ s t − 1 p ( y 1 , y 2 , … , y t − 1 , s t ∣ s t − 1 ) p ( s t − 1 ) = p ( y t ∣ s t ) ∑ s t − 1 p ( y 1 , y 2 , … , y t − 1 ∣ s t − 1 ) p ( s t ∣ s t − 1 ) p ( s t − 1 ) = p ( y t ∣ s t ) ∑ s t − 1 p ( y 1 , y 2 , … , y t − 1 , s t − 1 ) p ( s t ∣ s t − 1 ) \begin{array}{l}=p(y_t|s_t)p(y_1,y_2,\ldots,y_{t-1}|s_t)p(s_t)=p(y_t|s_t)p(y_1,y_2,\ldots,y_{t-1},s_t)\\ =p(y_t|s_t)\sum_{s_{t-1}}p(y_1,y_2,\ldots,y_{t-1},s_{t-1},s_{t})\\ \begin{array}{l}=p(y_t|s_t)\sum_{s_{t-1}}p(y_1,y_2,\ldots,y_{t-1},s_t|s_{t-1})p(s_{t-1})\\ =p(y_t|s_t)\sum_{s_{t-1}}p(y_1,y_2,\ldots,y_{t-1}|s_{t-1})p(s_t|s_{t-1})p(s_{t-1})\\ =p(y_t|s_t)\sum_{s_{t-1}}p(y_1,y_2,\ldots,y_{t-1},s_{t-1})p(s_t|s_{t-1})\\ \end{array} \end{array} =p(ytst)p(y1,y2,,yt1st)p(st)=p(ytst)p(y1,y2,,yt1,st)=p(ytst)st1p(y1,y2,,yt1,st1,st)=p(ytst)st1p(y1,y2,,yt1,stst1)p(st1)=p(ytst)st1p(y1,y2,,yt1st1)p(stst1)p(st1)=p(ytst)st1p(y1,y2,,yt1,st1)p(stst1)
      用更简洁的形式来表示:
      a t = p ( y 1 , y 2 , … , y t , s t ) a t = p ( y t ∣ s t ) ∑ s t − 1 a t − 1 p ( s t ∣ s t − 1 ) \begin{array}{l}{a_{t}=p(y_{1},y_{2},\ldots,y_{t},s_{t})}\\ {a_{t}=p(y_{t}|s_{t})\sum_{s_{t-1}}a_{t-1}p(s_{t}|s_{t-1})}\\ \end{array} at=p(y1,y2,,yt,st)at=p(ytst)st1at1p(stst1)
      总流程如下:

      1. 初始化: a 1 ( i ) = π i q i y 1 1 ≤ i ≤ ∣ S ∣ a_{1}(i)=\pi_{i}q_{i y_{1}}1\leq i\leq|S| a1(i)=πiqiy11iS得出S个结果

      2. 递归: a t ( j ) = [ ∑ i = 1 ∣ S ∣ α t − 1 ( i ) p i j ] q j y t   2 ≤ t ≤ n , 1 ≤ j ≤ ∣ S ∣ a_t(j)=\left[\sum_{i=1}^{|S|}\alpha_{t-1}(i)p_{ij}\right]q_{jy_t}\,2\leq t\leq n,1\leq j\leq|S| at(j)=[i=1Sαt1(i)pij]qjyt2tn,1jS

        对于n个状态的S个状态选择及已知观测值得出结果

        image-20230329171118492
      3. p ( y 1 , y 2 , … , y n ∣ λ ) = ∑ i = 1 ∣ S ∣ a n ( i ) p(y_1,y_2,\ldots,y_n|\lambda)=\sum_{i=1}^{|S|}a_n(i) p(y1,y2,,ynλ)=i=1San(i)

        最后一个状态空间累和得出结果

      最终的时间复杂度为每个状态的 ∣ S ∣ 2 |S|^2 S2的计算乘以状态数 n n n,即 O ( n ∣ S ∣ 2 ) O(n|S|^2) O(nS2),比直接求解大大降低

    最后看一个李航书上的例子:

    image-20230329171639862 image-20230329171702939 image-20230329171724106
  2. 问题二:给定模型参数 λ \lambda λ和观测序列 y = ( y 1 , y 2 , … y n ) \mathbf y=(y_1,y_2,\dots y_n) y=(y1,y2,yn),如何才能计算出最可能生成观测序列 y \mathbf y y的状态序列 s ∗ = ( s 1 , s 2 , . . . s n ) \boldsymbol{s}^{*}=(s_{1},s_{2},...s_{n}) s=(s1,s2,...sn)(给定特定的颜色观测序列,能否计算出最有可能的球被抽取出的盒子序列?)

    p ( s 1 , s 2 , … , s n ∣ y 1 , y 2 , … , y n ) = p ( s 1 , s 2 , … , s n y 1 , y 2 , … , y n ) p ( y 1 , y 2 , … , y n ) ⇔   arg ⁡ max ⁡ p ( s ∣ y , λ ) = arg ⁡ max ⁡ p ( s 1 , s 2 , … , s n , y 1 , y 2 , … , y n ) p(s_1,s_2,\ldots,s_n|y_1,y_2,\ldots,y_n)=\frac{p(s_1,s_2,\ldots,s_n y_1,y_2,\ldots,y_n)}{p(y_1,y_2,\ldots,y_n)}\\ \Leftrightarrow \ \arg\max p(\mathbf{s}|\mathbf{y},\lambda)=\arg \max p(s_1,s_2,\ldots,s_n,y_1,y_2,\ldots,y_n)\\ p(s1,s2,,sny1,y2,,yn)=p(y1,y2,,yn)p(s1,s2,,sny1,y2,,yn) argmaxp(sy,λ)=argmaxp(s1,s2,,sn,y1,y2,,yn)
    通过条件独立性又有:
    p ( s 1 , … , s t , s t + 1 , … , s n , y 1 , … , y t , y t + 1 , … , y n ) = p ( s 1 , … , s t , y 1 , … , y t ) p ( s t + 1 , … , s n , y t + 1 , … , y n ∣ s 1 , … , s t , y 1 , … , y t ) = p ( s 1 , … , s t , y 1 , … , y t ) p ( s t + 1 , … , s n , y t + 1 , … , y n ∣ s t ) p(s_{1},\ldots,s_{t},s_{t+1},\ldots,s_{n},y_{1},\ldots,y_{t},y_{t+1},\ldots,y_{n})\\ =p(s_{1},\ldots,s_{t},y_{1},\ldots,y_{t})p(s_{t+1},\ldots,s_{n},y_{t+1},\ldots,y_{n}|s_{1},\ldots,s_{t},y_{1},\ldots,y_{t})\\ =p(s_1,\ldots,s_t,y_1,\ldots,y_t)p(s_{t+1},\ldots,s_n,y_{t+1},\ldots,y_n|s_t) p(s1,,st,st+1,,sn,y1,,yt,yt+1,,yn)=p(s1,,st,y1,,yt)p(st+1,,sn,yt+1,,yns1,,st,y1,,yt)=p(s1,,st,y1,,yt)p(st+1,,sn,yt+1,,ynst)
    因此:
    max ⁡ s 1 , s 2 , … , s n p ( s 1 , … , s t , s t + 1 , … , s n , y 1 , … , y t , y t + 1 , … , y n ) = max ⁡ s 1 , s t + 1 , … , s n [ p ( s t + 1 , … , s n , y t + 1 , … , y n ∣ s t ) × max ⁡ s 1 , s 2 , … , s t − 1 p ( s 1 , … , s t − 1 s t , y 1 … , … , y t ) ] \max\limits_{s_1,s_2,\ldots,s_n}p(s_1,\ldots,s_t,s_{t+1},\ldots,s_n,y_1,\ldots,y_t,y_{t+1},\ldots,y_n)\\ =\max\limits_{s_1,s_{t+1},\ldots,s_n}[p(s_{t+1},\ldots,s_n,y_{t+1},\ldots,y_n|s_t)\times\max\limits_{s_1,s_2,\ldots,s_{t-1}}p(s_1,\ldots,s_{t-1}s_{t},y_1\ldots,\ldots,y_t)] s1,s2,,snmaxp(s1,,st,st+1,,sn,y1,,yt,yt+1,,yn)=s1,st+1,,snmax[p(st+1,,sn,yt+1,,ynst)×s1,s2,,st1maxp(s1,,st1st,y1,,yt)]

    注意上式右侧是通过找到 s 1 , s 2 , … , s t − 1 s_1,s_2,\ldots,s_{t-1} s1,s2,,st1来使概率最大,此时 s t s_t st仍是变量形式

    定义: γ t ( i ) = max ⁡ s 1 , s 2 , … , s t − 1 p ( s 1 , … , s t − 1 , s t = i , y 1 , … , y t ) \gamma_t\left(i\right)=\max\limits_{s_1,s_2,\ldots,s_{t-1}}p(s_1,\ldots,s_{t-1},s_t=i,y_1,\ldots,y_t) γt(i)=s1,s2,,st1maxp(s1,,st1,st=i,y1,,yt)

    得到:
    max ⁡ s 1 , s 2 , … , s n p ( s 1 , … , s t , s t + 1 , … , s n , y 1 , … , y t , y t + 1 , … , y n ) = max ⁡ i { max ⁡ s t + 1 , … , s n [ p ( s t + 1 , … , s n , y t + 1 , … , y n ∣ s t = i ) γ t ( i ) } \begin{array}{c}\max\limits_{s_1,s_2,\ldots,s_n}p(s_1,\ldots,s_t,s_{t+1},\ldots,s_n,y_1,\ldots,y_{t},y_{t+1},\ldots,y_n)\\ \\ =\max\limits_{i} \left \{ \max \limits_{s_{t+1},\ldots,s_n}[p(s_{t+1},\ldots,s_n,y_{t+1},\ldots,y_n|s_t=i)\gamma_t\left(i\right)\right\}\end{array} s1,s2,,snmaxp(s1,,st,st+1,,sn,y1,,yt,yt+1,,yn)=imax{st+1,,snmax[p(st+1,,sn,yt+1,,ynst=i)γt(i)}
    image-20230330093856992

    一言以蔽之:对于t时刻状态的每一个取值,找到前面到达它的最优路径和后面他到达终点的最优路径,然后在t时刻的这些状态里取最大,动态规划思想。

    在计算 γ t ( i ) \gamma_t(i) γt(i)时可以使用递归:
    γ t + 1 ( j ) = ( max ⁡ i γ t ( i ) p ( s t + 1 = j ∣ s t = i ) ) p ( y t + 1 ∣ s t + 1 = j ) \gamma_{t+1}\left(j\right)=\left(\max\limits_{i}\gamma_{t}\left(i\right)p(s_{t+1}=j|s_{t}=i)\right)p(y_{t+1}|s_{t+1}=j) γt+1(j)=(imaxγt(i)p(st+1=jst=i))p(yt+1st+1=j)
    归结为维特比算法来计算:

    image-20230330095051419

最后再看一个李航书上的例子:

image-20230330095425705 image-20230330095920774 image-20230330095948669 image-20230330100008233 image-20230330100026866 image-20230330100036465
  1. 问题3:给定多个观测序列 y i \mathbf y_i yi,我们如何才能找出最优模型参数集 λ \lambda λ,使得对所有的 y i \mathbf y_i yi, p ( y ∣ λ ) p(\mathbf y|\lambda) p(yλ)最大(给定多个观测序列,能否计算出两个盒子之间的转移概率,以及从每一个盒子中观测到特定颜色的概率?)
    …………

参考
《统计学习方法(第二版)》
《Pattern Recognition and Machine Learning》
老师上课的PPT

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

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

相关文章

海睿思分享 | 浅谈企业数据资产管理

1、什么是数据资产 与实物资产、无形资产一样,数据资产首先表现为是一种资源。也就是说,并非所有的数据资源都可以升级为数据资产。作为“资产”的数据资源,大体表现为以下两种形式:一是可以通过合理应用创造出新的价值。二是通过…

【k8s】Jenkins实现Java springboot应用CI、CD实践 【二】

一、运行Jenkins流水线流程思路: 场景1:常规java应用,使用jenkins pipeline 交付到Kubernetes集群中1、准备好java代码、Dockerfile、 deploy. yaml资源清单文件CI阶段: 1、获取代码 2、漏洞扫描 3、检测漏洞扫描结果,如果正常则…

OpenAI ChatGPT3.5-turbo实际解决问题能力评测

OpenAI ChatGPT3.5-turbo实际解决问题能力评测 ​ 程序员在coding的时候会经常遇到需要查阅资料的情况,最好的结果是直接能拿到一份好用的demo版本code,本次我们来评测:bing搜索和chatGPT3.5,解决实际问题:“html 图片…

【Proteus仿真】51单片机矩阵按键+中断+数码管显示+串口输出

【Proteus仿真】51单片机矩阵按键中断数码管显示串口输出 📌相关篇《【Proteus仿真】51单片机矩阵按键扫描外部中断使用》📍《【Proteus仿真】51单片机串口输出实验》🎈 《【Proteus仿真】51单片机定时器计数共阴数码管驱动显示》 &#x1f5…

PMP-敏捷管理知识总结

敏捷管理 敏捷管理 01敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,在敏捷开发中,项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征 。 敏捷项目管理简化了繁琐的流程和文档管理&…

考研考公太卷了,出国留学能弯道超车吗?

这届年轻人太难了! 国内高考人数越来越多,考上好大学的难度很大。2022年,高考报名人数是1193万,但考上本科的只有466万,考上双一流大学的不足50万,上双一流大学考生的比例不到5%。 高考只是卷的开始&…

软件代码设计-小优化(五)

产品需求: 按照天统计策略信收信人数和收信次数。以前策略信只有发送是没有收集的,现在要数据咋办,得收集啊。 设计方案: 因为策略信的发送是在一个单独的工程里,没有连接数据库。于是收集策略信放到了redis的list里&a…

第03章 流程控制语句

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。 程序设计中规定的三种流程结构,即: 顺序结构 程序从上到下逐行地执行,中间没有任何判断和跳转。 分支结构 根据条件&#xff0…

软件测试理论----测试设计方法论

1、测试用例格式 (1)用例编号:用例的唯一标识,要求具有易识别性和易维护性,能能够根据用例编号识别用例的目的和作用,一般格式为:A-B-C-D 其中 A:一般表示产品或者项目名称B&#…

Linux的启动流程

文章目录 Linux的启动流程BIOS、boot loader与kernel加载BIOSboot loader加载内核检测硬件与 initramfs 的功能 Linux的启动流程 本文章参考: [Uncertainty!!]的Linux的启动流程 Linux的启动流程是一个非常复杂的过程,下面是对Linux启动流程的详细分析&a…

JDBC-Java与数据库之间的桥梁

1、JDBC 1.1、数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用, 数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数…

IO流详解

IO流 1. 文件 1.1 什么是文件 文件对大家来说都不陌生: 文件是保存数据的地方,它可以保存文字、图片、视频等等例如大家平时使用的word文档、Excel文档、PPT文档等都是文件 1.2 文件流 文件在程序中是以流的形式来操作的流是指数据在数据源&#x…

mydumper - 备份恢复工具

文章目录 介绍部署安装功能 参数详解mydumpermyloader配置文件 实际示例操作性能验证 补充definerlock 总结相关链接 介绍 部署安装 # 当前最新 release wget https://github.com/mydumper/mydumper/releases/download/v0.14.4-8/mydumper-0.14.4-8.el7.x86_64.rpm# 安装 rpm…

Linux 之 firewalld 防火墙

目录 firewalld概述firewalld 与 iptables 的区别:firewalld 区域的概念firewalld防火墙预定义了9个区域:firewalld 数据处理的流程 firewalld防火墙的配置方法:永久保存配置 firewalld概述 firewalld防火墙是Centos7系统默认的防火墙管理工具&#xff…

数据分析与预处理常用的图和代码

1.训练集和测试集统计数据描述之间的差异作图&#xff1a; def diff_color(x):color red if x<0 else (green if x > 0 else black)return fcolor: {color}(train.describe() - test.describe())[features].T.iloc[:,1:].style\.bar(subset[mean, std], alignmid, colo…

国内做校园信息化的龙头企业公司有哪些?

随着数字化转型的加速&#xff0c;越来越多的学校开始寻求校园信息化的解决方案&#xff0c;相比于传统信息化模式&#xff0c;国内有哪些做校园信息化做得比较好的企业&#xff1f;他们采用的又是什么样的方式&#xff1f; 一文带你了解&#xff0c;零代码平台搭建校园信息化…

Android 14 又来了?别扶!抬起我来吧!

Android 14 又来了&#xff1f;别扶&#xff01;抬起我来吧&#xff01; 大家好&#xff0c;好久不见&#xff0c;从去年底写完年终总结之后就再也没有更新过文章&#xff0c;之前最多也就间隔一两个月时间&#xff0c;但这回间隔时间确实有点长&#xff0c;基本快半年了&…

每日一练 | 网络工程师软考真题 Day7

1、如果希望别的计算机不能通过ping命令测试效劳器的连通情况&#xff0c;可以 &#xff08;1&#xff09; 。如果希望通过默认的Telnet端口连接效劳器&#xff0c;那么下面对防火墙配置正确的选项是 &#xff08;2&#xff09; 。 &#xff08;1&#xff09; A&#xff0…

为什么说2023年是学华为认证的最佳时机?学华为认证有什么优势?

华为认证数通方向2016年以前叫数通&#xff0c;2017年开始改为R&S&#xff08;路由交换&#xff09;&#xff0c;2021年正式升级为Datacom。 新版数通认证更聚焦于技术在现实工作场景中的应用&#xff0c;并融入了大量新技术新应用&#xff0c;实用价值更高。 通过系统学…

用java带你了解IO模型

目录 1.BIO1.1 简述1.2 代码示例1.3优点和缺点1.4 思考 2. NoBlockingIO2.1 简述2.2 代码示例2.3 优点和缺点2.4 思考 3. NIO&#xff08;NewIO&#xff09;3.1 简述3.2 代码示例3.3 优点和缺点3.3 思考 4. 扩展select/poll、epoll4.1 简述4.2 select/poll4.3 epoll4.4 扩展话题…