complété chapitre 18

This commit is contained in:
François Pelletier 2019-04-22 12:53:26 -04:00
parent bdf6c876c5
commit a5548f0a7e

View file

@ -260,9 +260,195 @@ L'erreur du réseau est:
On exprime la variation de poids par:
\begin{align}
\Delta w_{ji} = - \eta \frac{\partial E}{\partial w_{ji}}
\end{align}
Pour chaque exemple d'entrainement:
\begin{itemize}
\item Calculer les valeurs de sortie
\item Calculer l'erreur pour chaque unité de sortie $k$:
\begin{align}
\delta_k \leftarrow o_k(1-o_k)(t_k-o_k)
\end{align}
\item Calculer l'erreur pour chaque unité cachée $h$:
\begin{align}
\delta_h \leftarrow o_h(1-o_h)\sum_{k \in \text{sorties}}w_{kh}\delta_{k}
\end{align}
\item Mettre à jour les poids de sorties $w_{ji}$:
\begin{align}
w_{ji} &\leftarrow w_{ji} + \Delta w_{ji}\\
& w_{ji} + \eta \delta_jX_{ji}
\end{align}
\end{itemize}
Conditions d'arrêt:
\begin{itemize}
\item nombre fixe d'itérations
\item borne minimale pour l'erreur
\item Derniers paramètres qui ont contribué à une augmentation de la performance
\end{itemize}
\subsection{Machines à vecteurs de support (SVM)}
\label{sec:ch18svm}
Problèmes à deux classes linéairement séparables. Plusieurs solutions possibles pour la surface de décision. On veut aloir la surface la plus éloignée possible des données proches de chaque classe.
\subsubsection{Hyperplans}
\label{sec:ch18hyperplans}
La distance d'un point à l'hyperplan est:
\begin{align}
\frac{\abs{D(x)}}{\norm{w}} \text{} D(x) = w^Tx+b
\end{align}
On définit le vecteur unité par la distance minimale entre les points et l'hyperplan:
\begin{align}
\min_{i=1,\ldots,m}\abs{w^tx+i+b}=1
\end{align}
Le point le plus proche est maintenant à une distance $\frac{1}{\norm{w}}$. Le classificateur est donnée par le signe de $D(x)$ en nombre de vecteurs unités. La marge maximale est donc de $m=\frac{2}{\norm{w}}$.
On doit donc minimiser:
\begin{align}
\min \frac{1}{2}\norm{w}^2 \text{ s.c. }y_i(w^Tx_i+b) \geq 1 \forall i
\end{align}
On a donc une problème d'optimisation quadratique. On peut résoudre par les méthodes classiques si $d$ n'est pas trop grand. L'approche SVM utilise plutôt les multiplicateurs de Lagrange.
\subsubsection{Lagrangien}
\label{sec:ch18lagrangien}
\begin{mydef}
Pour un problème d'optimisation
\begin{align}
\min f(x) \text{ s.c. } c_i(x) \leq 0, \forall i
\end{align}
Le lagrangien est défini par
\begin{align}
\Lambda(x,\alpha)=f(x)+\sum_{i=1}^n\alpha_ic_i(x), \alpha_i \geq 0, \forall i
\end{align}
\end{mydef}
\subsubsection{Représentation duale}
\label{fig:ch18svmduale}
Représentation duale du problème:
\begin{align}
\Lambda(w,b,\alpha) &= \frac{1}{2} \norm{w}^2-\sum_{i=1}^n \alpha_i\left[(x_i^Tw+b)y_i-1 \right], \\alpha_i &\geq 0, \forall i
\end{align}
On a, par les conditions KKT, que $\nabla_{w,b}\Lambda(w,b,a=0 \iff w=\sum_{i=1}^n\alpha_iy_yx_i$ et $\sum_{i=1}^n\alpha_iy_i=0$. Par substitution, on obtient que
\begin{align}
\Lambda(w,b,\alpha) &= \sum_{i=1}^n\alpha_i - \frac{1}{2} \sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j(x_i^Tx_j)\\
\alpha_i &\geq 0, \forall i\\
\sum_{i=1}^n\alpha_iy_i&=0
\end{align}
On doit trouver $\argmin_{\alpha}\Lambda(w,b,\alpha)$.
\subsubsection{Solution du problème d'optimisation}
\label{sec:ch18svmsolutionoptim}
\begin{align}
\hat{w} &= \sum_{i=1}^{n_s}\alpha_iy_ix_i\\
\hat{b} &= y_s-\sum_{i=1}^{n_s}\alpha_iy_i(x_i^Tx_s)\\
D(x) &= (\hat{w}^Tx+b)
\end{align}
Pour classer une nouvelle donnée, on calcule le signe de cette expression. si positif (classe 1) sinon (classe 2):
\begin{align}
\hat{w}^Tz+\hat{b} = \sum_{i=1}^{n_s}\alpha_iy_i(x_i^Tz)+\hat{b}
\end{align}
Pour créer un classificateur multi-classes, on effectue plusieurs SVM et on prend celui qui maximise ;a distance D(x).
\subsubsection{Cas non linéairement séparable}
\label{sec:ch18svnnonlin}
On introduit une variable d'écart $\xi_i$ pour la classification. Elles permettent de relaxer les contraintes par rapport à la marge.
\begin{align}
w^Tx_i + b &\geq 1- \xi_i & y_i=1\\
w^Tx_i + b &\leq -1 + \xi_i & y_i=-1\\
\xi_i &\geq 0& \forall i
\end{align}
On obtient le problème d'optimisation suivant:
\begin{align}
\min &\frac{1}{2}\norm{w}^2+C\sum_{i=1}^n \xi_i&\\
\text{s.c. } &y_i(w^Tx_i + b) \geq 1-\xi_i, &\xi_i \geq 0
\end{align}
La forme duale est similaire à celel du cas linéaire, sauf que la valeur de $\alpha$ est limitée:
\begin{align}
\max W(\alpha) &= \sum_{i=1}^n \alpha_i - \frac{1}{2} \sum_{i=1}^n\sum_{j=1}^n \alpha_i\alpha_jy_iy_j(x_i^Tx_j)\\
\text{s.c. }C &\geq \alpha_i \geq 0, \sum_{i=1}^n \alpha_iy_i = 0
\end{align}
On peut projeter les $x_i$ dans un nouvel espace où ils sont linéairement séparables. On utilise alors une fonction de re-description $\Phi(x)$. Afin de résoudre les problèmes de dimensionnalité, on utilise les fonctions noyau.
\begin{mydef}
Une \textbf{fonction noyau} prend la forme
\begin{align}
K(x,y) = \langle \phi(x),\phi(y) \rangle
\end{align}
Cette fonction doit répondre aux conditions de Mercer pour que $\Phi(x)$ existe.
\end{mydef}
\begin{mydef}
La condition de Mercer énonce que, pour une fonction $K$ symétrique, $\Phi$ existe tel que:
\begin{align}
K(x,x^{\prime}) &= \Phi(x)\Phi(x^{\prime}) = \sum_{i=1}^m g_i(x)g_i(x^{\prime})
\end{align}
Si, pour toute fonction $f$ tel que $\int_x f(x)^2dx < \infty$, on a:
\begin{align}
\int_x\int_{x^{\prime}} K(x,x^{\prime}) f(x)f(x^{\prime})dxdx^{\prime}
\end{align}
Alors la matrice de Gram $K(x_i,x_j)$ est semi-définie positive.
\end{mydef}
\begin{itemize}
\item Transformation: On substitue $K(x_i,x_j)$ à $x_i^Tx_j$ dans le problème dual et dans la règle de classification.
\item Problème dual:
\begin{align}
\max W(\alpha) &= \sum_{i=1}^n \alpha_i - \frac{1}{2} \sum_{i=1}^n\sum_{j=1}^n \alpha_i\alpha_jy_iy_jK(x_i,x_j)\\
\text{s.c. }C &\geq \alpha_i \geq 0, \sum_{i=1}^n \alpha_iy_i = 0
\end{align}
\item Classificateur:
\begin{align}
\langle \hat{w},z \rangle + \hat{b} = \sum_{i=1}^{n_s}\alpha_iy_iK(x_j^T,z)+\hat{b}
\end{align}
\item Surface de séparation:
\begin{align}
D(x)=\sum_{j=1}^s \hat{\alpha}_jy_jK(x_j,x)+\hat{b}
\end{align}
\end{itemize}
\subsubsection{Exemple de fonctions noyaux}
\label{sec:ch19svmtransfo}
\begin{itemize}
\item Noyau polynomial: $K(x,y) = (x^Ty+1)^d$
\item Noyau à base radiale de dispersion $\sigma$: $K(x,y) = e^{-\norm{x-y}^2/(2\sigma^2)}$
\item Sigmoïde: $K(x,y) = \tanh (\kappa x^Ty+\theta)$
\end{itemize}
\subsubsection{SVM et régression}
\label{sec:ch18svmregression}
\begin{itemize}
\item Fonction de perte: $\abs{y-f(x)}_\epsilon = \max(0,\abs{y-f(x)}-\epsilon)$
\item Régression linéaire: $f(s)=wx+w_0$
\item Minimiser: $\frac{1}{2}\norm{w}^2+C\sum_{i=1}^m\abs{y_i-f(x_i)}_\epsilon$
\item Forme duale: $f(x) = \sum_{i=1}^m(\alpha_i^{\star}-\alpha_i)K(x_i,x)+w_0$
\end{itemize}
%%% Local Variables:
%%% mode: latex