complété chapitre 18
This commit is contained in:
parent
bdf6c876c5
commit
a5548f0a7e
1 changed files with 186 additions and 0 deletions
186
chapitre18.tex
186
chapitre18.tex
|
@ -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{ où } 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
|
||||
|
|
Loading…
Reference in a new issue