travaux
This commit is contained in:
parent
761d26d48b
commit
160e486e88
250 changed files with 5 additions and 12 deletions
44
cnam/probatoire/document/back.tex
Normal file
44
cnam/probatoire/document/back.tex
Normal file
|
@ -0,0 +1,44 @@
|
|||
\phantomsection
|
||||
\addcontentsline{toc}{section}{Résumé}
|
||||
|
||||
\cnam
|
||||
|
||||
\begin{large}\fulltitle\end{large}
|
||||
|
||||
\textbf{\goal}
|
||||
|
||||
\textbf{Bordeaux, 2020}
|
||||
|
||||
\hr
|
||||
|
||||
\textbf{RÉSUMÉ}
|
||||
|
||||
La croissance constante du \gls{bd} nécessite de nouvelles méthodes d’analyse.\\
|
||||
Le \gls{ml} propose une famille de méthodologies, parmi laquelle\\
|
||||
les \gls{svm} permettent à la fois régression et classification de ces données.
|
||||
|
||||
La polyvalence et la flexibilité des \gls{svm} les ont donc rendus incontournables.\\
|
||||
D’autant que de nombreux langages et librairies permettent de les utiliser.\\
|
||||
Au fil du temps, ces outils ont toujours été améliorés, et continuent de l’être…
|
||||
|
||||
\textbf{Mots clés : svm, noyau, linéaire, régression,\\
|
||||
classification, apprentissage, machine, données.}
|
||||
|
||||
\hr
|
||||
|
||||
\textbf{SUMMARY}
|
||||
|
||||
The constant growth of big data requires new methods of analysis.\\
|
||||
\Gls{ml} provides a whole family of dedicated methodologies,\\
|
||||
including \gls{svm} that allow both regression and classification of \glspl{ds}.
|
||||
|
||||
The flexibility and versatility of \gls{svm} therefore made them indispensable.\\
|
||||
Especially since now many languages and libraries enable their usage.\\
|
||||
Over time, these tools have always been and continue to be improved…
|
||||
|
||||
\textbf{Key words: svm, kernel, linear, regression,\\
|
||||
classification, machine, learning, datasets.}
|
||||
|
||||
\thispagestyle{empty}
|
||||
|
||||
\pagebreak
|
18
cnam/probatoire/document/conclusion.tex
Normal file
18
cnam/probatoire/document/conclusion.tex
Normal file
|
@ -0,0 +1,18 @@
|
|||
\section{Conclusion}
|
||||
|
||||
Les \gls{svm} sont incontournables dans le domaine du \gls{ml},
|
||||
tant par leur polyvalence que leur flexibilité.
|
||||
Le nombre de pré-traitements, techniques, algorithmes et méthodes
|
||||
mathématiques impliqués en font un outil redoutablement efficace
|
||||
pour la régression et la classification de données.
|
||||
|
||||
De très nombreux langages de programmation permettent aujourd’hui de
|
||||
s’interfacer avec des librairies implémentant déjà nombre de ces concepts
|
||||
(par exemple libSVM \cite{lib-svm} ou encore SVM-Light \cite{lib-svm-light}).
|
||||
|
||||
Même si certains éléments clés comme le \gls{kt} et les \glspl{kf}
|
||||
sont bien ancrés, ce domaine est toujours un champ de recherche en
|
||||
constante activité. Au fil du temps, de nouvelles techniques et optimisations
|
||||
ont vu le jour, et d’autres viendront encore en bousculer les modèles…
|
||||
|
||||
\pagebreak
|
132
cnam/probatoire/document/critics.tex
Normal file
132
cnam/probatoire/document/critics.tex
Normal file
|
@ -0,0 +1,132 @@
|
|||
\section{Critiques}
|
||||
|
||||
|
||||
\subsection{Avantages}
|
||||
|
||||
|
||||
\begin{itmz}
|
||||
|
||||
\item{le modèle \gls{svm} est considéré comme plutôt stable, car\\
|
||||
de petits changements dans les données impactent peu les \glspl{hpp}}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{ce même modèle peut être utilisé à la fois pour\\
|
||||
résoudre des problèmes de régression et de classification}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{est souvent une meilleure alternative aux réseaux de neurones,\\
|
||||
surtout dans le cas de \glspl{ds} de taille réduite}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{très précis avec une marge de séparation nette}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{peut capturer des relations complexes dans des \glspl{ds},\\
|
||||
même sans connaissance préalable de ces dernières}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{fonctionne avec un grand nombres d’espaces dimensionnels}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{reste pertinent même avec plus de dimensions que d’éléments}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{capacité de régularisation pour rester générique,\\
|
||||
afin d’éviter les risques de surentraînement}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{économise la mémoire nécessaire aux fonctions de décision,\\
|
||||
en ne leur faisant traiter que des \glspl{sv}}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{permet de gérer efficacement des séparations non linéaires,\\
|
||||
par l’intermédiaire de différentes \glspl{kf}}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{de nombreuses \glspl{kf} existent pour les fonctions de décision}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{il est possible de combiner plusieurs \glspl{kf},\\
|
||||
pour pouvoir travailler avec des \glspl{hpp} plus complexes}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{pendant longtemps considéré inadapté aux très grands \glspl{ds},\\
|
||||
de nouveaux algorithmes ont été mis à contribution depuis \cite{large-scale}}
|
||||
|
||||
\end{itmz}
|
||||
|
||||
|
||||
\subsection{Inconvénients}
|
||||
|
||||
|
||||
\begin{itmz}
|
||||
|
||||
\item{le choix d’une \gls{kf} appropriée n’est pas évident,\\
|
||||
et peut facilement mener à un trop grand nombre de \glspl{sv}}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{la mémoire nécessaire augmente avec le nombre de \glspl{sv},\\
|
||||
car ces derniers doivent y être intégralement stockés}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{difficile d’identifier les bonnes valeurs de paramètres,\\
|
||||
sans passer par des techniques comme \gls{gs}}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{le temps d’entraînement augmente avec le nombre d’éléments}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{les calculs de probabilité de justesse sont très coûteux,\\
|
||||
nécessitant une validation croisée en plusieurs étapes}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{les modèles sont difficilement interprétables par des humains,\\
|
||||
contrairement par exemple aux arbres de décisions}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{effet boîte noire en cas de compréhension insuffisante\\
|
||||
des différents outils mathématiques sous-jacents}
|
||||
|
||||
\end{itmz}
|
||||
|
||||
|
||||
\subsection{Limitations}
|
||||
|
||||
|
||||
\begin{itmz}
|
||||
|
||||
\item{fonctionne mal quand des classes se recouvrent, car\\
|
||||
plusieurs paramètres varient, contrairement à d’autres méthodes}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{une normalisation préalable des données est nécessaire,\\
|
||||
pour que les fonctions objectifs soient plus pertinentes}
|
||||
|
||||
\end{itmz}\begin{itmz}
|
||||
|
||||
\item{les problèmes multi-classes sont encore\\
|
||||
un champ de recherche à part entière}
|
||||
|
||||
\end{itmz}
|
||||
|
||||
|
||||
\pagebreak
|
62
cnam/probatoire/document/example.tex
Normal file
62
cnam/probatoire/document/example.tex
Normal file
|
@ -0,0 +1,62 @@
|
|||
\section{Exemples}
|
||||
|
||||
Les 2 cas suivants,
|
||||
linéaire \cite{ex-linear} et non linéaire \cite{ex-nonlinear},
|
||||
illustrent bien le propos.
|
||||
|
||||
\subsection{Linéaire}
|
||||
|
||||
Une classification est voulue pour pouvoir déterminer si un étudiant
|
||||
sera bon ou non en \gls{ml}, à partir des 2 notes qu’il a obtenu
|
||||
aux examens de Mathématiques et de Statistiques.
|
||||
|
||||
\fig{}{\Gls{ds} très bien distribué}
|
||||
{16em}{ex-linear-plot}
|
||||
|
||||
Avec un tel \gls{ds}, l’identification des \glspl{sv} est aisée,
|
||||
et une marge la plus large possible est facilement applicable.
|
||||
|
||||
\fig{}{Séparation à Vaste Marge très nette}
|
||||
{16em}{ex-linear-svm}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\fig{}{Anomalies dans le \gls{ds}, violations de marge}
|
||||
{16em}{ex-linear-out}
|
||||
|
||||
Pour un \gls{ds} avec aberrations, faire varier une marge souple permet
|
||||
de trouver un compromis entre généralisation et spécialisation.
|
||||
|
||||
\fig{}{Différentes séparations à marge souple, variation de C}
|
||||
{32em}{ex-linear-soft}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\subsection{Non linéaire}
|
||||
|
||||
\fig{}{\Gls{ds} inséparable de façon linéaire}
|
||||
{16em}{ex-nonlinear-plot}
|
||||
|
||||
Création d’un nouvel espace dimensionnel avec des transformations
|
||||
non linéaires des variables d’origine.
|
||||
|
||||
{\large
|
||||
$X_{1}=x_{1}^{2}$ ; $X_{2}=x_{2}^{2}$ ; $X_{3}=\sqrt{2} × x_{1} × x_{2}$
|
||||
}
|
||||
|
||||
Ce nouvel espace permet de trouver une marge et un \gls{hpp} séparateur.
|
||||
|
||||
\fig{}{\Gls{hpp} séparateur linéaire dans le nouvel espace dimensionnel}
|
||||
{24em}{ex-nonlinear-linear}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\fig{}{Projection de la marge de séparation dans l’espace d’origine}
|
||||
{24em}{ex-nonlinear-sv}
|
||||
|
||||
Le retour à l’espace de départ permet ainsi marge et séparation non linéaires.
|
||||
|
||||
\fig{}{Fonction de décision finale non linéaire dans l’espace d’origine}
|
||||
{24em}{ex-nonlinear-svm}
|
||||
|
||||
\pagebreak
|
47
cnam/probatoire/document/front.tex
Normal file
47
cnam/probatoire/document/front.tex
Normal file
|
@ -0,0 +1,47 @@
|
|||
\begin{titlepage}
|
||||
|
||||
\cnam
|
||||
|
||||
\begin{center}
|
||||
{\bfseries
|
||||
\begin{large}
|
||||
|
||||
{\LARGE C}ONSERVATOIRE {\LARGE N}ATIONAL DES {\LARGE A}RTS ET {\LARGE M}ÉTIERS
|
||||
|
||||
CENTRE RÉGIONAL ASSOCIÉ DE NOUVELLE-AQUITAINE
|
||||
|
||||
\hrq
|
||||
|
||||
\goal
|
||||
|
||||
\vfill
|
||||
par
|
||||
\vfill
|
||||
|
||||
Marc BENINCA
|
||||
|
||||
\hrq
|
||||
|
||||
\begin{Large}\fulltitle\end{Large}
|
||||
|
||||
Soutenu le 16 Septembre 2020
|
||||
|
||||
\hrq
|
||||
|
||||
JURY
|
||||
|
||||
\end{large}
|
||||
\vspace{1em}
|
||||
\begin{small}
|
||||
|
||||
{\renewcommand{\arraystretch}{1.5} \begin{tabular}[t]{rllll}
|
||||
PRÉSIDENT : & Civilité & Prénom & NOM & \textit{\renewcommand{\arraystretch}{1} \begin{tabular}[t]{@{}l@{}}Fonction\\Organisme\end{tabular}} \\
|
||||
MEMBRES : & Civilité & Prénom & NOM & \textit{\renewcommand{\arraystretch}{1} \begin{tabular}[t]{@{}l@{}}Fonction\\Organisme\end{tabular}} \\
|
||||
& Civilité & Prénom & NOM & \textit{\renewcommand{\arraystretch}{1} \begin{tabular}[t]{@{}l@{}}Fonction\\Organisme\end{tabular}}
|
||||
\end{tabular}}
|
||||
|
||||
\end{small}
|
||||
}
|
||||
\end{center}
|
||||
|
||||
\end{titlepage}
|
70
cnam/probatoire/document/glossaries.tex
Normal file
70
cnam/probatoire/document/glossaries.tex
Normal file
|
@ -0,0 +1,70 @@
|
|||
\printglossary[title=Abréviations,type=\acronymtype]
|
||||
|
||||
\newacronym{anova}{ANOVA}{ANalysis Of VAriance}
|
||||
\newacronym{hbos}{HBOS}{Histogram Based Outlier Score}
|
||||
\newacronym{irm}{IRM}{Imagerie par Résonnance Magnétique}
|
||||
\newacronym{nn}{NN}{Nearest Neighbors}
|
||||
\newacronym{rbf}{RBF}{Radial Basis Function}
|
||||
\newacronym{sgbd}{SGBD}{Systèmes de Gestion de Bases de Données}
|
||||
\newacronym{si}{SI}{Systèmes d’Information}
|
||||
\newacronym{svc}{SVC}{Support Vector Classification}
|
||||
\newacronym{svm}{SVM}{Support Vector Machine}
|
||||
\newacronym{svr}{SVR}{Support Vector Regression}
|
||||
\newacronym{tic}{TIC}{Technologies d’Information et de Communication}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\printglossary[title=Glossaire]
|
||||
|
||||
\newglossaryentry{bd}{
|
||||
name={big data},
|
||||
description={données massives}
|
||||
}
|
||||
\newglossaryentry{clustering}{
|
||||
name={clustering},
|
||||
description={regroupement d’éléments en sous-ensembles caractéristiques}
|
||||
}
|
||||
\newglossaryentry{ds}{
|
||||
name={dataset},
|
||||
plural={datasets},
|
||||
description={ensemble de données}
|
||||
}
|
||||
\newglossaryentry{gs}{
|
||||
name={grid search},
|
||||
description={algorithme d’affinage d’hyperparamètres par grille de valeurs}
|
||||
}
|
||||
\newglossaryentry{kf}{
|
||||
name={fonction noyau},
|
||||
plural={fonctions noyau},
|
||||
description={transformation non linéaire permettant une séparation linéaire}
|
||||
}
|
||||
\newglossaryentry{hpp}{
|
||||
name={hyperplan},
|
||||
plural={hyperplans},
|
||||
description={sous-espace en n−1 dimesions d’un espace en n dimensions}
|
||||
}
|
||||
\newglossaryentry{kt}{
|
||||
name={kernel trick},
|
||||
description={astuce du noyau pour éviter des calculs plus complexes}
|
||||
}
|
||||
\newglossaryentry{ml}{
|
||||
name={machine learning},
|
||||
description={apprentissage machine automatique}
|
||||
}
|
||||
\newglossaryentry{sgn}{
|
||||
name={stéganographie},
|
||||
description={dissimulation d’informations dans un plus grand ensemble}
|
||||
}
|
||||
\newglossaryentry{sigmoid}{
|
||||
name={sigmoïde},
|
||||
description={courbe à double asymptôte 0 et 1, centrée sur 1÷2}
|
||||
}
|
||||
\newglossaryentry{sv}{
|
||||
name={support vector},
|
||||
plural={support vectors},
|
||||
description={sous-ensemble de données d’entraînement}
|
||||
}
|
||||
|
||||
\pagebreak
|
||||
|
||||
%\printglossaries
|
88
cnam/probatoire/document/introduction.tex
Normal file
88
cnam/probatoire/document/introduction.tex
Normal file
|
@ -0,0 +1,88 @@
|
|||
\section{Introduction}
|
||||
|
||||
Les \gls{tic} ont fait émerger des \gls{si} de grande envergure, qui génèrent
|
||||
continuellement une quantité globale toujours plus importante de données,
|
||||
communément appelée \gls{bd}.
|
||||
|
||||
Les volumes démesurés de données manipulés par ces \gls{si} sont clairement
|
||||
incompatibles avec les principes classiques des \gls{sgbd}.
|
||||
De nouvelles méthodologies ont donc dû être créées afin de pouvoir
|
||||
analyser puis exploiter ces \gls{bd}.
|
||||
|
||||
\subsection{Machine learning}
|
||||
|
||||
Le \gls{ml} regroupe les différentes nouvelles approches méthodologiques
|
||||
permettant de faire ressortir une compréhension des \gls{bd}, en extraire
|
||||
des \glspl{ds} exploitables puis, à partir de cet apprentissage,
|
||||
être en mesure de comprendre de nouvelles données.
|
||||
|
||||
Les 2 défis à relever pour être pertinents dans cette démarche :
|
||||
\begin{itmz}
|
||||
\item{ne pas surentraîner (spécialiser) l’apprentisseur automatique,\\
|
||||
pour conserver une capacité de généralisation}
|
||||
\item{pour chaque type de problèmes à résoudre,\\
|
||||
choisir les algorithmes les plus pertinents}
|
||||
\end{itmz}
|
||||
|
||||
\subsection{Méthodes}
|
||||
|
||||
\subsubsection{Méthodes non supervisées}
|
||||
|
||||
Ces premières méthodes permettent de travailler avec un ensemble d’éléments
|
||||
ne disposant pas d’étiquetage préalable, elles mettent ainsi en place
|
||||
des mécanismes permettant de faire du \gls{clustering} de ces éléments.
|
||||
|
||||
Exemples d’algorithmes :
|
||||
\begin{itmz}
|
||||
\item{k-means (moyennes)}
|
||||
\item{réduction de dimensionnalité}
|
||||
\item{réseaux de neurones}
|
||||
\item{analyse des composants principaux ou indépendants}
|
||||
\item{modèles de distribution}
|
||||
\item{classification hiérarchique}
|
||||
\item{\gls{clustering} par décalage moyen}
|
||||
\item{Apriori}
|
||||
\end{itmz}
|
||||
|
||||
\subsubsection{Méthodes semi-supervisées}
|
||||
|
||||
Ces méthodes autorisent l’utilisation d’un ensemble d’éléments hétérogène,
|
||||
certains ayant déjà été étiquetés au préalable, alors que d’autres non.
|
||||
Un mélange de différentes techniques s’avère donc nécessaire.
|
||||
|
||||
Exemples d’algorithmes :
|
||||
\begin{itmz}
|
||||
\item{\gls{hbos}}
|
||||
\item{forêts isolées}
|
||||
\item{autoencodeurs}
|
||||
\end{itmz}
|
||||
|
||||
\subsubsection{Méthodes supervisées}
|
||||
|
||||
Ces méthodes utilisent 2 sous-ensembles d’éléments intégralement étiquetés,
|
||||
ayant une valeur de sortie pour plusieurs valeurs de variables en entrée.
|
||||
Les données d’apprentissage permettent un entraînement préalable du modèle.
|
||||
Les données de test permettent ensuite d’en évaluer la pertinence.
|
||||
|
||||
Le modèle permet enfin, à partir de nouvelles valeurs en entrée,
|
||||
de fournir des valeurs de sortie prédictives de 2 types :
|
||||
\begin{itmz}
|
||||
\item{régression → la valeur est un nombre}
|
||||
\item{classification → la valeur est une catégorie, parmi un ensemble défini}
|
||||
\end{itmz}
|
||||
|
||||
Exemples d’algorithmes :
|
||||
\begin{itmz}
|
||||
\item{régression linéaire, logistique ou vectorielle}
|
||||
\item{arbre de régression ou classification}
|
||||
\item{k-\gls{nn} (plus proches voisins)}
|
||||
\item{classificateur Naïve Bayes}
|
||||
\item{réseaux de neurones}
|
||||
\item{\gls{svm}}
|
||||
\end{itmz}
|
||||
|
||||
Ce sont ces \gls{svm} qui feront l’objet d’étude du présent document.
|
||||
En seront passés en revue les différents principes techniques sous-jacents,
|
||||
deux exemples d’application, ainsi que des critiques sur ce type d’algorithmes.
|
||||
|
||||
\pagebreak
|
17
cnam/probatoire/document/packages.tex
Normal file
17
cnam/probatoire/document/packages.tex
Normal file
|
@ -0,0 +1,17 @@
|
|||
\usepackage{extsizes}
|
||||
\usepackage{float}
|
||||
\usepackage{fontspec}
|
||||
\usepackage[a4paper,portrait,
|
||||
bmargin=20mm,lmargin=20mm,rmargin=20mm,tmargin=20mm]{geometry}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{hyperref}
|
||||
|
||||
\usepackage{csquotes}
|
||||
\usepackage{polyglossia}
|
||||
\setmainlanguage{french}
|
||||
|
||||
\usepackage[acronym,toc]{glossaries}
|
||||
\usepackage{tocloft}
|
||||
|
||||
\usepackage[backend=biber,sorting=anyt]{biblatex}
|
||||
\usepackage{tocbibind}
|
266
cnam/probatoire/document/principles.tex
Normal file
266
cnam/probatoire/document/principles.tex
Normal file
|
@ -0,0 +1,266 @@
|
|||
\section{Principes}
|
||||
|
||||
L’approche \gls{svm} est un ensemble de méthodes supervisées utilisant :
|
||||
\begin{enum}
|
||||
\item{un \gls{ds} d’apprentissage pour entraîner l’algorithme,\\
|
||||
et qui fait donc office de superviseur}
|
||||
\item{un \gls{ds} de test pour vérifier sa pertinence}
|
||||
\end{enum}
|
||||
|
||||
Cette approche se révèle appropriée dans de nombreux cas d’utilisation :
|
||||
\begin{itmz}
|
||||
\item{filtrage d’email, courriel légitime ou pourriel (phishing, spam)}
|
||||
\item{classification d’images, quel que soit le \gls{si}}
|
||||
\item{détection de \gls{sgn} dans des fichiers multimédias}
|
||||
\item{quantification de granularité dans des textures}
|
||||
\item{reconnaissance de caractères et d’écriture dans des images}
|
||||
\item{classification d’expressions faciales dans des images}
|
||||
\item{reconnaissance vocale dans des échantillons sonores}
|
||||
\item{classification et prédiction de structure de protéines}
|
||||
\item{établissement de diagnostics médicaux}
|
||||
\item{classification de documents texte en différentes catégories}
|
||||
\end{itmz}
|
||||
|
||||
En fonction du type de problèmes, deux types de résolution :
|
||||
\begin{itmz}
|
||||
\item{\textbf{régression} (\gls{svr}) → nombre}
|
||||
\item{\textbf{classification} (\gls{svc}) → catégorie}
|
||||
\end{itmz}
|
||||
|
||||
En fonction des \glspl{ds}, deux types d’approche mathématique :
|
||||
\begin{itmz}
|
||||
\item{\textbf{linéaire} : la plus simple}
|
||||
\item{\textbf{non linéaire} : faisant appel à des \glspl{kf}}
|
||||
\end{itmz}
|
||||
|
||||
Quatre paramètres permettent d’affiner le modèle :
|
||||
\begin{itmz}
|
||||
\item{\textbf{noyau} : linéaire, \gls{rbf}, polynomial, \gls{sigmoid}, etc.}
|
||||
\item{\textbf{degré} : aide à trouver un \gls{hpp} séparateur en contexte polynomial,
|
||||
faisant rapidement augmenter le temps nécessaire à l’entraînement}
|
||||
\item{\textbf{γ} : pour les \glspl{hpp} non linéaires}
|
||||
\item{\textbf{C} : pénalité augmentant la distance des données prises en compte, au\\
|
||||
risque d’engendrer un surentraînement pour une valeur trop importante}
|
||||
\end{itmz}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\subsection{Régression}
|
||||
|
||||
Un hyperparamètre \textbf{ε} permet de fait varier l’épaisseur de la marge,
|
||||
pour y inclure le plus de données possible.
|
||||
Les éléments exclus sont identifiés en rose.
|
||||
|
||||
\subsubsection{Régression linéaire}
|
||||
|
||||
Régression la plus simple : une approximation affine est suffisante.
|
||||
|
||||
\bifig{}{Régression linéaire, variation d’ε \cite{homl-linear}}
|
||||
{15em}{regression_linear_left}{regression_linear_right}
|
||||
|
||||
\subsubsection{Régression non linéaire}
|
||||
|
||||
Régression nécessitant l’utilisation d’une fonction noyau.\\
|
||||
Une plus grande valeur de C intègre des données plus éloignées.
|
||||
|
||||
\bifig{}{Régression polynomiale de degré 2, variation de C \cite{homl-nonlinear}}
|
||||
{15em}{regression_nonlinear_left}{regression_nonlinear_right}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\subsection{Classification}
|
||||
|
||||
Il s’agit du type de résolution le plus fréquemment utilisé.
|
||||
|
||||
\subsubsection{Classification linéaire}
|
||||
|
||||
Cette section se penche sur la classification de 2 espèces d’iris,
|
||||
en fonction des longueurs et largeurs de leurs pétales.
|
||||
|
||||
\textbf{Séparation à Vaste Marge}
|
||||
|
||||
La figure de gauche montre que dans l’absolu, un grand nombre de droites
|
||||
peut séparer correctement les 2 ensembles à classifier.
|
||||
La figure de droite montre cependant qu’en utilisant les éléments
|
||||
les plus proches, appelés dans ce cas \glspl{sv}, il est alors possible
|
||||
de définir une marge de séparation la plus large qui soit, afin de
|
||||
déterminer la droite médiane de séparation la plus efficace.
|
||||
|
||||
\bifig{}{Séparation à Vaste Marge \cite{homl-large-scale}}
|
||||
{9em}{margin_large_left}{margin_large_right}
|
||||
|
||||
Un changement d’échelle préalable aide à la séparation des données,
|
||||
et peut mener à une meilleure efficacité du modèle pour la classification.
|
||||
\cite{scaling}
|
||||
|
||||
La figure de droite montre l’inclusion d’un \gls{sv} supplémentaire.
|
||||
|
||||
\bifig{}{Changements d’échelles des dimensions \cite{homl-large-scale}}
|
||||
{10em}{margin_scale_left}{margin_scale_right}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\textbf{Séparation à marge souple}
|
||||
|
||||
L’approche de vaste marge peut être perturbée par 2 problématiques distinctes.
|
||||
|
||||
La figure de droite montre par exemple des \glspl{sv} tellement proches,
|
||||
que la pertinence du modèle s’en trouve forcément impactée, réduisant
|
||||
ainsi la fiabilité de la séparation.
|
||||
|
||||
La figure de gauche montre quant à elle une anomalie (outlier),
|
||||
rendant de fait toute séparation linéaire impossible.
|
||||
|
||||
\bifig{}{Sensibilité de vaste marge aux anomalies \cite{homl-hard-few}}
|
||||
{9.5em}{margin_hard_left}{margin_hard_right}
|
||||
|
||||
Il faut donc utiliser un modèle plus flexible pour pouvoir éviter
|
||||
ce type de problèmes. Le but étant de trouver le meilleur compromis
|
||||
entre avoir la marge la plus large, et y retrouver le moins possible
|
||||
d’éléments intrus, appelés violations de marge.
|
||||
|
||||
Il est ainsi possible d’utiliser l’hyperparamètre \textbf{C} pour faire
|
||||
varier la distance de prise en compte des éléments proches de la marge.
|
||||
|
||||
Plus la valeur de \textbf{C} augmente, plus le nombre de violations de
|
||||
marge diminiue, mais plus le modèle se spécialise.
|
||||
|
||||
Une attention particulière doit donc être portée à la réduction de marge,
|
||||
sans quoi le modèle perdrait en capacité de généralisation
|
||||
et donc en précision.
|
||||
|
||||
\bifig{}{Plus ou moins de violations de marge, variation de C \cite{homl-hard-few}}
|
||||
{9.5em}{margin_few_left}{margin_few_right}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\subsubsection{Classification non linéaire}
|
||||
|
||||
Toutes les données ne sont pas forcément séparables de façon linéaire.
|
||||
|
||||
Pour y adapter un modèle, il est donc nécessaire de passer par la création
|
||||
de nouvelles variables résultant de la transformation des données de départ.
|
||||
|
||||
Sur la ligne de la figure de gauche, des éléments verts sont entourés d’éléments bleus, inséparables linéairement tels quels.
|
||||
|
||||
La figure de droite introduit alors une variable $X_{2}$, élévation
|
||||
au carré de la variable d’origine $X_{1}$, permettant ainsi
|
||||
une séparation linéaire des données.
|
||||
|
||||
\bifig{}{Séparation linéaire par ajout de variable \cite{homl-nonlinear-linear}}
|
||||
{14.5em}{nonlinear_linear_left}{nonlinear_linear_right}
|
||||
|
||||
L’ajout de variables polynomiales autorise donc des séparations sous
|
||||
forme de courbes, et non plus seulement de droites.
|
||||
|
||||
La figure suivante montre un exemple de séparation curviligne régulière,
|
||||
correspondant à la répartition des 2 catégories présentes.
|
||||
|
||||
\fig{}{Classification utilisant des variables polynomiales \cite{homl-feat-poly}}
|
||||
{14em}{features_polynomial}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\textbf{Noyau polynomial}
|
||||
|
||||
Combiner des polynomes de degrés faibles est simple, pratique et
|
||||
relativement rapide à calculer.
|
||||
|
||||
Mais plus les \glspl{ds} seront complexes, plus il faudra composer avec
|
||||
des polynomes de plus haut degré, générant un grand nombre de variables,
|
||||
et rendant ainsi le modèle trop lent.
|
||||
|
||||
Un outil mathématique appelé \gls{kt} permet de contourner ce problème.
|
||||
Se basant sur le théorème de Mercer, il permet de remplacer dans un espace
|
||||
de grande dimension, un produit scalaire par une \gls{kf} facile à calculer.
|
||||
|
||||
Ce \gls{kt} simplifie donc les calculs ultérieurs d’affinage.
|
||||
La technique \gls{gs}, limitant les hyperparamètres à des sous-ensembles
|
||||
de valeurs prédéfinies respectant un certain pas, permet ensuite un bon
|
||||
compromis de temps de calcul pour trouver les valeurs de réglages
|
||||
les plus appropriées.
|
||||
|
||||
\bifig{}{\Gls{kf} polynomiale \cite{homl-poly}}
|
||||
{14em}{kernel_polynomial_left}{kernel_polynomial_right}
|
||||
|
||||
\textbf{Similarité}
|
||||
|
||||
Une autre façon de gérer des données non linéairement séparables
|
||||
est d’utiliser une fonction de similarité, comme la \gls{rbf} gaussienne.
|
||||
|
||||
Le principe est de transformer les éléments en fonction de leur similitude
|
||||
avec des points de repères déterminés dans l’ensemble d’origine.
|
||||
Utiliser chacun des éléments comme points de repère augmente la probabilité
|
||||
de séparabilité linéaire, mais également le nombre de variables et donc
|
||||
le temps de calcul.
|
||||
|
||||
La figure de gauche montre les 2 points de repère choisis en rouge,
|
||||
ainsi que leur courbe gaussienne associée.
|
||||
|
||||
La figure de droite montre tous les points transformés avec la \gls{rbf}
|
||||
gaussienne, devenant également linéairement séparables.
|
||||
|
||||
\bifig{}{Variables de similarité utilisant la \gls{rbf} gaussienne \cite{homl-feat-simi}}
|
||||
{14em}{features_similar_left}{features_similar_right}
|
||||
|
||||
\textbf{Noyau gaussien \gls{rbf}}
|
||||
|
||||
Le \gls{kt} marche également dans un tel contexte de similarité.
|
||||
|
||||
Faire varier \textbf{C} (colonnes) change la distance de prise en compte.\\
|
||||
Faire varier \textbf{γ} (rangées) modifie l’épaisseur de la « cloche » gaussienne.
|
||||
|
||||
\bifig{}{\Gls{kf} gaussienne (\gls{rbf}) \cite{homl-rbf}}
|
||||
{26em}{kernel_rbf_left}{kernel_rbf_right}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\textbf{Autres noyaux}
|
||||
|
||||
En complément aux plus courants vus précédemment, un certain nombre
|
||||
d’autres noyaux existe :
|
||||
|
||||
\begin{itmz}
|
||||
\item{\gls{rbf} de Laplace}
|
||||
\item{tangente hyperbolique}
|
||||
\item{\gls{sigmoid}}
|
||||
\item{fonction de Bessel de première espèce}
|
||||
\item{\gls{rbf} \gls{anova}}
|
||||
\item{sillon linéaire à 1 dimension}
|
||||
\item{chaîne (utilisé pour les documents texte ou séquences d’ADN)}
|
||||
\end{itmz}
|
||||
|
||||
\textbf{Autres outils}
|
||||
|
||||
Des algorithmes récents se sont montrés plus efficaces avec de grands \glspl{ds} :
|
||||
|
||||
\begin{itmz}
|
||||
\item{descente par sous-gradient, avec des techniques de décomposition}
|
||||
\item{descente par coordonnée, en effectuant des minimisations itératives}
|
||||
\end{itmz}
|
||||
|
||||
\subsubsection{Classification multi-classes}
|
||||
|
||||
Quand au moins 3 catégories sont à classifier,
|
||||
et donc pour étendre les modèles à plus de 2 catégories,
|
||||
deux approches sont intéressantes \cite{multi-class} :
|
||||
|
||||
\begin{itmz}
|
||||
\item{\gls{svm} à arbre de décision}
|
||||
\item{\gls{svm} par paires}
|
||||
\end{itmz}
|
||||
|
||||
\subsubsection{Optimisation}
|
||||
|
||||
Normaliser les données avant de les classifier peut donner de bien meilleurs
|
||||
résultats en fonction du type de problèmes considéré.
|
||||
|
||||
Dans le cadre de la proposition d’un nouvel algorithme pour classifier des
|
||||
tumeurs cérébrales à partir d’\gls{irm} \cite{mri}, sont recensées
|
||||
(entre 1990 et 2018) de nombreuses combinaisons de pré-traitements
|
||||
et de classifications. \cite{optimization}
|
||||
|
||||
Parmi ces traitements : filtre gaussien, réduction de bruit,
|
||||
suppression d’artefacts, égalisation d’histogramme, filtre médian.
|
||||
|
||||
\pagebreak
|
15
cnam/probatoire/document/toc.tex
Normal file
15
cnam/probatoire/document/toc.tex
Normal file
|
@ -0,0 +1,15 @@
|
|||
\cnam
|
||||
|
||||
\begin{large}\fulltitle\end{large}
|
||||
|
||||
\renewcommand{\contentsname}{Plan}
|
||||
|
||||
\cftsetindents{section}{1em}{1.5em}
|
||||
\cftsetindents{subsection}{2.5em}{2.5em}
|
||||
\cftsetindents{subsubsection}{5em}{3.25em}
|
||||
\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}
|
||||
%\renewcommand{\cftsubsecleader}{\hfill}
|
||||
|
||||
\tableofcontents
|
||||
|
||||
\pagebreak
|
Loading…
Add table
Add a link
Reference in a new issue