Entscheidungsbäume vs. Neuronale Netze


20

Ich implementiere eine maschinelle Lernstruktur, um Betrug in Finanzsystemen wie Banken usw. vorherzusagen. Dies bedeutet, dass es viele verschiedene Daten gibt, die zum Trainieren des Modells verwendet werden können, z. Kartennummer, Name des Karteninhabers, Betrag, Land usw.

Ich habe Probleme bei der Entscheidung, welche Struktur für dieses Problem am besten geeignet ist. Ich habe einige Erfahrung mit Entscheidungsbäumen, aber derzeit habe ich angefangen zu fragen, ob ein neuronales Netzwerk für diese Art von Problem besser wäre. Auch wenn eine andere Methode am besten wäre, zögern Sie nicht, mich aufzuklären.

Welches sind die Vor- und Nachteile jeder Struktur und welche Struktur wäre für dieses Problem am besten geeignet?

Ich bin mir auch nicht sicher, aber ich denke, Entscheidungsbäume haben einen großen Vorteil gegenüber neuronalen Netzen in Bezug auf die Ausführungsgeschwindigkeit. Dies ist wichtig, da Geschwindigkeit auch in diesem Projekt ein Schlüsselfaktor ist.

Antworten:


24

Es gibt viele Unterschiede zwischen diesen beiden, aber in der Praxis sind drei Hauptaspekte zu berücksichtigen: Geschwindigkeit, Interpretierbarkeit und Genauigkeit.

Entscheidungsbäume

  • Sollte nach dem Training schneller sein (obwohl beide Algorithmen abhängig vom genauen Algorithmus und der Menge / Dimension der Daten langsam trainieren können). Dies liegt daran, dass ein Entscheidungsbaum die Eingabemerkmale "wegwirft", die er nicht als nützlich erachtet, während ein neuronales Netz sie alle verwendet, es sei denn, Sie führen eine Merkmalsauswahl als Vorverarbeitungsschritt durch.
  • Wenn es wichtig ist zu verstehen, was das Modell tut, sind die Bäume sehr interpretierbar.
  • Nur Modellfunktionen, die achsparallele Teilungen der Daten sind, was möglicherweise nicht der Fall ist.
  • Sie möchten wahrscheinlich sicher sein, den Baum zu beschneiden , um eine Überanpassung zu vermeiden.

Neuronale Netze

  • Langsamer (sowohl für das Training als auch für die Einstufung) und weniger interpretierbar.
  • Wenn Ihre Daten in einem Stream eingehen, können Sie inkrementelle Aktualisierungen mit stochastischem Gradientenabstieg durchführen (im Gegensatz zu Entscheidungsbäumen, die inhärent Batch-Learning-Algorithmen verwenden).
  • Kann willkürlichere Funktionen (nichtlineare Interaktionen usw.) modellieren und ist daher möglicherweise genauer, sofern genügend Trainingsdaten vorhanden sind. Es kann aber auch zu Überanpassung neigen.

Möglicherweise möchten Sie beide implementieren und einige Experimente mit Ihren Daten durchführen, um festzustellen, welche besser sind und um die Laufzeit zu bestimmen. Sie können auch die Weka- Benutzeroberfläche mit einer repräsentativen Auswahl Ihrer Daten verwenden, um beide Methoden zu testen.

Es kann auch sein, dass die Verwendung von "Bagging" - oder "Boosting" -Algorithmen mit Entscheidungsbäumen die Genauigkeit verbessert, während eine gewisse Einfachheit und Geschwindigkeit beibehalten wird. Aber kurz gesagt, wenn Geschwindigkeit und Interpretierbarkeit wirklich wichtig sind, sind Bäume wahrscheinlich der Ausgangspunkt. Ansonsten hängt es davon ab, und Sie müssen einige empirische Untersuchungen durchführen.


Sie scheinen ein wenig darüber Bescheid zu wissen. Haben Sie Erfahrung mit Bayes'schen Netzwerken oder anderen Methoden des maschinellen Lernens, die bei diesem Problem hilfreich sein könnten?
Topo

1
Ich habe nicht viel mit vollen Bayes'schen Netzwerken gemacht, hauptsächlich naiven Bayes und Themenmodellen. Ich habe noch nie an Betrugserkennungsproblemen gearbeitet, aber naive Bayes oder logistische Regressionen könnten auch hier vernünftige Ansätze sein.
Grat
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.