Commit 90d35712 by 曹润柘

合并分支 'caorunzhe' 到 'master'

Caorunzhe

查看合并请求 !1047
parents f66afcf2 bdb1c08f
......@@ -327,11 +327,11 @@ $计算这种切分的概率值。
\parinterval 隐马尔可夫模型是一种经典的序列模型\upcite{Baum1966Statistical,baum1970maximization,1996Hidden}。它在语音识别、自然语言处理的很多领域得到了广泛的应用。隐马尔可夫模型的本质就是概率化的马尔可夫过程,这个过程隐含着状态间转移和可见状态生成的概率。
\parinterval 这里用一个简单的“抛硬币”游戏来对这些概念进行说明:假设有三枚质地不同的硬币$A$$B$$C$,已知这三个硬币抛出正面的概率分别为0.3、0.5、0.7,在游戏中,游戏发起者在上述三枚硬币中选择一枚硬币上抛,每枚硬币被挑选到的概率可能会受上次被挑选的硬币的影响,且每枚硬币正面向上的概率都各不相同。不停的重复挑选硬币、上抛硬币的过程,会得到一串硬币的正反序列,例如:抛硬币6次,得到:正正反反正反。游戏挑战者通过观察6次后获得的硬币正反序列,猜测每次选择的究竟是哪一枚硬币。
\parinterval 这里用一个简单的“抛硬币”游戏来对这些概念进行说明:假设有三枚质地不同的硬币$A$$B$$C$,已知这三个硬币抛出正面的概率分别为0.3、0.5、0.7,在游戏中,游戏发起者在上述三枚硬币中选择一枚硬币上抛,每枚硬币被挑选到的概率可能会受上次被挑选的硬币的影响,且每枚硬币正面向上的概率都各不相同。不停的重复挑选硬币、上抛硬币的过程,会得到一串硬币的正反序列,例如:抛硬币6次,得到:正正反反正反。游戏挑战者根据硬币的正反序列,猜测每次选择的究竟是哪一枚硬币。
\parinterval 在上面的例子中,每次挑选并上抛硬币后得到的“正面”或“反面”即为“可见状态”,再次挑选并上抛硬币会获得新的“可见状态”,这个过程即为“状态的转移”,经过6次反复挑选上抛后得到的硬币正反序列叫做可见状态序列,由每个回合的可见状态构成。此外,在这个游戏中还暗含着一个会对最终“可见状态序列”产生影响的“隐含状态序列”\ \dash \ 每次挑选的硬币形成的序列,例如$CBABCA$
\parinterval 实际上,隐马尔科夫模型在处理序列问题时的关键依据是两个至关重要的概率关系,并且这两个概率关系也始终贯穿于“抛硬币”的游戏中。一方面,隐马尔可夫模型{\small\sffamily\bfseries{发射概率}}\index{发射概率}(Emission Probability)\index{Emission Probability}来描述隐含状态和可见状态之间存在的输出概率(即$A$$B$$C$抛出正面的输出概率为0.3、0.5、0.7),同样的,隐马尔可夫模型还会描述系统隐含状态的{\small\sffamily\bfseries{转移概率}}\index{转移概率}(Transition Probability)\index{Transition Probability},在这个例子中,$A$的下一个状态是$A$$B$$C$的概率都是1/3,$B$$C$的下一个状态是$A$$B$$C$的转移概率也同样是1/3。图\ref{fig:3.3-2}展示了在“抛硬币”游戏中的转移概率和发射概率,它们都可以被看做是条件概率矩阵。
\parinterval 实际上,隐马尔科夫模型在处理序列问题时的关键依据是两个至关重要的概率关系,并且这两个概率关系也始终贯穿于“抛硬币”的游戏中。一方面,隐马尔可夫模型用{\small\sffamily\bfseries{发射概率}}\index{发射概率}(Emission Probability)\index{Emission Probability}来描述隐含状态和可见状态之间存在的输出概率(即$A$$B$$C$抛出正面的输出概率为0.3、0.5、0.7),同样的,隐马尔可夫模型还会描述系统隐含状态的{\small\sffamily\bfseries{转移概率}}\index{转移概率}(Transition Probability)\index{Transition Probability},在这个例子中,$A$的下一个状态是$A$$B$$C$的概率都是1/3,$B$$C$的下一个状态是$A$$B$$C$的转移概率也同样是1/3。图\ref{fig:3.3-2}展示了在“抛硬币”游戏中的转移概率和发射概率,它们都可以被看做是条件概率矩阵。
%----------------------------------------------
\begin{figure}[htp]
......@@ -382,7 +382,7 @@ $计算这种切分的概率值。
\vspace{0.5em}
\item {\small\sffamily\bfseries{参数学习}},即给定硬币种类(隐含状态数量),根据多个可见状态序列(抛硬币的结果)估计模型的参数(转移概率),这个问题的求解需要用到EM算法\upcite{1977Maximum}
\vspace{0.5em}
\item {\small\sffamily\bfseries{解码}},即给定模型(转移概率和发射概率)和可见状态序列(抛硬币的结果),计算在可见状态序列的情况下,最可能出现的对应的状态序列,这个问题的求解需要用到基于动态规划的方法,通常也被称作{\small\sffamily\bfseries{维特比算法}}\index{维特比算法}(Viterbi Algorithm)\index{Viterbi Algorithm}\upcite{1967Error}
\item {\small\sffamily\bfseries{解码}},即给定模型(转移概率和发射概率)和可见状态序列(抛硬币的结果),根据可见状态序列,计算最可能出现的隐含状态序列,这个问题的求解需要用到基于动态规划的方法,通常也被称作{\small\sffamily\bfseries{维特比算法}}\index{维特比算法}(Viterbi Algorithm)\index{Viterbi Algorithm}\upcite{1967Error}
\vspace{0.5em}
\end{itemize}
......@@ -797,7 +797,7 @@ s_0 \overset{r_1}{\Rightarrow} s_1 \overset{r_2}{\Rightarrow} s_2 \overset{r_3}{
\label{eq:3.4-4}
\end{eqnarray}
\noindent 即,在给定规则左部的情况下生成规则右部的可能性。进一步,在上下文无关文法中,每条规则之间的使用都是相互独立的 \footnote{如果是上下文有关文法,规则会形如 $a\alpha b\to a\beta b$,这时$\alpha \to \beta $的过程会依赖前后上下文$a$$b$},因此可以把$\funp{P}(d)$分解为规则概率的乘积:
\noindent 即,在给定规则左部的情况下生成规则右部的可能性。进一步,在上下文无关文法中,每条规则之间的使用都是相互独立的 \footnote{如果是上下文有关文法,规则会形如 $a\alpha b\to a\beta b$,这时$\alpha \to \beta $的过程会依赖上下文$a$$b$},因此可以把$\funp{P}(d)$分解为规则概率的乘积:
\begin{eqnarray}
\funp{P}(d) & = & \funp{P}(r_1 \cdot r_2 \cdot ... \cdot r_n) \nonumber \\
& = & \funp{P}(r_1) \cdot \funp{P}(r_2) \cdots \funp{P}(r_n)
......@@ -819,9 +819,9 @@ r_6: & & \textrm{VP} \to \textrm{VV}\ \textrm{NN} \nonumber
\label{eq:3.4-7}
\end{eqnarray}
\parinterval 这也对应了词串“吃/鱼”的生成过程。首先,从起始非终结符VP开始,使用规则$r_6$生成两个非终结符VV和NN;进一步,分别使用规则$r_3$$r_4$从VV和NN进一步生成单词“吃”和“鱼”。整个过程的概率等于三条规则概率的乘积。
\parinterval 这也对应了词串“吃/鱼”的生成过程。首先,从起始非终结符VP开始,使用规则$r_6$生成两个非终结符VV和NN;进一步,分别使用规则$r_3$$r_4$将“VV”和“NN”进一步推导,生成单词“吃”和“鱼”。整个过程的概率等于三条规则概率的乘积。
\parinterval 新的问题又来了,如何得到规则的概率呢?这里仍然可以从数据中学习文法规则的概率。假设有人工标注的数据,它包很多人工标注句法树的句法,称之为{\small\sffamily\bfseries{树库}}\index{树库}(Treebank)\index{Treebank}。然后,对于规则$\textrm{r}:\alpha \to \beta$可以使用基于频次的方法:
\parinterval 新的问题又来了,如何得到规则的概率呢?这里仍然可以从数据中学习文法规则的概率。假设有人工标注的数据,它包很多人工标注句法树的句法,称之为{\small\sffamily\bfseries{树库}}\index{树库}(Treebank)\index{Treebank}。然后,对于规则$\textrm{r}:\alpha \to \beta$可以使用基于频次的方法:
\begin{eqnarray}
\funp{P}(r) &=& \frac{\text{规则$r$在树库中出现的次数}}{\alpha \text{在树库中出现的次数}}
\label{eq:3.4-8}
......
......@@ -31,7 +31,7 @@
\node [anchor=west] (layer01label) at ([xshift=1em]layer01.east) {\footnotesize{第1层}};
}
{
\node [anchor=west] (layer01label2) at (layer01label.east) {\footnotesize{{隐层}}};
\node [anchor=west] (layer01label2) at (layer01label.east) {\footnotesize{{}}};
}
%%% layer 2
......@@ -57,7 +57,7 @@
\node [anchor=west] (layer02label) at ([xshift=5em]layer02.east) {\footnotesize{第2层}};
{
\node [anchor=west] (layer02label2) at (layer02label.east) {\footnotesize{{隐层}}};
\node [anchor=west] (layer02label2) at (layer02label.east) {\footnotesize{{}}};
}
}
......
......@@ -6,7 +6,7 @@
ytick={0,0.5,1},
xlabel={\small{$x$}},
ylabel={\small{Softmax($x$)}},
xlabel style={xshift=3.0cm,yshift=1cm},
xlabel style={xshift=4.0cm,yshift=1cm},
axis y line=middle,
ylabel style={xshift=-2.4cm,yshift=-0.2cm},
x axis line style={->},
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论