mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-26 06:48:04 +02:00
Fehler korrigiert; Verlinkung mit cleveref verbessert
This commit is contained in:
parent
3d8855c84e
commit
e03e13a284
8 changed files with 165 additions and 150 deletions
|
@ -3,9 +3,9 @@ DYCOS (\underline{DY}namic \underline{C}lassification
|
|||
algorithm with c\underline{O}ntent and \underline{S}tructure) ist ein
|
||||
Knotenklassifizierungsalgorithmus, der Ursprünglich in \cite{aggarwal2011} vorgestellt
|
||||
wurde. Er klassifiziert Knoten, indem mehrfach Random Walks startend
|
||||
bei dem zu klassifizierenden Knoten gemacht werden und die Labels
|
||||
bei dem zu klassifizierenden Knoten $v$ gemacht werden und die Labels
|
||||
der besuchten Knoten gezählt werden. Das Label, das am häufigsten
|
||||
vorgekommen ist, wird als Label gewählt.
|
||||
vorgekommen ist, wird als Label für $v$ gewählt.
|
||||
DYCOS nutzt also die sog. Homophilie, d.~h. die Eigenschaft, dass
|
||||
Knoten, die nur wenige Hops von einander entfernt sind, häufig auch
|
||||
ähnlich sind \cite{bhagat}.
|
||||
|
@ -17,7 +17,7 @@ stehenden Texte.
|
|||
Für diese Erweiterung wird zuerst wird Vokabular $W_t$ bestimmt, das
|
||||
charakteristisch für eine Knotengruppe ist. Wie das gemacht werden kann
|
||||
und warum nicht einfach jedes Wort in das Vokabular aufgenommen wird,
|
||||
wird in Abschnitt~\ref{sec:vokabularbestimmung} erläutert.\\
|
||||
wird in \cref{sec:vokabularbestimmung} erläutert.\\
|
||||
Nach der Bestimmung des Vokabulars wird für
|
||||
jedes Wort im Vokabular ein Wortknoten zum Graphen hinzugefügt. Alle
|
||||
Knoten, die der Graph zuvor hatte, werden nun \enquote{Strukturknoten}
|
||||
|
@ -53,17 +53,21 @@ tatsächlich die Grapherweiterung:
|
|||
|
||||
Dann heißt das zufällige wechseln des aktuell betrachteten
|
||||
Knoten $v \in V_t$ zu einem benachbartem Knoten $w \in W_t$
|
||||
und weiter zu Nachbar von $v' \in V_t$ von $w$
|
||||
ein \textbf{inhaltlicher Mehrfachsprung}. $v'$ ist also genau
|
||||
einen Sprung über einen Wortknoten $w$ von $v$ entfernt.
|
||||
und weiter zu einem zufälligem Nachbar $v' \in V_t$ von $w$
|
||||
ein \textbf{inhaltlicher Mehrfachsprung}.
|
||||
\end{definition}
|
||||
|
||||
Jeder inhaltliche Mehrfachsprung beginnt und endet also in einem Strukturknoten,
|
||||
springt über einen Wortknoten und ist ein Pfad der Länge~2.
|
||||
|
||||
Bevor der DYCOS-Algorithmus im Detail erklärt wird, sei noch auf eine
|
||||
Besonderheit hingewiesen:
|
||||
Der DYCOS-Algorithmus betrachtet die Texte, die einem Knoten
|
||||
zugeornet sind, als eine
|
||||
Multimenge von Wörtern. Das heißt, zum einen wird nicht auf die
|
||||
Reihenfolge der Wörter geachtet, zum anderen wird bei Texten
|
||||
eines Knotens nicht zwischen verschiedenen Texten unterschieden.
|
||||
Jedoch wird die Anzahl der Vorkommen jedes Wortes berücksichtigt.
|
||||
zugeornet sind, als eine Multimenge von Wörtern. Das heißt, zum einen
|
||||
wird nicht auf die Reihenfolge der Wörter geachtet, zum anderen wird
|
||||
bei Texten eines Knotens nicht zwischen verschiedenen
|
||||
Texten unterschieden. Jedoch wird die Anzahl der Vorkommen
|
||||
jedes Wortes berücksichtigt.
|
||||
|
||||
\subsection{Datenstrukturen}
|
||||
Zusätzlich zu dem gerichteten Graphen $G_t = (V_t, E_t, V_{L,t})$
|
||||
|
@ -94,27 +98,32 @@ verwaltet der DYCOS-Algorithmus zwei weitere Datenstrukturen:
|
|||
\subsection{Der Algorithmus}
|
||||
Der DYCOS-Algorithmus verwendet nun für jeden Knoten der gelabelt wird
|
||||
$r$ Random Walks der Länge $l$, wobei mit einer Wahrscheinlichkeit
|
||||
$p_S$ ein struktureller $l$-Sprung und mit einer Wahrscheinlichkeit
|
||||
von $(1-p_S)$ ein inhaltlicher $l$-Mehrfachsprung gemacht wird.
|
||||
$p_S$ ein struktureller Sprung und mit einer Wahrscheinlichkeit
|
||||
von $(1-p_S)$ ein inhaltlicher Mehrfachsprung gemacht wird. Dieser
|
||||
Parameter gibt an, wie wichtig die Struktur des Graphen im Verhältnis
|
||||
zu den textuellen Inhalten ist. Bei $p_S = 0$ werden ausschließlich
|
||||
die Texte betrachtet, bei $p_S = 1$ ausschließlich die Struktur des
|
||||
Graphen.
|
||||
|
||||
Die Vokabularbestimmung kann zu jedem Zeitpunkt $t$ durchgeführt
|
||||
werden, muss es aber nicht.
|
||||
|
||||
Im Folgenden werde ich den DYCOS-Algorithmus als Pseudocode vorstellen.
|
||||
Dafür benötigt man die beiden Hilfsfunktionen für den strukturellen
|
||||
Sprung sowie den inhaltlichen Mehrfachsprung:
|
||||
In \cref{alg:DYCOS} wurde der DYCOS-Algorithmus als
|
||||
Pseudocode vorgestellt. Dafür werden die beiden Hilfsfunktionen
|
||||
für den strukturellen Sprung sowie den inhaltlichen Mehrfachsprung
|
||||
benötigt.
|
||||
|
||||
\begin{algorithm}[H]
|
||||
\begin{algorithm}
|
||||
\begin{algorithmic}[1]
|
||||
\Require \\$\G_t = (\N_t, \A_t, \T_t)$ (Netzwerk),\\
|
||||
\Require \\$G_t = (V_t, E_t, V_{L,t})$ (Netzwerk),\\
|
||||
$r$ (Anzahl der Random Walks),\\
|
||||
$l$ (Länge eines Random Walks),\\
|
||||
$p_s$ (Wahrscheinlichkeit eines strukturellen Sprungs),\\
|
||||
$q$ (Anzahl der betrachteten Knoten nach der Aggregatanalyse)
|
||||
\Ensure Klassifikation von $\N_t \setminus \T_t$\\
|
||||
$q$ (Anzahl der betrachteten Knoten in der Clusteranalyse)
|
||||
\Ensure Klassifikation von $V_t \setminus V_{L,t}$\\
|
||||
\\
|
||||
|
||||
\ForAll{Knoten $v$ in $\N_t \setminus \T_t$}
|
||||
\ForAll{Knoten $v$ in $V_t \setminus V_{L,t}$}
|
||||
\State $d \gets $ defaultdict
|
||||
\For{$i$ von $1$ bis $r$}
|
||||
\State $w \gets v$
|
||||
|
@ -140,7 +149,7 @@ Sprung sowie den inhaltlichen Mehrfachsprung:
|
|||
\State $label \gets \Call{Random}{M_H}$
|
||||
\State $v.\Call{AddLabel}{label}$ \Comment{und weise dieses $v$ zu}
|
||||
\EndFor
|
||||
\State \Return Labels für $\N_t \setminus \T_t$
|
||||
\State \Return Labels für $V_t \setminus V_{L,t}$
|
||||
\end{algorithmic}
|
||||
\caption{DYCOS-Algorithmus}
|
||||
\label{alg:DYCOS}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue