2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-25 06:18:05 +02:00

Tippfehler verbessert

This commit is contained in:
Martin Thoma 2014-01-12 18:14:47 +01:00
parent e0421134c2
commit 3973b07951
10 changed files with 21 additions and 44 deletions

View file

@ -1,11 +0,0 @@
Der in dieser Ausarbeitung vorgestellte DYCOS-Algorithmus wurde 2011 von
Charu~C. Aggarwal und Nan~Li in \cite{aggarwal2011} vorgestellt.
Es gibt jedoch viele Klassifizierungsalgorithmen, die ähnliche Ideen
nutzen. Einige dieser Algorithmen werden im Folgenden kurz vorgestellt
und Probleme, die der DYCOS-Algorithmus behebt, erläutert.
\cite{DBLP:conf/kdd/BhagatCR07} nutzt nur die Struktur des Graphen
zur Klassifizierung.
Der MUCCA-Algorithmus aus \cite{zappella} sei der erste. Dieser
arbeitet auf gewichteten Graphen, im Gegensatz zu DYCOS.

View file

@ -23,4 +23,4 @@ DYCOS beschränkt sich bei inhaltlichen Mehrfachsprüngen
auf die Top-$q$-Wortknoten, also die $q$ ähnlichsten Knoten auf die Top-$q$-Wortknoten, also die $q$ ähnlichsten Knoten
gemessen mit der Aggregatanalyse, allerdings wurde bisher noch nicht gemessen mit der Aggregatanalyse, allerdings wurde bisher noch nicht
untersucht, wie der Einfluss von $q \in \mathbb{N}$ auf die untersucht, wie der Einfluss von $q \in \mathbb{N}$ auf die
Klassifkationsgüte ist. Klassifikationsgüte ist.

View file

@ -22,7 +22,7 @@ genannt.
Ein Strukturknoten $v$ wird genau dann mit einem Wortknoten $w \in W_t$ Ein Strukturknoten $v$ wird genau dann mit einem Wortknoten $w \in W_t$
verbunden, wenn $w$ in einem Text von $v$ vorkommt. verbunden, wenn $w$ in einem Text von $v$ vorkommt.
Der DYCOS-Algorithmus betrachtet also die Texte, die einem Knoten Der DYCOS-Algorithmus betrachtet also die Texte, die einem Knoten
zugeornet sind, als eine Multimenge von Wörtern. Das heißt, zum einen zugeordnet sind, als eine Multimenge von Wörtern. Das heißt, zum einen
wird nicht auf die Reihenfolge der Wörter geachtet, zum anderen wird wird nicht auf die Reihenfolge der Wörter geachtet, zum anderen wird
bei Texten eines Knotens nicht zwischen verschiedenen bei Texten eines Knotens nicht zwischen verschiedenen
Texten unterschieden. Jedoch wird die Anzahl der Vorkommen Texten unterschieden. Jedoch wird die Anzahl der Vorkommen
@ -64,9 +64,9 @@ springt über einen Wortknoten und ist ein Pfad der Länge~2.
Ob in einem Sprung der Random Walks ein struktureller Sprung oder Ob in einem Sprung der Random Walks ein struktureller Sprung oder
ein inhaltlicher Mehrfachsprung gemacht wird, wird jedes mal zufällig ein inhaltlicher Mehrfachsprung gemacht wird, wird jedes mal zufällig
neu entschiden. Dafür wird der Parameter $0 \leq p_S \leq 1$ für den Algorithmus neu entschieden. Dafür wird der Parameter $0 \leq p_S \leq 1$ für den Algorithmus
gewählt. Mit einer Wahrscheinlichkeit von $p_S$ wird eine struktureller gewählt. Mit einer Wahrscheinlichkeit von $p_S$ wird eine struktureller
Sprung durchgefürt und mit einer Wahrscheinlichkeit Sprung durchgeführt und mit einer Wahrscheinlichkeit
von $(1-p_S)$ ein modifizierter inhaltlicher Mehrfachsprung, wie er in von $(1-p_S)$ ein modifizierter inhaltlicher Mehrfachsprung, wie er in
\cref{sec:sprungtypen} erklärt wird, gemacht. Dieser \cref{sec:sprungtypen} erklärt wird, gemacht. Dieser
Parameter gibt an, wie wichtig die Struktur des Graphen im Verhältnis Parameter gibt an, wie wichtig die Struktur des Graphen im Verhältnis
@ -137,7 +137,7 @@ verwaltet der DYCOS-Algorithmus zwei weitere Datenstrukturen:
\item Für jedes Wort des Vokabulars $W_t$ wird eine Liste von \item Für jedes Wort des Vokabulars $W_t$ wird eine Liste von
Knoten verwaltet, in deren Texten das Wort vorkommt. Knoten verwaltet, in deren Texten das Wort vorkommt.
\item An einigen Stellen macht ein assoziatives Array, auch \item An einigen Stellen macht ein assoziatives Array, auch
\enquote{dictionary} oder \enquote{map} genannt, sinn. \enquote{dictionary} oder \enquote{map} genannt, Sinn.
Zustätzlich ist es nützlich, wenn diese Datenstruktur für Zustätzlich ist es nützlich, wenn diese Datenstruktur für
unbekannte Schlüssel keinen Fehler ausgibt, sondern für diese unbekannte Schlüssel keinen Fehler ausgibt, sondern für diese
Schlüssel den Wert 0 annimmt. Eine solche Datenstruktur Schlüssel den Wert 0 annimmt. Eine solche Datenstruktur

