Cluster Modularity
Hilft dir meine Webseite weiter? Falls du dieses Projekt unterstützen möchtest, kannst du mir gerne einen Kaffee an paypal.me/markusbilz spenden. Danke.️
❤
Sie arbeiten für das Unternehmen Letfix, das Videostreaming von Serien und Kinofilmen anbietet. Letfix möchte einen Recommenderdienst basierend auf Modularity Clustering anbieten, indem Filme aus demselben Cluster empfohlen werden. Im Folgenden finden Sie eine Matrix, wie oft ein Film
zusammen mit einem anderen Film
angesehen wurde (der Einfachkeit halber hier mit kleinen Zahlen):
Gegeben seien die
F: Berechnen Sie die Modularity der Cluster
und
. Keine Punkte ohne Rechenweg!
Clustering 1
Clustering 2
F: Begründen Sie: Für welche der beiden Cluster C1 oder C2 entscheiden Sie sich?
A:
- Man sollte sich für das erste Clustering entscheiden.
- Modularity ist ein Maß für die Qualität eines Clusterings. GrößereModularity ist besser. Das zweite Clustering ist ein Hinweis darauf,dass die Cluster aus sg. Singelton-Clustern besteht. D. h. Clusteraus genau einem Knoten und es bestehen nur Inter-Cluster Kanten.
F: Was müssten Sie tun, um mit Sicherheit die global optimale Clusterung zu ermitteln? Hinweis: Beschreiben Sie nur das dafür notwendige Vorgehen, Sie sollen nicht rechnen!
A:
- Man müsste für alle möglichen Clusterings die Modularity berechnen. Die Clusterverteilung mit der höchsten Modularity wird dann gewählt.
- Mögliche algorithmische Ansätze sind Plain Greedy, Randomized Greedy oder Core Groups Graph Clustering Algorithmen.
F: Was müssten Sie tun, wenn nicht nur auf einem Merkmal (hier: wie oft zusammen gesehen?), sondern auf n Merkmalen Empfehlungen erzeugen wollten?
A:
- Man könnte für jedes Merkmal einen eigenen Graphen erzeugen.
- Merkmale sind in verschiedenen Graphen dargestellt → Cluster werdenunabhängig voneinander in jedem Graphen gefunden.
- Für Empfehlungen müssen dann Überschneidungen der Cluster betrachtetwerden.
Im Gegensatz zu Amazooon setzt der Konkurrent Letfix auf Recommender mit Modularity Clustering als Verfahren. Hierbei werden Filme und Serien aus demselben Cluster empfohlen. Im Folgenden finden Sie eine Matrix, wie oft ein Film
zusammen mit einem anderen Film
angesehen wurde.
Gegeben seien die Cluster
und
.
F: Berechnen Sie die Modularity der Cluster
und
A:
Skizze:
.png?alt=media)
(Eigene Darstellung)
Variante 1:
Variante 2:
F: Begründen Sie: Für welche der beiden Cluster
oder
entscheiden Sie sich?
- Grundsätzlich gilt je größer die Modularity, desto zusammenhängenderdas Cluster. Es sollte damit Clustering 1 gewählt werden.
F: Was müssten Sie tun, um mit Sicherheit die global optimale Clusterings zu ermitteln? Hinweis: Beschreiben Sie nur das dafür notwendige Verfahren. Sie sollen nicht rechnen!
Siehe oben.
F: Was müssten Sie tun, wenn nicht nur auf einem Merkmal (hier: wie oft zusammen gesehen?), sondern auf
Merkmalen Empfehlungen erzeugen wollten?
Siehe oben.
F: Gegeben sei folgende folgender Graph in Matrixdarstellung. Jeder Knoten repräsentiert eine Person. Die Kantengewichte geben an, wie oft Person
mit Person
per e-Mail kommuniziert hat.
F: Zeichnen Sie den gewichteten Kommunikationsgraphen!
A:
Kommunikationsgraph (Eigene Darstellung)
F: Berechnen Sie die Modularität für jeden Knoten.
A:
F: Berechnen Sie für jeden Knoten die Änderung der Modularität, wenn er mit einem seiner Nachbarn in ein Cluster gruppiert wird (für alle möglichen Nachbarn).
A:
Betrachtet man Graphen (siehe vorherige Teilaufgabe), so lässt sich D mit E zu einem cluster gruppieren, E mit B, B mit C, B mit A und A mit C. Damit ergibt sich Folgendes:
Veränderung der Modularity gegeben durch:
Damit ergibt sich:
F: Wie ändert sich die Modularität, wenn nicht benachbarte Knoten gemeinsam in ein Cluster gruppiert werden?
A: Es ist zu sehen, dass die Änderung der Modularity zweier nicht benachbarter/verbundener Knoten negativ ist und die Modularity abnimmt (z. B. Modularity(A,D), die im Graph nicht benachbart sind). Die Modularity verschlechtert sich, da hier aus Community-Sicht vermutlich nicht zusammengehörige Knoten in ein Cluster gruppiert werden.
Exemplarisch gezeigt für A, D:
F: Beschreiben Sie den Randomized Greedy Cluster Algorithmus im Pseudocode.
A:

