Commits

bloody_76 committed 0955d8e

ajout de quelques slides concernant l'analyse des résultats

  • Participants
  • Parent commits acf66d1

Comments (0)

Files changed (2)

         println("> Topic modeling with $(model)")
         result = model(m, k)
         println("Final perplexity: $(perplexity(m, result))")
+        println()
 
         # Launch a benchmark
         if args["bench"]
                 draw(PNG("$(model)/topic$(i)_$(k).png", 15inch, 10inch), plot(x = topic.words, y = topic.coeffs, Geom.bar))
             end
 
+            # Print to stdout.
+            if args["stdprint"]
+                println("> The best $(topwords) topwords are:")
+                println(topics)
+            end
+
             # Print topics
             docs = {}
             topics = {}
                 println("> Clustering results:")
                 println(clustering)
             end
-
-            if args["stdprint"]
-                println("> The best $(topwords) topwords are:")
-                println(topics)
-            end
             println()
         end
     end

slides/slides.tex

 \begin{frame}{Latent Dirichlet Allocation}
 	\begin{block}{Processus génératif}
 		\begin{enumerate}
-			\item Choisir $N \sim Poisson(\xi)$
-      \item Choisir $\theta \sim Dir(\alpha)$
-      \item Pour chaque mot $w_n$ de N:
+			\item Choisir la taille du document $N \sim Poisson(\xi)$
+      \item Choisir une répartition $\theta \sim Dir(\alpha)$ des thématiques
+        dans le document
+      \item Pour chaque mot $w_n$ de 1 à N:
         \begin{enumerate}
           \item Choisir une thématique $z_n \sim Multinomiale(\theta)$
           \item Choisir un mot $w_n$ de $p(w_n|z_n,\beta)$, mélange de
-            thématique conditionné sur $z_n$
+            thématiques conditionné sur $z_n$
         \end{enumerate}
 		\end{enumerate}
 	\end{block}
     \begin{itemize}
       \item Inférence des variables latentes en calculant $p(\theta, z|w,
         \alpha,\beta)$~;
-      \item on veut récupérer $p(w|\alpha,\beta)$ afin d'estimer le maximum d'à
+      \item on veut récupérer $p(w|\alpha,\beta)$ afin d'estimer le maximum a
         posteriori de LDA~;
-      \item marginalisation des variables latentes rendant le calcul de l'à
+      \item marginalisation des variables latentes rendant le calcul de l'a
         posteriori impossible.
     \end{itemize}
   \end{block}
 \end{frame}
 
 \begin{frame}{Latent Dirichlet Allocation}
+  \begin{figure}[h!]
+    \includegraphics[scale=0.4]{images/LDA.png}
+    \caption{Modèle LDA}
+  \end{figure}
+\end{frame}
+
+\begin{frame}{Latent Dirichlet Allocation}
   \begin{block}{Inférence variationnelle}
     \begin{itemize}
-      \item Introduction des paramètres variationnelles $\phi, \gamma$ pour
+      \item Introduction des paramètres variationnels $\phi, \gamma$ pour
         calculer $q(\theta,z|\phi,\gamma)$~;
       \item on maximise la borne inférieure
         du log de vraisemblance afin d'obtenir une meilleur approximation de
     \begin{itemize}
       \item Utilisation d'un EM pour inférer $\gamma, \phi$~:
         \begin{itemize}
-          \item Décision de convergence si $\gamma$ ne change pas de plus de
-            10e-4\%~;
+          \item décision de convergence si $\gamma$ ne change pas de plus de
+            $10^{-4}$\%~;
         \end{itemize}
       \item décision de convergence de l'EM principale si la perplexité de
-        notre modèle ne change pas de plus de 10e-5\%~;
+        notre modèle ne change pas de plus de $10^{-5}$\%~;
       \item implémentation de la version batch de l'algorithme.
     \end{itemize}
   \end{block}
 \begin{frame}{Latent Dirichlet Allocation}
   \begin{block}{Pourquoi ces choix}
     \begin{itemize}
-      \item Principalement pour la simplicité des notions~;
+      \item Principalement pour l'accessibilité~;
       \item utilisation de la mesure de perplexité car plus rapide à calculer que le log de
         vraisemblance du corpus~;
       \item Newton-Raphson car complexité $O(n)$ grâce à la forme de la
         matrice Hessienne~;
-      \item convergence si pas plus de 10e-4\% ou 10e-5\% pour copier au
+      \item convergence si pas plus de $10^{-4}$\% ou $10^{-5}$\% pour copier au
         maximum les choix de l'auteur de LDA.
     \end{itemize}
   \end{block}
 % Resultats
 \section{Résultats}
 