Binary file not shown.

View file

@ -9,7 +9,7 @@ Häufig sind Labels nur teilweise vorhanden und es ist wünschenswert die
fehlenden Labels zu ergänzen. fehlenden Labels zu ergänzen.
\subsection{Problemstellung} \subsection{Problemstellung}
Gegeben ist ein Graph, der teilweise gelabelt ist. Zustäzlich stehen Gegeben ist ein Graph, der teilweise gelabelt ist. Zusätzlich stehen
zu einer Teilmenge der Knoten Texte bereit. Gesucht sind nun Labels zu einer Teilmenge der Knoten Texte bereit. Gesucht sind nun Labels
für alle Knoten, die bisher noch nicht gelabelt sind.\\ für alle Knoten, die bisher noch nicht gelabelt sind.\\

View file

@ -1,12 +0,0 @@
\subsection{DBLP}
Im Folgenden wird die in \cite{aggarwal2011} durchgeführte
experimentelle Analyse des DYCOS-Algorithmus anhand des DBLP-Datensatzes
(\underline{d}ata\underline{b}ase systems and \underline{l}ogic \underline{p}rogramming)
der Universität Trier nachfolzogen. Dieser Datensatz beinhaltet
bibliographische Daten von Informatik-Publikationen. Der Datensatz
wird unter \href{http://dblp.uni-trier.de/xml/}{dblp.uni-trier.de/xml}
zur Verfügung gestellt. Die folgenden Informationen beziehen sich
auf den Datensatz vom 28.~Dezember~2013.
http://dumps.wikimedia.org/enwiki/20131202/
https://de.wikipedia.org/wiki/Hilfe:Download

View file

@ -13,4 +13,4 @@ ebook:
ebook-convert $(DOKUMENT).html $(DOKUMENT).epub --language de --no-default-epub-cover ebook-convert $(DOKUMENT).html $(DOKUMENT).epub --language de --no-default-epub-cover
clean: clean:
rm -rf $(TARGET) *.class *.html *.log *.aux *.out *.thm *.idx *.toc *.ind *.ilg *.glg *.glo *.gls *.ist *.xdy *.bbl *.blg rm -rf $(TARGET) *.class *.html *.log *.aux *.out *.thm *.idx *.toc *.ind *.ilg *.glg *.glo *.gls *.ist *.xdy *.bbl *.blg *.bak

View file

@ -14,7 +14,7 @@ wäre noch die Frage zu klären, mit wie vielen Labels der betrachtete
Knoten gelabelt werden soll. Knoten gelabelt werden soll.
Jedoch ist z.~B. bei Wikipedia-Artikeln auf den Knoten eine Jedoch ist z.~B. bei Wikipedia-Artikeln auf den Knoten eine
Hirarchie definiert. So ist die Kategorie \enquote{Klassifikationsverfahren} Hierarchie definiert. So ist die Kategorie \enquote{Klassifikationsverfahren}
eine Unterkategorie von \enquote{Klassifikation}. Bei dem Kategorisieren eine Unterkategorie von \enquote{Klassifikation}. Bei dem Kategorisieren
von Artikeln sind möglichst spezifische Kategorien vorzuziehen, also von Artikeln sind möglichst spezifische Kategorien vorzuziehen, also
kann man nicht einfach bei dem Auftreten der Kategorie \enquote{Klassifikationsverfahren} kann man nicht einfach bei dem Auftreten der Kategorie \enquote{Klassifikationsverfahren}
@ -65,7 +65,7 @@ Zeitpunkt $t=2$ zum Zeitpunkt $t=3$ auf den Knoten $v_2$ anwenden, so
würde eine $50\%$-Wahrscheinlichkeit bestehen, dass dieser mit $B$ würde eine $50\%$-Wahrscheinlichkeit bestehen, dass dieser mit $B$
gelabelt wird. Aber in diesem Beispiel wurde der Knoten schon gelabelt wird. Aber in diesem Beispiel wurde der Knoten schon
zum Zeitpunkt $t=2$ gelabelt. Obwohl es in diesem kleinem Beispiel zum Zeitpunkt $t=2$ gelabelt. Obwohl es in diesem kleinem Beispiel
noch keine Rolle spielt, wird das Problem klar, wennn man weitere noch keine Rolle spielt, wird das Problem klar, wenn man weitere
Knoten einfügt: Knoten einfügt:
Wird zum Zeitpunkt $t=4$ ein ungelabelter Knoten $v_4$ und die Kanten Wird zum Zeitpunkt $t=4$ ein ungelabelter Knoten $v_4$ und die Kanten
@ -73,7 +73,7 @@ $(v_1, v_4)$, $(v_2, v_4)$, $(v_3, v_4)$ hinzugefügt, so ist die
Wahrscheinlichkeit, dass $v_4$ mit $A$ gelabelt wird bei $\frac{2}{3}$. Wahrscheinlichkeit, dass $v_4$ mit $A$ gelabelt wird bei $\frac{2}{3}$.
Werden die als ungelabelten Knoten jedoch erst jetzt und alle gemeinsam Werden die als ungelabelten Knoten jedoch erst jetzt und alle gemeinsam
gelabelt, so ist die Wahrscheinlichkeit für $A$ als Label bei nur $50\%$. gelabelt, so ist die Wahrscheinlichkeit für $A$ als Label bei nur $50\%$.
Bei dem DYCOS-Algorithmus findet also eine Überanpassung and vergangene Bei dem DYCOS-Algorithmus findet also eine Überanpassung an vergangene
Labels statt. Labels statt.
Das Reklassifizieren von Knoten könnte eine mögliche Lösung für dieses Das Reklassifizieren von Knoten könnte eine mögliche Lösung für dieses
@ -85,7 +85,7 @@ abgelaufen, wird der DYCOS-Algorithmus erneut auf den Knoten angewendet.
In \cite{aggarwal2011} wurde eine experimentelle Analyse mithilfe In \cite{aggarwal2011} wurde eine experimentelle Analyse mithilfe
des DBLP-Datensatzes\footnote{http://dblp.uni-trier.de/} und des des DBLP-Datensatzes\footnote{http://dblp.uni-trier.de/} und des
CORA-Datensatzes\footnote{\href{http://people.cs.umass.edu/~mccallum/data/cora-classify.tar.gz}{http://people.cs.umass.edu/~mccallum/data/cora-classify.tar.gz}} durchgeführt. CORA-Datensatzes\footnote{\href{http://people.cs.umass.edu/~mccallum/data/cora-classify.tar.gz}{http://people.cs.umass.edu/~mccallum/data/cora-classify.tar.gz}} durchgeführt.
Die Ergebnise dieser Analyse können aus folgenden Gründen Die Ergebnisse dieser Analyse können aus folgenden Gründen
nicht überprüft werden: nicht überprüft werden:
\begin{itemize} \begin{itemize}
\item Der Parameter $a \in \mathbb{N}$, der die Anzahl der ausgehenden Kanten \item Der Parameter $a \in \mathbb{N}$, der die Anzahl der ausgehenden Kanten
@ -104,5 +104,5 @@ nicht überprüft werden:
\item Der auf S. 360 in \enquote{Algorithm 1} vorgestellte \item Der auf S. 360 in \enquote{Algorithm 1} vorgestellte
Pseudocode soll den DYCOS-Algorithmus darstellen. Allerdings Pseudocode soll den DYCOS-Algorithmus darstellen. Allerdings
werden die bereits klassifizierten Knoten $\T_t$ neu klassifiziert werden die bereits klassifizierten Knoten $\T_t$ neu klassifiziert
und mit $\theta$ die Klassifkationsgüte gemessen. und mit $\theta$ die Klassifikationsgüte gemessen.
\end{itemize} \end{itemize}

View file

@ -22,7 +22,7 @@ Bei inhaltlichen Mehrfachsprüngen ist jedoch nicht sinnvoll so direkt
nach der Definition vorzugehen, also nach der Definition vorzugehen, also
direkt von einem strukturellem Knoten direkt von einem strukturellem Knoten
$v \in V_t$ zu einem mit $v$ verbundenen Wortknoten $w \in W_t$ zu springen $v \in V_t$ zu einem mit $v$ verbundenen Wortknoten $w \in W_t$ zu springen
und von diesem wieder zu einem verbundenem strutkurellem Knoten und von diesem wieder zu einem verbundenem strukturellem Knoten
$v' \in V_t$. Würde man dies machen, wäre zu befürchten, dass $v' \in V_t$. Würde man dies machen, wäre zu befürchten, dass
aufgrund von Homonymen die Qualität der Klassifizierung verringert aufgrund von Homonymen die Qualität der Klassifizierung verringert
wird. So hat \enquote{Brücke} im Deutschen viele Bedeutungen. wird. So hat \enquote{Brücke} im Deutschen viele Bedeutungen.
@ -43,7 +43,7 @@ CORA-Datensatz wurde in \cite[S. 364]{aggarwal2011} $q=10$ gewählt.} \label{lis
\end{enumerate} \end{enumerate}
Konkret könnte also ein Inhaltlicher Mehrfachsprung sowie wie in Konkret könnte also ein Inhaltlicher Mehrfachsprung sowie wie in
\cref{alg:DYCOS-content-multihop} beschrieben umgesetz werden. \cref{alg:DYCOS-content-multihop} beschrieben umgesetzt werden.
\begin{algorithm} \begin{algorithm}
\caption{Inhaltlicher Mehrfachsprung} \caption{Inhaltlicher Mehrfachsprung}
@ -64,7 +64,7 @@ Konkret könnte also ein Inhaltlicher Mehrfachsprung sowie wie in
\State \textit{//Elemente aus $M_H$ zugreifen kann. Dies muss bei der konkreten Wahl} \State \textit{//Elemente aus $M_H$ zugreifen kann. Dies muss bei der konkreten Wahl}
\State \textit{//der Datenstruktur berücksichtigt werden.} \State \textit{//der Datenstruktur berücksichtigt werden.}
\State $M_H \gets \Call{max}{reachableNodes, q}$ \Comment{Also: $|M_H| = q$, falls $|reachableNodes|\geq q$} \State $M_H \gets \Call{max}{reachableNodes, q}$ \Comment{Also: $|M_H| = q$, falls $|reachableNodes|\geq q$}
\State \textit{//Generate dictionary with relative frequencies} \State \textit{//Dictionary mit relativen Häufigkeiten erzeugen}
\State $s \gets 0$ \State $s \gets 0$
\ForAll{Knoten $x$ in $M_H$} \ForAll{Knoten $x$ in $M_H$}
\State $s \gets s + reachableNodes[x]$ \State $s \gets s + reachableNodes[x]$

View file

@ -1,14 +1,14 @@
\subsection{Vokabularbestimmung}\label{sec:vokabularbestimmung} \subsection{Vokabularbestimmung}\label{sec:vokabularbestimmung}
Da die größe des Vokabulars die Datenmenge signifikant beeinflusst, Da die Größe des Vokabulars die Datenmenge signifikant beeinflusst,
liegt es in unserem Interesse so wenig Wörter wie möglich ins liegt es in unserem Interesse so wenig Wörter wie möglich ins
Vokabular aufzunehmen. Insbesondere sind Wörter nicht von Interesse, Vokabular aufzunehmen. Insbesondere sind Wörter nicht von Interesse,
die in fast allen Texten vorkommen, wie im Deutschen z.~B. die in fast allen Texten vorkommen, wie im Deutschen z.~B.
\enquote{und}, \enquote{mit} und die Pronomen. Es ist wünschenswert \enquote{und}, \enquote{mit} und die Pronomen. Es ist wünschenswert
Wörter zu wählen, die die Texte möglichst start voneinander Unterscheiden. Wörter zu wählen, die die Texte möglichst stark voneinander Unterscheiden.
Der DYCOS-Algorithmus wählt die Top-$m$ dieser Wörter als Vokabular, Der DYCOS-Algorithmus wählt die Top-$m$ dieser Wörter als Vokabular,
wobei $m \in \mathbb{N}$ eine Festzulegende Konstante ist. In \cite[S. 365]{aggarwal2011} wobei $m \in \mathbb{N}$ eine Festzulegende Konstante ist. In \cite[S. 365]{aggarwal2011}
wird der Einfluss von $m \in \Set{5,10, 15,20}$ auf die Klassifikationsgüte wird der Einfluss von $m \in \Set{5,10, 15,20}$ auf die Klassifikationsgüte
untersucht und festegestellt, dass die Klassifikationsgüte mit größerem untersucht und festgestellt, dass die Klassifikationsgüte mit größerem
$m$ sinkt, sie also für $m=5$ für den DBLP-Datensatz am höchsten ist. $m$ sinkt, sie also für $m=5$ für den DBLP-Datensatz am höchsten ist.
Für den CORA-Datensatz wurde mit $m \in \set{3,4,5,6}$ getestet und Für den CORA-Datensatz wurde mit $m \in \set{3,4,5,6}$ getestet und
kein signifikanter Unterschied festgestellt. kein signifikanter Unterschied festgestellt.
@ -17,7 +17,7 @@ Nun kann man manuell eine Liste von zu beachtenden Wörtern erstellen
oder mit Hilfe des Gini-Koeffizienten automatisch ein Vokabular erstellen. oder mit Hilfe des Gini-Koeffizienten automatisch ein Vokabular erstellen.
Der Gini-Koeffizient ist ein statistisches Maß, das die Ungleichverteilung Der Gini-Koeffizient ist ein statistisches Maß, das die Ungleichverteilung
bewertet. Er ist immer im Intervall $[0,1]$, wobei $0$ einer bewertet. Er ist immer im Intervall $[0,1]$, wobei $0$ einer
Gleichverteilung entspricht und $1$ der größt möglichen Ungleichverteilung. Gleichverteilung entspricht und $1$ der größtmöglichen Ungleichverteilung.
Sei nun $n_i(w)$ die Häufigkeit des Wortes $w$ in allen Texten mit Sei nun $n_i(w)$ die Häufigkeit des Wortes $w$ in allen Texten mit
dem $i$-ten Label. dem $i$-ten Label.
@ -47,7 +47,7 @@ von Mengen $M,N$ in $\mathcal{O}(\min{|M|, |N|})$ sein muss.
\State $S_t \gets \Call{Sample}{V_{L,t}}$ \Comment{Wähle eine Teilmenge $S_t \subseteq V_{L,t}$ aus} \State $S_t \gets \Call{Sample}{V_{L,t}}$ \Comment{Wähle eine Teilmenge $S_t \subseteq V_{L,t}$ aus}
\State $\M_t \gets \bigcup_{v \in S_t} \Call{getTextAsSet}{v}$ \Comment{Menge aller Wörter} \State $\M_t \gets \bigcup_{v \in S_t} \Call{getTextAsSet}{v}$ \Comment{Menge aller Wörter}
\State $cLabelWords \gets (|\L_t|+1) \times |\M_t|$-Array, mit 0en initialisert\\ \State $cLabelWords \gets (|\L_t|+1) \times |\M_t|$-Array, mit 0en initialisiert\\
\ForAll{$v \in V_{L,t}$} \Comment{Gehe jeden Text Wort für Wort durch} \ForAll{$v \in V_{L,t}$} \Comment{Gehe jeden Text Wort für Wort durch}
\State $i \gets \Call{getLabel}{v}$ \State $i \gets \Call{getLabel}{v}$
@ -73,5 +73,5 @@ von Mengen $M,N$ in $\mathcal{O}(\min{|M|, |N|})$ sein muss.
\end{algorithm} \end{algorithm}
Die Menge $S_t$ kann durch Aus der Menge aller Dokumenten, deren Die Menge $S_t$ kann durch Aus der Menge aller Dokumenten, deren
Knoten gelabelt sind, mithile des in \cite{Vitter} vorgestellten Knoten gelabelt sind, mithilfe des in \cite{Vitter} vorgestellten
Algorithmus bestimmt werden. Algorithmus bestimmt werden.