From 057f439e00d0d6149ddf3114177bc5a573d7e9f9 Mon Sep 17 00:00:00 2001 From: NotXia <35894453+NotXia@users.noreply.github.com> Date: Mon, 7 Oct 2024 18:50:20 +0200 Subject: [PATCH] Add A3I Gaussian process --- .../img/gp_example.png | Bin 0 -> 98685 bytes .../sections/_anomaly_detection_high_dim.tex | 15 +- .../sections/_missing_data.tex | 138 +++++++++++++++++- 3 files changed, 147 insertions(+), 6 deletions(-) create mode 100644 src/year2/artificial-intelligence-in-industry/img/gp_example.png diff --git a/src/year2/artificial-intelligence-in-industry/img/gp_example.png b/src/year2/artificial-intelligence-in-industry/img/gp_example.png new file mode 100644 index 0000000000000000000000000000000000000000..a02ae4229d2f2ade51f425dfc6887f663e35a71b GIT binary patch literal 98685 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

dhcG3RTrSRo|^ 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�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 literal 0 HcmV?d00001 diff --git a/src/year2/artificial-intelligence-in-industry/sections/_anomaly_detection_high_dim.tex b/src/year2/artificial-intelligence-in-industry/sections/_anomaly_detection_high_dim.tex index 749545c..11ff5f1 100644 --- a/src/year2/artificial-intelligence-in-industry/sections/_anomaly_detection_high_dim.tex +++ b/src/year2/artificial-intelligence-in-industry/sections/_anomaly_detection_high_dim.tex @@ -292,4 +292,17 @@ The KDE model, bandwidth, and threshold are fitted as in \Cref{ch:ad_low}. \caption{Top-20 features with the largest error} \end{figure} \end{remark} -\end{description} \ No newline at end of file +\end{description} + + +\begin{remark} + In industrial use-cases, a usually well working approach consists of building an estimator for the sensors. More specifically, observed variables can be split into: + \begin{itemize} + \item Controlled variables $x_c$. + \item Measured variables $x_s$. + \end{itemize} + During anomaly detection, controlled variables should not be used to determine anomalous behaviors. In addition, there is a causal relation between the two groups as measured variables are caused by the controlled variables ($x_c \rightarrow x_s$). + + A well working method is to use a regressor $f$ as a causal model, such that: + \[ x_s \approx f(x_c; \theta) \] +\end{remark} \ No newline at end of file diff --git a/src/year2/artificial-intelligence-in-industry/sections/_missing_data.tex b/src/year2/artificial-intelligence-in-industry/sections/_missing_data.tex index b2acb8a..4a126f8 100644 --- a/src/year2/artificial-intelligence-in-industry/sections/_missing_data.tex +++ b/src/year2/artificial-intelligence-in-industry/sections/_missing_data.tex @@ -85,16 +85,144 @@ Interpolate a function to determine missing points. Possible methods are: \item Spline. \end{itemize} - - \begin{remark} (R)MSE assumes that the data is normally distributed, independent, and with the same variability at all points. This is not usually true with time series. \end{remark} + +\subsection{Density estimator} + +A density estimator can be used to determine a distribution from all the available data. Given an estimator $f(x, \theta)$ for $\prob{x}$, predictions can be obtained through maximum a posteriori (MAP): +\[ \arg\max_{x} f(x, \theta) \] + +However, MAP with density estimators is computationally expensive. + \begin{remark} - We would like to build an estimator that is: + Almost all inference approaches in machine learning can be reduced to a maximum a posteriori computation. +\end{remark} + + +\subsection{Regressor} + +A regressor can be used to fill missing values autoregressively through a rolling forecast by repeatedly making a prediction and including the new point as a training sample. + +However, regression only relies on the data on one side (past or future) and each autoregressive iteration accumulates compound errors. + + +\subsection{Gaussian processes} + +\begin{remark} + The ideal estimator is the one that is: \begin{itemize} - \item At least as powerful as interpolation. - \item Able to detect the expected variability. + \item At least as powerful as interpolation (i.e., considers both past and future data). + \item Able to detect the expected variability (i.e., a measure of confidence). \end{itemize} \end{remark} + +\begin{description} + \item[Gaussian process] \marginnote{Gaussian process} + Stochastic process (i.e., collection of indexed random variables) such that: + \begin{itemize} + \item The index variables $x$ are continuous and represents an input of arbitrary dimensionality. + \item The variable $y_x$ represents the output for $x$. + \end{itemize} + + The random variables $y_x$ respect the following assumptions: + \begin{itemize} + \item They follow a Gaussian distribution. + \item The standard deviation depends on the distance between a point and the given observations (i.e., a confidence measure). + \item $y_x$s are correlated. Therefore, every finite subset of $y_x$ variables follows a multivariate normal distribution. + \end{itemize} + + \begin{figure}[H] + \centering + \includegraphics[width=0.4\linewidth]{./img/gp_example.png} + \caption{ + \parbox[t]{0.6\linewidth}{Example of Gaussian process. The red line represents the mean and the gray area the confidence interval.} + } + \end{figure} + + \begin{remark} + The PDF of a multivariate normal distribution is defined by the mean vector $\vec{\mu}$ and the covariance matrix $\matr{\Sigma}$. By recentering ($\vec{\mu}=\nullvec$), knowing $\matr{\Sigma}$ is enough to compute the joint or conditional density. + \end{remark} + + \begin{remark} + To fill missing values, the conditional density $f(y_x | \bar{y}_{\bar{x}})$ is used to infer a new observation $y_x$ given a set of known observations $\bar{y}_x$. + \end{remark} + + + \item[Naive implementation] \phantom{} + \begin{description} + \item[Training] + Given the training observations $\bar{y}_x$, the covariance matrix can be defined as a parametrized function $\matr{\Sigma}(\theta)$ and optimized for maximum likelihood: + \[ \arg\max_{\theta} f(\bar{y}_{\bar{x}}, \theta) \] + where $f$ is the joint PDF of a multivariate normal distribution. + + \item[Inference] + To infer the variable $y_x$ associated to an input $x$, the joint distribution $f(y_x | \bar{y}_{\bar{x}})$ has to be computed: + \[ f(y_x | \bar{y}_{\bar{x}}) = \frac{f(y_x, \bar{y}_{\bar{x}})}{f(\bar{y}_{\bar{x}})} \] + \begin{itemize} + \item $f(\bar{y}_{\bar{x}})$ can be computed using the $\matr{\Sigma}$ determined during training, which is an $n \times n$ matrix assuming $n$ training observations. + \item $f(y_x, \bar{y}_{\bar{x}})$ introduces an additional variable and would require an $(n+1) \times (n+1)$ covariance matrix which cannot be determined without further assumptions. + \end{itemize} + \end{description} + + \item[Kernel implementation] + It is assumed that the covariance of two variables can be determined through parametrized kernel functions $K_\theta(x_i, x_j)$. + + \begin{remark} + Typically, the kernel is a distance measure. + \end{remark} + + \begin{description} + \item[Training] + Given the training observations $\bar{y}_x$ and a parametrized kernel function $K_\theta(x_i, x_j)$, training is done by optimizing the kernel for maximum likelihood (e.g., gradient descent). + + The trained model is represented by both the kernel parameters $\theta$ and the training samples $\bar{y}_x$. + + \item[Inference] + Given a new input $x$, the joint distribution $f(y_x | \bar{y}_{\bar{x}})$ can be computed by obtaining $\matr{\Sigma}_{\bar{x}}$ and $\matr{\Sigma}_{x, \bar{x}}$ using the kernel. + \end{description} + + \item[Common kernels] \phantom{} + \begin{description} + \item[Radial basis function] + Based on the Euclidean distance $d(x_i, x_j)$ between the input points: + \[ K(x_i, x_j) = e^{-\frac{d(x_i, x_j)^2}{2l}} \] + where $l$ is a parameter and represents the scale. + + \item[White kernel] + Captures the noise in the data: + \[ K(x_i, x_j) = \begin{cases} + \sigma^2 & \text{iff $x_i = x_j$} \\ + 0 & \text{otherwise} + \end{cases} \] + where $\sigma$ is a parameter and represents the noise level. + + \item[Constant kernel] + Represents a learnable constant factor, useful to tune the magnitude of other kernels. + + \item[Exp-Sine-Squared] + Captures a period: + \[ K(x_i, x_j) = e^{-2 \frac{\sin^2 \left( \pi \frac{d(x_i, x_j)}{p} \right)}{l^2}} \] + where $l$ and $p$ are parameters representing periodicity and scale, respectively. + + \item[Dot product] + Is more or less able to capture a trend: + \[ K(x_i, x_j) = \sigma^2 + x_i x_j \] + where $\sigma$ is a parameter and represents the base level of correlation. + + \begin{remark} + This kernel is not translation-invariant + \end{remark} + \end{description} + + \begin{remark} + Bounding the domain of the parameters of a kernel can help control training. + \end{remark} +\end{description} + + +\begin{remark} + With Gaussian processes, as we have both the prediction and the confidence interval, likelihood can be used as evaluation metric. +\end{remark} \ No newline at end of file