travaux
3
cnam/probatoire/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
/*.pdf
|
||||
/*.pdf.asc
|
||||
/*.pdf.vrf
|
81
cnam/probatoire/build.py
Executable file
|
@ -0,0 +1,81 @@
|
|||
#! /usr/bin/python3 -B
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
DOCUMENTS = [
|
||||
# ('document', 'mémoire'),
|
||||
# ('présentation', 'présentation'),
|
||||
]
|
||||
TMP = 'tmp'
|
||||
|
||||
|
||||
def run(command):
|
||||
subprocess.call(command)
|
||||
|
||||
|
||||
def errun(command):
|
||||
return subprocess.check_output(
|
||||
command, stderr=subprocess.STDOUT)
|
||||
|
||||
|
||||
def build(sign):
|
||||
for en, fr in DOCUMENTS:
|
||||
command = ['xelatex', '-output-directory', TMP, en]
|
||||
run(command)
|
||||
run(['makeglossaries', '-d', TMP, en])
|
||||
run(['biber',
|
||||
'--input-directory', TMP,
|
||||
'--output-directory', TMP,
|
||||
en,
|
||||
])
|
||||
run(command)
|
||||
run(command)
|
||||
pdf = f'{fr}.pdf'
|
||||
os.rename(os.path.join(TMP, f'{en}.pdf'),
|
||||
os.path.join(TMP, pdf))
|
||||
if not sign:
|
||||
os.rename(os.path.join(TMP, pdf), pdf)
|
||||
else:
|
||||
run(['gpg',
|
||||
'--armor',
|
||||
'--detach-sign',
|
||||
os.path.join(TMP, pdf),
|
||||
])
|
||||
signature = f'{pdf}.asc'
|
||||
for f in [pdf, signature]:
|
||||
os.rename(os.path.join(TMP, f), f)
|
||||
lines = errun(['gpg',
|
||||
'--verify', signature, pdf,
|
||||
]).decode('u8').splitlines()
|
||||
id = lines[2].index('"')
|
||||
lines = [
|
||||
lines[0],
|
||||
lines[1],
|
||||
lines[2][:id] + lines[4][id:]
|
||||
.replace('@', ' @ ')
|
||||
.replace('.', ' ⋅ ')
|
||||
] + lines[5:]
|
||||
buffer = os.linesep.join(lines).encode('u8')
|
||||
with open(f'{pdf}.vrf', 'bw') as f:
|
||||
f.write(buffer)
|
||||
|
||||
|
||||
def clean():
|
||||
shutil.rmtree(TMP, ignore_errors=True)
|
||||
|
||||
|
||||
def main():
|
||||
file = os.path.realpath(__file__)
|
||||
directory = os.path.dirname(file)
|
||||
os.chdir(directory)
|
||||
clean()
|
||||
os.makedirs(TMP)
|
||||
build(len(sys.argv) == 1)
|
||||
clean()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
139
cnam/probatoire/document.bib
Normal file
|
@ -0,0 +1,139 @@
|
|||
@book{homl-large-scale,
|
||||
author = "Aurélien Géron",
|
||||
title = "Hands-on Machine Learning",
|
||||
edition = "2nd",
|
||||
year = "2019",
|
||||
publisher = "O'Reilly",
|
||||
pages = "154",
|
||||
}
|
||||
@book{homl-hard-few,
|
||||
author = "Aurélien Géron",
|
||||
title = "Hands-on Machine Learning",
|
||||
edition = "2nd",
|
||||
year = "2019",
|
||||
publisher = "O'Reilly",
|
||||
pages = "155",
|
||||
}
|
||||
@book{homl-nonlinear-linear,
|
||||
author = "Aurélien Géron",
|
||||
title = "Hands-on Machine Learning",
|
||||
edition = "2nd",
|
||||
year = "2019",
|
||||
publisher = "O'Reilly",
|
||||
pages = "157",
|
||||
}
|
||||
@book{homl-feat-poly,
|
||||
author = "Aurélien Géron",
|
||||
title = "Hands-on Machine Learning",
|
||||
edition = "2nd",
|
||||
year = "2019",
|
||||
publisher = "O'Reilly",
|
||||
pages = "158",
|
||||
}
|
||||
@book{homl-poly,
|
||||
author = "Aurélien Géron",
|
||||
title = "Hands-on Machine Learning",
|
||||
edition = "2nd",
|
||||
year = "2019",
|
||||
publisher = "O'Reilly",
|
||||
pages = "159",
|
||||
}
|
||||
@book{homl-feat-simi,
|
||||
author = "Aurélien Géron",
|
||||
title = "Hands-on Machine Learning",
|
||||
edition = "2nd",
|
||||
year = "2019",
|
||||
publisher = "O'Reilly",
|
||||
pages = "160",
|
||||
}
|
||||
@book{homl-rbf,
|
||||
author = "Aurélien Géron",
|
||||
title = "Hands-on Machine Learning",
|
||||
edition = "2nd",
|
||||
year = "2019",
|
||||
publisher = "O'Reilly",
|
||||
pages = "161",
|
||||
}
|
||||
@book{homl-linear,
|
||||
author = "Aurélien Géron",
|
||||
title = "Hands-on Machine Learning",
|
||||
edition = "2nd",
|
||||
year = "2019",
|
||||
publisher = "O'Reilly",
|
||||
pages = "163",
|
||||
}
|
||||
@book{homl-nonlinear,
|
||||
author = "Aurélien Géron",
|
||||
title = "Hands-on Machine Learning",
|
||||
edition = "2nd",
|
||||
year = "2019",
|
||||
publisher = "O'Reilly",
|
||||
pages = "164",
|
||||
}
|
||||
|
||||
@article{scaling,
|
||||
author = "Minaxi Arora and Lekha Bhambhu",
|
||||
title = "Role of Scaling in Data Classification Using SVM",
|
||||
year = "2014",
|
||||
journal = "IJARCSSE",
|
||||
volume = "4",
|
||||
issue = "10",
|
||||
pages = "271-273",
|
||||
}
|
||||
|
||||
@book{multi-class,
|
||||
author = "Paresh Deka",
|
||||
title = "A primer on machine learning applications in civil engineering",
|
||||
year = "2020",
|
||||
publisher = "CRC Press",
|
||||
pages = "86-89",
|
||||
}
|
||||
|
||||
@book{mri,
|
||||
author = "Anand Kulkarni and Suresh Satapathy",
|
||||
title = "Optimization in Machine Learning and Applications",
|
||||
year = "2020",
|
||||
publisher = "Springer",
|
||||
pages = "51-68",
|
||||
}
|
||||
|
||||
@book{optimization,
|
||||
author = "Anand Kulkarni and Suresh Satapathy",
|
||||
title = "Optimization in Machine Learning and Applications",
|
||||
year = "2020",
|
||||
publisher = "Springer",
|
||||
pages = "54",
|
||||
}
|
||||
|
||||
@phdthesis{large-scale,
|
||||
author = "Antoine Bordes",
|
||||
title = "New Algorithms for Large-Scale SVM",
|
||||
year = "2010",
|
||||
school = "Université Paris VI",
|
||||
}
|
||||
|
||||
@misc{ex-linear,
|
||||
author = "Abhishek Ghose",
|
||||
title = "Learning SVMs From Examples",
|
||||
year = "2017",
|
||||
url = "https://www.kdnuggets.com/2017/08/support-vector-machines-learning-svms-examples.html",
|
||||
}
|
||||
@misc{ex-nonlinear,
|
||||
author = "Abhishek Ghose",
|
||||
title = "Learning SVMs From Examples",
|
||||
year = "2017",
|
||||
url = "https://www.kdnuggets.com/2017/08/support-vector-machines-learning-svms-examples.html/2",
|
||||
}
|
||||
|
||||
@misc{lib-svm,
|
||||
author = "Chih-Chung Chang and Chih-Jen Lin",
|
||||
title = "LIBSVM",
|
||||
year = "2019",
|
||||
url = "https://www.csie.ntu.edu.tw/~cjlin/libsvm",
|
||||
}
|
||||
@misc{lib-svm-light,
|
||||
author = "Thorsten Joachims",
|
||||
title = "SVMlight",
|
||||
year = "2008",
|
||||
url = "http://www.cs.cornell.edu/people/tj/svm_light",
|
||||
}
|
85
cnam/probatoire/document.tex
Normal file
|
@ -0,0 +1,85 @@
|
|||
\documentclass[12pt]{extarticle}
|
||||
\newcommand{\import}[1]{\input{document/#1}}
|
||||
% imports ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\import{packages}
|
||||
%–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\hypersetup{colorlinks,
|
||||
citecolor=blue,
|
||||
filecolor=blue,
|
||||
linkcolor=blue,
|
||||
urlcolor=blue,
|
||||
}
|
||||
\setcounter{secnumdepth}{3}
|
||||
\setmainfont{DejaVu Sans}
|
||||
\setmonofont{DejaVu Sans Mono}
|
||||
\setlength{\parindent}{0em}
|
||||
\setlength{\parskip}{1em}
|
||||
% commands –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\renewcommand{\baselinestretch}{1.1}
|
||||
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
\newcommand{\cnam}{\begin{center}
|
||||
\includegraphics[height=6em]{../cnam.png}\end{center}}
|
||||
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
\newcommand{\fig}[4]{\begin{figure}[H]\begin{center}
|
||||
\includegraphics[height=#3]{images/#4.png}
|
||||
\label{#1}\caption{#2}\end{center}\end{figure}}
|
||||
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
\newcommand{\bifig}[5]{\begin{figure}[H]\begin{center}
|
||||
\includegraphics[height=#3]{images/#4.png}
|
||||
\includegraphics[height=#3]{images/#5.png}
|
||||
\label{#1}\caption{#2}\end{center}\end{figure}}
|
||||
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
\newcommand{\hr}{\rule{\textwidth}{1pt}}
|
||||
\newcommand{\hrq}{\rule{.25\textwidth}{1pt}}
|
||||
% definitions ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\def\fulltitle{\begin{center}\textbf{%
|
||||
SVM\\
|
||||
Machine à Vecteurs de Support
|
||||
}\end{center}}
|
||||
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
\def\goal{%
|
||||
Mémoire probatoire présenté en vue d’obtenir\\
|
||||
UE « Information et communication pour ingénieur »\\
|
||||
Spécialité :\\
|
||||
Informatique, Réseaux, Systèmes et Multimédia
|
||||
}
|
||||
% environments –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\newenvironment{enum}{\begin{enumerate}
|
||||
\setlength{\itemsep}{0.2em}
|
||||
\setlength{\parsep}{0em}
|
||||
\setlength{\parskip}{0em}
|
||||
}{\end{enumerate}}
|
||||
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
\newenvironment{itmz}{\begin{itemize}
|
||||
\setlength{\itemsep}{0.2em}
|
||||
\setlength{\parsep}{0em}
|
||||
\setlength{\parskip}{0em}
|
||||
}{\end{itemize}}
|
||||
% processing –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\makeglossaries
|
||||
\bibliography{document}
|
||||
% begin ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\begin{document}
|
||||
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
\import{front}
|
||||
\import{glossaries}
|
||||
\import{toc}
|
||||
%–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\import{introduction}
|
||||
\import{principles}
|
||||
\import{example}
|
||||
\import{critics}
|
||||
\import{conclusion}
|
||||
%–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\printbibliography[heading=bibintoc,title=Références]
|
||||
\pagebreak
|
||||
\renewcommand{\listfigurename}{Figures}
|
||||
\listoffigures
|
||||
\pagebreak
|
||||
% appendicies ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\appendix
|
||||
%⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
%–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\import{back}
|
||||
% document –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
|
||||
\end{document}
|
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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
BIN
cnam/probatoire/images/3d.png
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
cnam/probatoire/images/algo.png
Normal file
After Width: | Height: | Size: 122 KiB |
BIN
cnam/probatoire/images/artifacts.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
cnam/probatoire/images/bd.png
Normal file
After Width: | Height: | Size: 92 KiB |
BIN
cnam/probatoire/images/box.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
cnam/probatoire/images/classification.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
cnam/probatoire/images/classreg.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
cnam/probatoire/images/clusters.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
cnam/probatoire/images/complex.png
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
cnam/probatoire/images/datavis.png
Normal file
After Width: | Height: | Size: 372 KiB |
BIN
cnam/probatoire/images/diagnosis.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
cnam/probatoire/images/email.png
Normal file
After Width: | Height: | Size: 115 KiB |
BIN
cnam/probatoire/images/evolution.png
Normal file
After Width: | Height: | Size: 558 KiB |
BIN
cnam/probatoire/images/ex-linear-out.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
cnam/probatoire/images/ex-linear-plot.png
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
cnam/probatoire/images/ex-linear-soft.png
Normal file
After Width: | Height: | Size: 148 KiB |
BIN
cnam/probatoire/images/ex-linear-svm.png
Normal file
After Width: | Height: | Size: 101 KiB |
BIN
cnam/probatoire/images/ex-nonlinear-linear.png
Normal file
After Width: | Height: | Size: 128 KiB |
BIN
cnam/probatoire/images/ex-nonlinear-plot.png
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
cnam/probatoire/images/ex-nonlinear-sv.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
cnam/probatoire/images/ex-nonlinear-svm.png
Normal file
After Width: | Height: | Size: 73 KiB |
BIN
cnam/probatoire/images/faceid.png
Normal file
After Width: | Height: | Size: 8 KiB |
BIN
cnam/probatoire/images/features_polynomial.png
Normal file
After Width: | Height: | Size: 152 KiB |
BIN
cnam/probatoire/images/features_similar_left.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
cnam/probatoire/images/features_similar_right.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
cnam/probatoire/images/fitting.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
cnam/probatoire/images/flexible.png
Normal file
After Width: | Height: | Size: 249 KiB |
BIN
cnam/probatoire/images/functions.png
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
cnam/probatoire/images/gaussian.png
Normal file
After Width: | Height: | Size: 428 KiB |
BIN
cnam/probatoire/images/general.png
Normal file
After Width: | Height: | Size: 87 KiB |
BIN
cnam/probatoire/images/grid.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
cnam/probatoire/images/histogram.png
Normal file
After Width: | Height: | Size: 830 KiB |
BIN
cnam/probatoire/images/hyperplanes.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
cnam/probatoire/images/is.png
Normal file
After Width: | Height: | Size: 2.9 MiB |
BIN
cnam/probatoire/images/kernel_polynomial_left.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
cnam/probatoire/images/kernel_polynomial_right.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
cnam/probatoire/images/kernel_rbf_left.png
Normal file
After Width: | Height: | Size: 182 KiB |
BIN
cnam/probatoire/images/kernel_rbf_right.png
Normal file
After Width: | Height: | Size: 159 KiB |
BIN
cnam/probatoire/images/kernels.png
Normal file
After Width: | Height: | Size: 99 KiB |
BIN
cnam/probatoire/images/knife.png
Normal file
After Width: | Height: | Size: 213 KiB |
BIN
cnam/probatoire/images/load.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
cnam/probatoire/images/margin_few_left.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
cnam/probatoire/images/margin_few_right.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
cnam/probatoire/images/margin_hard_left.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
cnam/probatoire/images/margin_hard_right.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
cnam/probatoire/images/margin_large_left.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
cnam/probatoire/images/margin_large_right.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
cnam/probatoire/images/margin_scale_left.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
cnam/probatoire/images/margin_scale_right.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
cnam/probatoire/images/median.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
cnam/probatoire/images/ml.png
Normal file
After Width: | Height: | Size: 659 KiB |
BIN
cnam/probatoire/images/model.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
cnam/probatoire/images/muffins.png
Normal file
After Width: | Height: | Size: 480 KiB |
BIN
cnam/probatoire/images/multiclass.png
Normal file
After Width: | Height: | Size: 158 KiB |
BIN
cnam/probatoire/images/new.png
Normal file
After Width: | Height: | Size: 250 KiB |
BIN
cnam/probatoire/images/nn.png
Normal file
After Width: | Height: | Size: 354 KiB |
BIN
cnam/probatoire/images/noise.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
cnam/probatoire/images/nonlinear.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
cnam/probatoire/images/nonlinear_linear_left.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
cnam/probatoire/images/nonlinear_linear_right.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
cnam/probatoire/images/normalization.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
cnam/probatoire/images/ocr.png
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
cnam/probatoire/images/overlap.png
Normal file
After Width: | Height: | Size: 198 KiB |
BIN
cnam/probatoire/images/pacram.png
Normal file
After Width: | Height: | Size: 127 KiB |
BIN
cnam/probatoire/images/pairwise.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
cnam/probatoire/images/protein.png
Normal file
After Width: | Height: | Size: 690 KiB |
BIN
cnam/probatoire/images/ram.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
cnam/probatoire/images/regression.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
cnam/probatoire/images/regression_linear_left.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
cnam/probatoire/images/regression_linear_right.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
cnam/probatoire/images/regression_nonlinear_left.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
cnam/probatoire/images/regression_nonlinear_right.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
cnam/probatoire/images/semi-labeled.png
Normal file
After Width: | Height: | Size: 167 KiB |
BIN
cnam/probatoire/images/semi-learning.png
Normal file
After Width: | Height: | Size: 186 KiB |
BIN
cnam/probatoire/images/speech.png
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
cnam/probatoire/images/stable.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
cnam/probatoire/images/steganography.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
cnam/probatoire/images/svm.png
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
cnam/probatoire/images/target.png
Normal file
After Width: | Height: | Size: 516 KiB |
BIN
cnam/probatoire/images/texts.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
cnam/probatoire/images/textures.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
cnam/probatoire/images/time.png
Normal file
After Width: | Height: | Size: 142 KiB |
BIN
cnam/probatoire/images/tiny.png
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
cnam/probatoire/images/tools.png
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
cnam/probatoire/images/training.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
cnam/probatoire/images/tree.png
Normal file
After Width: | Height: | Size: 102 KiB |