# -- FTML Révisions --
## Classification supervisée (modèles)
### KMeans:
* __But__: séparer en k clusters un ensemble de data
* __principe__: Prend arbitrairement k points centroïdes, relie tout les autres points au plus proche représentant, recalcule les centroïdes, puis réitère l'oppération X fois.
* __problème__:
* résultat bon mais pas optimal.
* algo en temps non polynomial.
* il faut connaitre le nb de cluster à la base.
### CHA (agglomerative Clustering):
* __but__: séparer un ensemble de data en un nomrbe de cluster non déterminé.
* __principe__: on créer un cluster par point, on fusionne les deux clusters les plus proches, on réitère jusqu'à que chaque cluster soit suffisamment éloignés.
* __problème__:
* algo en o(n2)
### SVM:
* __but__: classifier un ensemble de data selon k classes connues.
* __principe__: partitionne l'espace avec des hyperplans afin de minimiser l'écart du modèle à la vérité terrain, pour chaques classes.
* __problème__:
* résiste mal aux cas avec bcp de classes.
* a besoin d'un certain nombre de représentant pour chaque classe durant l'entrainement.
### Régression logistique:
* __but__: déterminer une fonction (dont le logit est linéaire)classifiant un ensemble de data dans deux classes possibles.
* __principe__: le logit s'exprime de cette façon:
$\ln(\frac{P(Y = 1|X)}{P(Y = 0|X)})$ = $a_0$ + $a_1$$X_1$ + ... + $a_k$$X_k$
Et il doit être linaire comme dans cet exemple
donc la fonction de coût prend la forme d'une sigmoïde (en S)
## Méthodes avancées
### Topic Model:
* __but__: déterminer les topics de discussion présent dans un texte.
* __principe__: chaque document regroupe un ensemble de topic représentés par un ensemble de mots particulier. Dans la réalité, on observe des documents dont les topics sont cachés. Notre objectif est de les retrouver en inversant le processus en partant des mots.
### Carte auto-organisatrice (Kohonen Map):
Les cartes auto-organisatrices sont une catégorie de machine Learning non supervisé. L'objectif st de cartographier et de séparer l'espace (possiblement à grande dimension) afin d'étudier la répartition des données.
## Faire des tests
### Erreur moyenne empirique:
D(f, $\tau$) = $\frac{1}{n}$ $\sum_{j \le m}$ d(f($x_j$), $y_j$)
Cette somme s'effectue sur les données, par les variables des données.
__but__: Par la loi des grands nombre, cette somme converge vers l'erreur du modèle.
### Test de Student monovarié:
* __but__: évaluer la véracité de certaines hypothèses.
* __principe__: on suppose que nos données suivent un loi normale pour notre hypothèse, on compare les observations de:
z = $\sqrt{n}$$\frac{x - \mu }{s}$
avec les valeurs d'une loi de Student à n-1 DL.
Si l'écart est grand, on rejette l'hypothèse.
### Test du $\varphi^2$:
* __but__: évaluer si deux lois sont indépendantes ou corrélées.
* __principe__: on calcule les effectifs croisés espérés et observés, on regarde l'écart relatif entre les deux et c'est sensé suivre une loi de $\varphi^2$. Puis si l'écart est trop grand, on rejette l'hypothèse.
### Compromis Biais-Variance:
* __Biais__: Avoir un jeu de données trop biaisé, ou trop peu de donnée implique souvent un sous-apprentissage.
* __Variance__: le modèle se colle trop au jeu de données et apprend même le bruit et la variance de celui-ci, cela implique du sur-apprentissage.
### Cross Validation:
La cross validation consiste à séparer son jeu de données en ensemble de train et de validation, pour ensuite le tester sur un ensemble de validation.
## Minimisation du risque
### Fonction de perte:
Une fonction de perte est une fonction qui a pour propriété:
LF(X, Y) = 0 si X = Y
X -- > valeurs du modèle
Y -- > vérité terrain
### Moyenne empirique de perte:
E = $\frac{1}{N}$$\sum_{i\in I}LF(f(X_i), Y_i)$
### Matrice de confusion:
|vrais positifs faux négatifs|
|faux positifs vrais négatifs|
[2 x 2]
### Courbe ROC:
* ROC = receiver Operating Characteristic
* Courbe du nombre de vrais positifs sur le nombre de faux positifs
### Consistance:
On dit qu'un modèle est consistant lorsque l'espérance de la fonction de perte converge vers l'espérance du modèle optimal.
### Exemple du KNN:
* KNN = K Nearest Neighbours
* Déjà vu en MLRF rien de particulier à été rajouté.
## Cas du modèle Bayesien naïf
### Outils d'étude:

### Objectif:
Minimiser le risque optimal de Bayes ROPT. Pour cela il faut réussir à déterminer g.
### Principe:
* On a un ensemble de variables $X_i$ observés et $Y_i$ à déterminer.
* regarder la probabilité d'apparition de chaque $(x_i, y_i)$ est de trop grande complexité. Et on ne peut pas toujours représenter nos données de la forme $Y_i = f(X_i)$.
* On fait de la réduction de complexité avec une hypothèse forte d'indépendance.
$P(Y=k|X) = \frac{1}{P_\Omega} \prod_{j \le p}P(X_j | Y = k)P(Y = k)$
* dans le cas bayesien naïf, on voudra minimiser le risque empirique en prenant:
$F(x) = argmax_{k \in G} \log{P(Y = k)} + \sum{\log{X_j | Y = k}}$
## Principe de régularisation
### pulvérisation de données:
Un ensemble E est dit _pulvérisé_ par une famille de sous-ensemble H si tout sous-ensemble de X peut être associé à un élement de H.
Souvent, nous avons une famille d'estimateurs qui viendra pulvériser un ensemble de données et ainsi le classifier.
Dans le cas particulier d'un perceptron, il viendra pulvériser un espace en deux en classifiant des données selon un seuil de choix.
### Dimension de Vapnik-Chervonenkis:
Soit une famille d'estimateurs qui vient pulveriser un ensemble de données, la dimension de Vapnik-Chervonenkis est la taille maximale (dimension) de l'ensemble de données. Cette dimension est dépendante de la famille d'estimateurs.