2016-05-23 7 views
0

Ich habe ein paar Millionen Entitäten mit 1 bis 10 Attribute beschreiben jeweils von ihnen und etwa einhunderttausend Klassen, um sie zu sortieren.Machine Learning Multiclass-Klassifizierung für Tausende von Klassen

Gibt es Machine Learning-Algorithmen (idealerweise verfügbar auf SQL Server, Azure oder als .NET-Bibliothek) oder eigenständige Tools für eine massive Multiclass-Klassifizierung, die die besten Klassen für die einzelnen Entitäten vorschlagen?

Ich habe diese Forschung in den Zeilen gefunden: Learning compact class codes for fast inference in large multi class classification, konnte aber keine Implementierungen finden.

Im Moment habe ich eine Art K-nearest neighbours basierend auf Full-Text Search mit ein paar anderen Dimensionen mit jeweils 1/3 gewichtet, um die Ergebnisse zu verbessern. Ich suche nach Wegen, um sowohl die Leistung als auch die Genauigkeit zu verbessern.

+0

Für diejenigen, die die Frage als off-topic ablehnen: ** Ich glaube, dass in der Welt des maschinellen Lernens eine Diskussion der Algorithmeneignung für ein bestimmtes Szenario nicht mehr meineidig ist als eine Diskussion über [Wie kann ich überprüfen? Wenn eine Zeichenfolge eine andere Teilzeichenfolge enthält?] (http://stackoverflow.com/questions/1789945/how-can-i-check-if-one-string-contains-another-substring) in JavaScript. ** –

Antwort

1

Haben Sie versucht Ensemble Lernen? Es geht darum, mehrere "schwache" Klassifikatoren zu bilden und einen Konsens durch Mehrheitsentscheidungen zu finden. Der Hauptvorteil besteht darin, dass Sie Stichproben Ihres Datensatzes nach dem Zufallsprinzip auswählen können und jeder Klassifizierer von verschiedenen Mengen lernen kann. Sie können auch versuchen, Deep Learning mit Convolutional Neuronale Netze implementiert mit TensorFlow oder Theano (ich würde die letzte empfehlen). Wenn Sie eine GPU haben, können Sie die Verarbeitungsfähigkeit nutzen, um den Trainingsschritt zu verbessern. Dieser Code hier https://github.com/attardi/CNN_sentence verwendet GPU-Verarbeitung, Theano-Bibliothek und Multi-Class-Klassifizierung (für NLP-Anwendungen), aber es ist nicht in C# wie Sie gefragt.

+0

Vielen Dank für der Link. Es war interessant zu lesen. Es scheint sich um die Leistung und Genauigkeit zu kümmern, obwohl ich nicht sicher bin, ob es Tausende von Zielklassen bewältigen kann. Wie auch immer, einen Versuch wert. –

+0

Ich habe das Ensemble-Lernen noch nicht ausprobiert, weil ich bisher nur das Azure Machine Learning getestet habe und keinen einzigen geeigneten Algorithmus finden konnte. Es kann sein, dass ich eine Art von R-Verarbeitung auf die Ergebnisse anwenden sollte, aber das habe ich noch nicht untersucht. –

Verwandte Themen