Video: Machine Learning #36 - Der EM-Algorithmus 2024
Nicht überwachtes Lernen hat viele Herausforderungen für die vorausschauende Analyse - einschließlich der Ungewissheit, was Sie erwarten können, wenn Sie einen Algorithmus ausführen. Jeder Algorithmus wird zu unterschiedlichen Ergebnissen führen. Sie werden nie sicher sein, ob ein Ergebnis besser ist als das andere - oder ob das Ergebnis einen Wert hat.
Wenn Sie wissen, wie die Ergebnisse aussehen sollen, können Sie die Algorithmen optimieren, um die gewünschten Ergebnisse zu erzielen. In realen Datensätzen haben Sie diesen Luxus nicht. Sie müssen sich auf einige Vorkenntnisse der Daten - oder Intuition - verlassen, um zu entscheiden, welche Initialisierungsparameter und Algorithmen beim Erstellen Ihres Modells verwendet werden sollen.
Bei echten unbeaufsichtigten Lernaufgaben ist dieses Vorwissen jedoch nicht verfügbar und das gewünschte Ergebnis ist schwer zu finden. Die Auswahl der richtigen Anzahl von Clustern ist das Hauptproblem. Wenn Sie zufällig auf die richtige Anzahl von Clustern stoßen, werden Ihre Daten Erkenntnisse liefern, die Sie sehr präzise vorhersagen können. Auf der anderen Seite kann das Erraten der falschen Anzahl von Clustern zu untergeordneten Ergebnissen führen.
Der K-Means-Algorithmus ist eine gute Wahl für Datensätze mit einer kleinen Anzahl von Clustern mit proportionalen Größen und linear separierbaren Daten - und Sie können ihn skalieren, um den Algorithmus für sehr große Datensätze zu verwenden.
Stellen Sie sich linear trennbare Daten als ein Bündel von Punkten in einem Graphen vor, das durch eine gerade Linie getrennt werden kann. Wenn die Daten nicht linear trennbar sind, müssen weiterentwickelte Versionen von K-Mitteln verwendet werden - was sich rechnerisch verteuert und möglicherweise nicht für sehr große Datensätze geeignet ist. In der Standardimplementierung ist die Komplexität zur Berechnung der Clusterzentren und Entfernungen gering.
K-means wird häufig eingesetzt, um Big-Data-Probleme zu lösen, da es einfach zu verwenden, effektiv und hochgradig skalierbar ist. Kein Wunder, dass die meisten kommerziellen Anbieter den K-Means-Algorithmus als Schlüsselkomponente ihrer Predictive-Analytics-Pakete verwenden.
Die Implementierung von DBSCAN (dichtebasierte räumliche Clusterbildung von Anwendungen mit Rauschen) in scikit-learn erfordert keine benutzerdefinierten Initialisierungsparameter zum Erstellen einer Instanz. Sie können die Standardparameter bei der Initialisierung überschreiben, wenn Sie möchten. Wenn Sie die Standardparameter verwenden, kann der Algorithmus leider keine enge Übereinstimmung mit dem gewünschten Ergebnis bieten.
DBSCAN eignet sich besser für Datensätze mit unproportionalen Clustergrößen, deren Daten nichtlinear getrennt werden können.Wie K-Mittel ist auch DBSCAN skalierbar, aber die Verwendung in sehr großen Datenmengen erfordert mehr Speicher und Rechenleistung.