Ich habe in diesem Semester einen Kurs zum maschinellen Lernen, und der Professor hat uns gebeten, ein reales Problem zu finden und es mit einer der in der Klasse eingeführten Methoden des maschinellen Lernens zu lösen:
- Entscheidungsbäume
- Künstliche neurale Netzwerke
- Support-Vektor-Maschinen
- Instanzbasiertes Lernen ( kNN , LWL )
- Bayesian Networks
- Verstärkung lernen
Ich bin einer der Fans von Stackoverflow und Stackexchange und weiß, dass Datenbank-Dumps dieser Websites der Öffentlichkeit zur Verfügung gestellt werden, weil sie fantastisch sind! Ich hoffe, ich konnte eine gute maschinelle Lernaufgabe für diese Datenbanken finden und lösen.
Meine Idee
Eine Idee, die mir in den Sinn kam, ist die Vorhersage von Tags für Fragen basierend auf den eingegebenen Wörtern im Fragekörper. Ich denke, das Bayesianische Netzwerk ist das richtige Werkzeug, um Tags für eine Frage zu lernen, muss aber genauer untersucht werden. Auf jeden Fall sollten ihm nach der Lernphase, in der der Benutzer die Frage eingegeben hat, einige Tags vorgeschlagen werden.
Bitte sag mir :
Ich möchte der Statistik-Community als erfahrenen Leuten zwei Fragen zu ML stellen:
Denken Sie, dass Tag-Vorschläge zumindest ein Problem sind, das zu lösen ist? Hast du irgendwelche Ratschläge dazu? Ich bin ein wenig besorgt, weil stackexchange eine solche Funktion noch nicht implementiert.
Haben Sie eine andere / bessere Idee für das ML-Projekt, das auf der StackExchange-Datenbank basiert? Ich finde es sehr schwierig, etwas aus StackExchange-Datenbanken zu lernen .
Überlegungen zu Datenbankfehlern: Ich möchte darauf hinweisen, dass die Datenbanken zwar riesig sind und viele Instanzen aufweisen, aber nicht perfekt und fehleranfällig sind. Das offensichtliche ist das Alter der Benutzer, das unzuverlässig ist. Selbst ausgewählte Tags für die Frage sind nicht 100% korrekt. Wie auch immer, wir sollten den Prozentsatz der Richtigkeit der Daten bei der Auswahl eines Problems berücksichtigen.
Überlegungen zum Problem selbst: Mein Projekt sollte sich nicht darum handeln data-mining
oder so ähnlich. Es sollte nur eine Anwendung von ML-Methoden in der realen Welt sein.
quelle
Ich habe auch über die Tag-Vorhersage nachgedacht, die Idee gefällt mir. Ich habe das Gefühl, dass es möglich ist, aber Sie müssen möglicherweise viele Probleme überwinden, bevor Sie zu Ihrem endgültigen Datensatz gelangen. Daher spekuliere ich, dass die Tag-Vorhersage möglicherweise viel Zeit in Anspruch nimmt. Neben falschen Tags kann auch das Limit von maximal 5 Tags eine Rolle spielen. Außerdem, dass einige Tags Unterkategorien von anderen sind (z. B. können "Mehrfachvergleiche" als Unterkategorie von "Signifikanztests" angesehen werden).
Ich habe nicht überprüft, ob in der herunterladbaren Datenbank Abstimmungszeiten enthalten sind, aber ein einfacheres und immer noch interessanteres Projekt könnte darin bestehen, die „endgültige“ Anzahl von Stimmen (möglicherweise nach 5 Monaten) auf einer Frage in Abhängigkeit von den Anfangsstimmen vorherzusagen. und den Zeitpunkt der Annahme einer Antwort.
quelle
Das ist eine gute Frage. Ich habe auch gedacht, dass die öffentlich verfügbaren StackExchange-Datasets gute Themen für die Analyse sind. Diese sind so ungewöhnlich, dass sie auch gute Testbedingungen für neue statistische Methoden sein könnten. Eine so große Menge gut strukturierter Daten zu haben, ist auf jeden Fall ungewöhnlich.
Kardinal schlug eine Reihe von Dingen vor, die für StackExchange tatsächlich nützlich wären. Ich werde mich nicht darauf beschränken.
Hier ist ein offensichtlicher Kandidat für die Analyse, obwohl ihm keine offensichtliche Verwendung in den Sinn kommt. Es ist ein bemerkenswerter Effekt, dass Benutzer mit hohen Wiederholungszahlen eher positive Bewertungen erhalten, wenn andere Dinge gleich sind. Dieser Effekt ist jedoch wahrscheinlich nicht einfach zu modellieren. Da es nicht einfach ist, die Nützlichkeit zwischen Benutzern zu vergleichen, ist es naheliegend, anzunehmen, dass die Antworten eines Benutzers immer gleich nützlich sind (im Allgemeinen nicht wahr, aber man muss irgendwo anfangen) und dann einen inflationären Ausdruck hinzuzufügen, um seine zunehmende Reputation zu erklären . Man könnte dann (ich nehme an) in einigen Begriffen hinzufügen, dass seine Antworten mit zunehmender Erfahrung besser würden. Vielleicht könnte dies durch eine Art Zeitreihe gehandhabt werden. Ich bin nicht sicher, wie sich das Datenintervall darauf auswirken würde. Es könnte eine interessante Übung sein.
Ich werde weitere Beispiele hinzufügen, wenn ich an sie denke.
Kennt jemand statistische Forschungsberichte, die auf SE-Daten basieren? Auch Isaac erwähnt , dass die Datenfehler hat. Weiß jemand mehr darüber?
quelle