-\begin{frame}{Thématiques LDA}
-\begin{figure}
-\begin{tabular}{ccc}
-    \textsc{LDA} & & \\
-    \hline               \\
-    \textcolor{blue}{oil} & \textcolor{blue}{public} & \textcolor{blue}{locomotive} \\
-    \textcolor{blue}{sand} & \textcolor{blue}{wetland} & city \\
-    \textcolor{blue}{athabasca} & \textcolor{blue}{campaign} & space \\
-    \textcolor{blue}{bitumen} & \textcolor{blue}{awf} & montreal \\
-    \textcolor{blue}{production} & \textcolor{blue}{hurricane} & municipal \\
-    \textcolor{blue}{water} & \textcolor{blue}{louisiana} & party \\
-    \textcolor{blue}{project} & \textcolor{blue}{america} & population \\
-    \textcolor{blue}{crude} & \textcolor{blue}{award} & \textcolor{blue}{railway} \\
-    \textcolor{blue}{energy} & \textcolor{blue}{state} & game \\
-    \textcolor{blue}{river} & coastal & combat \\
-\end{tabular}
-\end{figure}
+\begin{frame}{Thématiques}
+  \begin{figure}
+    \begin{tabular}{cc}
+      \textsc{LDA} & \textsc{NMF} \\
+      \hline               \\
+      \textcolor{blue}{center} & Ankara \\
+      Ankara & city \\
+      city & turkish \\
+      turkish & \textcolor{blue}{angora} \\
+      angora & roman \\
+    \end{tabular}
+  \end{figure}
+  \begin{figure}
+    \begin{tabular}{cc}
+      \textsc{LDA} & \textsc{NMF} \\
+      \hline               \\
+      tank & tank \\
+      system & system \\
+      \textcolor{blue}{asian} & type \\
+      type & \textcolor{blue}{al-Khalid} \\
+      chinese & chinese \\
+    \end{tabular}
+  \end{figure}
 \end{frame}
 
 \begin{frame}{Thématiques NMF}
-\begin{figure}
-\begin{tabular}{ccc}
- \textsc{NMF} & &     \\
-    \hline               \\
-    \textcolor{blue}{oil} & \textcolor{blue}{campaign} & electric \\
-    \textcolor{blue}{sand} & \textcolor{blue}{public} & acting \\
-    \textcolor{blue}{athabasca} & \textcolor{blue}{wetland} & \textcolor{blue}{locomotive} \\
-    \textcolor{blue}{bitumen} & \textcolor{blue}{awf} & president \\
-    \textcolor{blue}{production} & \textcolor{blue}{louisiana} & \textcolor{blue}{railway} \\
-    \textcolor{blue}{water} & \textcolor{blue}{hurricane} & steam \\
-    \textcolor{blue}{project} & \textcolor{blue}{america} & mallet \\
-    \textcolor{blue}{crude} & \textcolor{blue}{award} & electrical \\
-    \textcolor{blue}{energy} & \textcolor{blue}{state} & wheel \\
-    \textcolor{blue}{river} & organization & 1043 \\
-\end{tabular}
+  \begin{figure}
+    \begin{tabular}{ccc}
+      \textsc{NMF} & &     \\
+      \hline               \\
+      \textcolor{blue}{oil} & \textcolor{blue}{campaign} & electric \\
+      \textcolor{blue}{sand} & \textcolor{blue}{public} & acting \\
+      \textcolor{blue}{athabasca} & \textcolor{blue}{wetland} & \textcolor{blue}{locomotive} \\
+      \textcolor{blue}{bitumen} & \textcolor{blue}{awf} & president \\
+      \textcolor{blue}{production} & \textcolor{blue}{louisiana} & \textcolor{blue}{railway} \\
+      \textcolor{blue}{water} & \textcolor{blue}{hurricane} & steam \\
+      \textcolor{blue}{project} & \textcolor{blue}{america} & mallet \\
+      \textcolor{blue}{crude} & \textcolor{blue}{award} & electrical \\
+      \textcolor{blue}{energy} & \textcolor{blue}{state} & wheel \\
+      \textcolor{blue}{river} & organization & 1043 \\
+    \end{tabular}
 
-\end{figure}
+  \end{figure}
 \end{frame}
 
 
 % - Online LDA
 % - Hierarchical topic modeling
 % - Application de demo avec des fonctions utiles (gestionnaire de news ?)
+
+\section{Analyse des résultats}
+
+\begin{frame}{Analyse de NMF}
+  \begin{block}{Performance}
+    \begin{itemize}
+      \item La rapidité dépend beaucoup de l'implémentation~:
+        \begin{itemize}
+          \item Python~: très rapide,
+          \item Julia~: moins rapide, mais toujours plus que LDA~;
+        \end{itemize}
+    \end{itemize}
+  \end{block}
+  \begin{block}{Évaluation de la méthode}
+    Score de perplexité de~: 59.
+  \end{block}
+\end{frame}
+
+\begin{frame}{Analyse des résultats de LDA}
+  \begin{block}{Performance}
+    \begin{itemize}
+      \item Peut-être changer l'EM par un échantillonage type Gibbs
+        Sampling~;
+      \item possibilité d'ajouter du multi-threading~;
+      \item passage de l'EM globale de mode Batch à On-line.
+    \end{itemize}
+  \end{block}
+  \begin{block}{Évaluation de la méthode}
+    Score de perplexité de~: 64.
+  \end{block}
+\end{frame}
+
+\begin{frame}{Anayse des résultats de LDA}
+  \begin{block}{Modèle}
+    \begin{itemize}
+      \item LDA n'établit pas de corrélations entre les
+        thématiques~:
+        \begin{itemize}
+          \item implémentation de CTM (Correlated Topic Modeling),
+          \item implémentation de TPA (The Pachinko Allocation)~;
+        \end{itemize}
+      \item toujours dépendant du paramètre fixé $K$ (nombre de thématique à
+        chercher)~:
+        \begin{itemize}
+          \item implémentation de HDP (Hierarchical Dirichlet Process),
+          \item implémentation de HPP (Hierarchical Pachinko Process).
+        \end{itemize}
+    \end{itemize}
+  \end{block}
+\end{frame}
+
 \section{Améliorations futures}