From 04835d2ceae39238d4eedebf103672cb9b73fa80 Mon Sep 17 00:00:00 2001 From: NotXia <35894453+NotXia@users.noreply.github.com> Date: Fri, 8 Dec 2023 19:45:01 +0100 Subject: [PATCH] Add FAIKR3 approximate inference --- .../module3/img/_approx_infer_example.pdf | Bin 0 -> 49711 bytes .../module3/img/_markov_chain_sampling.pdf | Bin 0 -> 53190 bytes .../module3/main.tex | 4 +- .../module3/sections/_approx_inference.tex | 196 ++++++++++++++++++ .../{_inference.tex => _exact_inference.tex} | 0 5 files changed, 199 insertions(+), 1 deletion(-) create mode 100644 src/fundamentals-of-ai-and-kr/module3/img/_approx_infer_example.pdf create mode 100644 src/fundamentals-of-ai-and-kr/module3/img/_markov_chain_sampling.pdf create mode 100644 src/fundamentals-of-ai-and-kr/module3/sections/_approx_inference.tex rename src/fundamentals-of-ai-and-kr/module3/sections/{_inference.tex => _exact_inference.tex} (100%) diff --git a/src/fundamentals-of-ai-and-kr/module3/img/_approx_infer_example.pdf b/src/fundamentals-of-ai-and-kr/module3/img/_approx_infer_example.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a12dcee4ae5b5dec4e1ab383e033d6ccd0227af8 GIT binary patch literal 49711 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
)E_=)iK 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%0D3h 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
    r(tbD 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 Te(;RHzeKkDTx=Y_N4Eb9LGLeS literal 0 HcmV?d00001 diff --git a/src/fundamentals-of-ai-and-kr/module3/img/_markov_chain_sampling.pdf b/src/fundamentals-of-ai-and-kr/module3/img/_markov_chain_sampling.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1bc48faf027cdc346edc36efc6c992a4c28c0fcc GIT binary patch literal 53190 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 literal 0 HcmV?d00001 diff --git a/src/fundamentals-of-ai-and-kr/module3/main.tex b/src/fundamentals-of-ai-and-kr/module3/main.tex index 107ee56..696def6 100644 --- a/src/fundamentals-of-ai-and-kr/module3/main.tex +++ b/src/fundamentals-of-ai-and-kr/module3/main.tex @@ -10,6 +10,8 @@ \input{sections/_intro.tex} \input{sections/_probability.tex} \input{sections/_bayesian_net.tex} - \input{sections/_inference.tex} + \input{sections/_exact_inference.tex} + \input{sections/_approx_inference.tex} + \eoc \end{document} \ No newline at end of file diff --git a/src/fundamentals-of-ai-and-kr/module3/sections/_approx_inference.tex b/src/fundamentals-of-ai-and-kr/module3/sections/_approx_inference.tex new file mode 100644 index 0000000..0d26ece --- /dev/null +++ b/src/fundamentals-of-ai-and-kr/module3/sections/_approx_inference.tex @@ -0,0 +1,196 @@ +\chapter{Approximate inference} + +\begin{description} + \item[Stochastic simulation] \marginnote{Stochastic simulation} + Class of methods that draw $N$ samples from the distribution + and estimate an approximate posterior $\hat{\mathcal{P}}$. + + \begin{description} + \item[$\delta$-stochastic absolute approximation] + Given $\delta \in ]0, 0.5[$ and $\varepsilon \in ]0, 0.5[$, a $\delta$-stochastic absolute approximation has error: + \[ \left\vert \prob{X | \matr{E}} - \hat{\mathcal{P}}(X | \matr{E}) \right\vert \leq \varepsilon \] + Moreover, the method might fail (with greater error) with probability $\delta$. + + \item[$\delta$-stochastic relative approximation] + Given $\delta \in ]0, 0.5[$ and $\varepsilon \in ]0, 0.5[$, a $\delta$-stochastic relative approximation has error: + \[ \frac{\left\vert \prob{X | \matr{E}} - \hat{\mathcal{P}}(X | \matr{E}) \right\vert}{\prob{X | \matr{E}}} \leq \varepsilon \] + Moreover, the method might fail (with greater error) with probability $\delta$. + \end{description} + + \begin{theorem} + Approximate inference is NP-hard for any $\delta, \epsilon < 0.5$. + \end{theorem} + + \item[Consistency] \marginnote{Consistency} + A sampling method is consistent if: + \[ \lim_{N \rightarrow \infty} \hat{\mathcal{P}}(x) = \prob{x} \] +\end{description} + + + +\section{Sampling from an empty network} +\marginnote{Sampling from an empty network} + +Sample each variable in topological order (i.e. from parents to children). + +The probability $\mathcal{S}$ of sampling a specific event $x_1, \dots, x_n$ is given by the +probability of the single events knowing their parents: +\[ \mathcal{S}(x_1, \dots, x_n) = \prod_{i=1}^n \prob{x_i | \texttt{parents}(X_i)} = \prob{x_1, \dots, x_n} \] + +\begin{theorem} + Sampling from an empty network is consistent. + + \begin{proof} + Let $N$ be the number of samples and + $\mathcal{N}(x_1, \dots, x_n)$ the number of times the event $x_1, \dots, x_n$ has been sampled. + \[ + \begin{split} + \lim_{N \rightarrow \infty} \hat{\mathcal{P}}(x_1, \dots, x_n) &= + \lim_{N \rightarrow \infty} \frac{\mathcal{N}(x_1, \dots, x_n)}{N} \\ + &= \mathcal{S}(x_1, \dots, x_n) = + \prob{x_1, \dots, x_n} + \end{split} + \] + \end{proof} +\end{theorem} + +\begin{example} + Given the following Bayesian network: + \begin{center} + \includegraphics[width=0.5\textwidth]{img/_approx_infer_example.pdf} + \end{center} + + A possible sampling order is \texttt{Cloudy}, \texttt{Sprinkler}, \texttt{Rain}, \texttt{WetGrass}. + + Assuming that a random generator gives the sequence of probabilities $(0.4, 0.8, 0.1, 0.5)$, + the sample will be: + \[ \langle \prob{C}, \prob{S | C}, \prob{R | C}, \prob{W | S, R} \rangle \] + \[ \langle C=\texttt{false}, \prob{S | C=\texttt{false}}, \prob{R | C=\texttt{false}}, \prob{W | S, R} \rangle \] + \[ \langle C=\texttt{false}, S=\texttt{false}, R=\texttt{true}, \prob{W | S=\texttt{false}, R=\texttt{true}} \rangle \] + \[ \langle C=\texttt{false}, S=\texttt{false}, R=\texttt{true}, W=\texttt{true} \rangle \] + + Note that the adopted convention is the following: + if $r$ it the probability given by a random generator and $\prob{X} = p$, $X = \texttt{true}$ if $r \leq p$. +\end{example} + + + +\section{Rejection sampling} +\marginnote{Rejection sampling} + +Given a known evidence $\matr{E}$, rejection sampling works as sampling from an empty network +but removes any sample that does no agree with the evidence. + +Obviously if $\prob{\matr{E}}$ is low, the majority of the samples will be discarded and +more iterations are required to reach the desired number of samples. + +\begin{theorem} + Rejection sampling is consistent. + + \begin{proof} + Let $\mathcal{N}(\matr{X})$ be the number of times the event $\matr{X}$ has been sampled. + \[ + \begin{split} + \hat{\mathcal{P}}(\matr{X} | \matr{E}) &= + \frac{\mathcal{N}(\matr{X}, \matr{E})}{\mathcal{N}(\matr{E})} \\ + &\approx \frac{\prob{\matr{X}, \matr{E}}}{\prob{\matr{E}}} = + \prob{\matr{X} | \matr{E}} + \end{split} + \] + The approximation derives from the consistency of sampling from an empty network. + \end{proof} +\end{theorem} + + + +\section{Likelihood weighting} +\marginnote{Likelihood weighting} + +Given a known evidence $\matr{E}$, likelihood weighting samples non-evidence variables and +weights each sample by the likelihood of the evidence. + +The probability $\mathcal{S}$ of sampling a specific event $\matr{Z}$ and evidence $\matr{E}$ is given by the +probability of the single events in $\matr{Z}$ knowing their parents: +\[ \mathcal{S}(\matr{Z}, \matr{E}) = \prod_{z_i \in \matr{Z}} \prob{z_i | \texttt{parents}(z_i)} \] + +The weights of a sample $(\matr{Z}, \matr{E})$ is given by the +probability of the single events in $\matr{E}$ knowing their parents: +\[ \text{w}(\matr{Z}, \matr{E}) = \prod_{e_i \in \matr{E}} \prob{e_i | \texttt{parents}(e_i)} \] + +\begin{theorem} + Likelihood weighting is consistent. + + \begin{proof} + The weighted sampling probability is given by: + \[ + \begin{split} + \mathcal{S}(\matr{Z}, \matr{E}) \cdot \text{w}(\matr{Z}, \matr{E}) + &= \prod_{z_i \in \matr{Z}} \prob{z_i | \texttt{parents}(z_i)} \cdot \prod_{e_i \in E} \prob{e_i | \texttt{parents}(e_i)} \\ + &= \prob{\matr{Z}, \matr{E}} + \end{split} + \] + This is consequence of the global semantics of Bayesian networks. + \end{proof} +\end{theorem} + +\begin{example} + Given the following Bayesian network: + \begin{center} + \includegraphics[width=0.5\textwidth]{img/_approx_infer_example.pdf} + \end{center} + + Knowing that $S=\texttt{true}$ and $W=\texttt{false}$, + we sample in the order: \texttt{Cloudy}, \texttt{Rain}. + + Assuming that a random generator gives the sequence of probabilities $(0.4, 0.1)$, + the sample will be: + \[ \langle \prob{C}, S=\texttt{true}, \prob{R | C}, W=\texttt{false} \rangle \] + \[ \langle C=\texttt{true}, S=\texttt{true}, \prob{R | C=\texttt{true}}, W=\texttt{false} \rangle \] + \[ \langle C=\texttt{true}, S=\texttt{true}, R=\texttt{true}, W=\texttt{false} \rangle \] + + The weight associated to the sample is given by the probabilities of the evidence: + \[ + \begin{split} + \text{w} &= \prob{S=\texttt{true} | C=\texttt{true}} \cdot \prob{W=\texttt{false} | S=\texttt{true}, R=\texttt{true}} \\ + &= 0.1 \cdot (1 - 0.99) = 0.001 + \end{split} + \] +\end{example} + + + +\section{Markov chain Monte Carlo} +\marginnote{Markov chain Monte Carlo} + +Sampling on a Markov chain where states contain an assignment to all variables. + +Adjacent states of the Markov chain differ by only one variable. +Therefore, the probability of an edge connecting two states is given by the probability of the updated variable known its Markov blanket: +\[ + \prob{x_i | \texttt{markov\_blanket}(X_i)} = + \prob{x_i | \texttt{parents}(X_i)} \cdot \prod_{Z_j \in \texttt{children}(x_i)} \prob{z_j | \texttt{parents}(Z_j)} +\] + +\begin{theorem} + Markov chain Monte Carlo is consistent. + + Note: nevertheless, it is difficult to tell if convergence has been achieved. + + \begin{proof} + Consequence of the fact that a long-run on a Markov chain converges to the posterior probability of the states. + \end{proof} +\end{theorem} + +\begin{description} + \item[Compiled network] + A naive implementation of Markov chain Monte Carlo requires to repeatedly compute the probabilities with the Markov blanket. + A solution is to compile the network into a model-specific inference code. +\end{description} + +\begin{example} + Given the evidence $S=\texttt{true}$ and $W=\texttt{true}$, + the structure of the Markov chain can be defined as follows: + \begin{center} + \includegraphics[width=0.5\textwidth]{img/_markov_chain_sampling.pdf} + \end{center} +\end{example} \ No newline at end of file diff --git a/src/fundamentals-of-ai-and-kr/module3/sections/_inference.tex b/src/fundamentals-of-ai-and-kr/module3/sections/_exact_inference.tex similarity index 100% rename from src/fundamentals-of-ai-and-kr/module3/sections/_inference.tex rename to src/fundamentals-of-ai-and-kr/module3/sections/_exact_inference.tex