Randomized Greedy Cluster Algorithmus (Ovelgönne and Geyer-Schulz 2010 S. 1.206)
F: Das Modularity-Maß für die Partition der Knoten eines Graphen in c Cluster lautet:
F: Welche Interpretation hat
und wie wird
aus der Adjazenzmatrix eines Graphen berechnet?
- : Wahrscheinlichkeit, dass zufällige KanteClusterverbindet
- : Wahrscheinlichkeit eine Kante im Clusterzuwählen (bzw. der Anteil der Kanten im Cluster)
F: Welche Interpretation hat
und wie wird
berechnet?
A:
: Erwarteter Anteil an Kanten für einen zufälligen Graphen mit gleichem Knotengrad aller Knoten.
F: Warum ist das Modularity-Maß als Clusterkriterium geeignet?
A:
- Modularityist ein globales Maß für Güte einer Partitionierungeines Graphen
- Modularity: Summe der Abweichungen der tatsächlichen inneren Dichtejeden Clusters vom Null-Modell
- Abweichung groß: Knoten nicht unabhängig voneinander → lässt aufCommunity-Struktur schließen
F: Modularity Clustering hat den Vorteil, dass im Gegensatz zu anderen Clusterverfahren die richtige Anzahl von Clustern automatisch gefunden wird. Wie beurteilen Sie diese Aussage?
A: Grundsätzlich lässt durch Maximierung der Modularity die optimale Anzahl der Cluster finden. Es handelt sich aber um NP-Schweres Optimierungsproblem. Die Anzahl der kombinatorischen Möglichkeiten Cluster zu bilden, steigt schneller als exponentiell in der Anzahl Knoten
. Praktisch stellt es also für sehr große Graphen ein Problem dar
zu maximieren. Sinnvollerweise werden weniger rechenintensive Algorithmen wie Randomized Greedy benutzt. Eine Garantie, dass es sich tatsächlich um das Beste Clustering handelt, hat man dann aber nicht. (Geyer-Schulz 2017 S. 54)
F: Beschreiben Sie kurz eine Anwendung von Modularity-Clustering im Bereich von Empfehlungsdiensten!
A:
In Bibliothek wird ein Recommenderdienst eingesetzt. Er erlaubt es, Nutzer Vorschläge zu seiner aktuellen Suche zu machen. Verlinkungen zwischen Literatur, welche bei der Suche vorgeschlagen wird, lassen sich als Graph darstellen. Clustert man diesen Graphen nun hierarchisch, so kann man verschiedene Detailstufen und damit unterschiedliche Größen von Clustern erreichen. Zur Charakterisierung eines Clusters (bzw. einer Obermenge) wird Tag-Cloud aus den Titeln der Literatur erzeugt. (Geyer-Schulz 2017 S. 45)
Geyer-Schulz, Andreas. 2017. “Cluster-Analyse.”
Ovelgönne, M., and A. Geyer-Schulz. 2010. “Cluster Cores and Modularity Maximization.” In 2010 IEEE International Conference on Data Mining Workshops, 1204–13. https://doi.org/10.1109/ICDMW.2010.63.
Last modified 4mo ago