Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Approximative Verfahren zur Evaluation von Bedingungen #226

Closed
34 tasks done
mrapp-ke opened this issue Sep 1, 2020 · 0 comments · Fixed by #414
Closed
34 tasks done

Approximative Verfahren zur Evaluation von Bedingungen #226

mrapp-ke opened this issue Sep 1, 2020 · 0 comments · Fixed by #414
Labels
approximate conditions Affects the approximate condition finding algorithm boosting Affects the subproject "boosting" enhancement New feature or request seco Affects the subproject "seco"

Comments

@mrapp-ke
Copy link
Owner

mrapp-ke commented Sep 1, 2020

Ziel ist es, approximative Verfahren zur Evaluation der Bedingungen, die zu einer Regel hinzugefügt werden können, verwenden zu können. Dabei werden statt jeder möglichen Bedingung nur eine bestimmte Untermenge dieser Bedingungen getestet. Die Auswahl der relevanten Bedingungen, bzw. der Thresholds, die diese verwenden, resultiert von einer Einteilung der Trainingsbeispiele in sogenannte "Bins". Die Statistiken (z.B. Gradienten und Hessians) der Trainingsbeispiele innerhalb jedes Bins werden jeweils aggregiert um ein sogenanntes Histogramm zu erhalten. Die Einteilung der Beispiele in die Bins kann mit Hilfe eines der folgenden Binning-Verfahren erfolgen.

Unsupervised:

Methoden, die keine Informationen über die Ground-Truth Labels, bzw. übeer die aktuellen Vorhersagen des Modells für die diese Labels, berücksichtigen. Da die zu verwendenden Thresholds lediglich von den Feature-Werten der Trainingsbeispiele abhängen, bleiben die möglichen Bedingungen während des kompletten Trainings die selben.

  • Equal-Width
  • Equal-Frequency

Supervised:

Methoden, die Informationen über die Ground-Truth-Labels, bzw. über die aktuellen Vorhersagen für diese Labels, berücksichtigen. Da die Vorhersagen sich ändern sobald eine neue Regel zum Modell hinzugefügt wurde, ändern sich auch die möglichen Bedingungen in jeder Trainingsiteration.

  • Weighted Quantile Sketch

Um die Unterstützung solcher approximativer Verfahren vollständig umzusetzen, müssen eine Reihe von Voraussetzungen geschaffen werden. Es bietet sich an, die Implementierung schrittweise umzusetzen.

Das korrekte Zusammenspiel der approximativen Verfahren mit einigen der bestehenden Funktionen des Algorithmus erfordern außerdem zusätzlichen Aufwand. Um diesen anfangs zu vermeiden sollte der Algorithmus so konfiguriert werden, dass die Verwendung von sparsen Feature-Matrizen und das Sampling von Trainingsbeispielen deaktiviert wird. Das ist über die folgenden Konfigurationsparameter möglich:

--instance-sub-sampling
None
--feature-format
dense

Schritt 1: Unsupervised-Methoden implementieren (siehe #227)

  • Abstrakte Basisklasse für alle Methoden hinzufügen
  • Equal-Width-Methode implementieren
  • Equal-Frequency-Methode implementieren

Schritt 2: Lernen einer einzigen Bedingung

Die Integration in den Regellernalgorithmus erfordert einige Anpassungen des bestehenden Codes. Um diese Anpassungen schrittweise durchführen zu können, sollte es zunächst das Ziel sein eine der oben genannten approximativen Methoden verwenden zu können um eine einzelne Regel mit einer einzelnen Bedingung zu lernen. Um den Algorithmus so zu konfiguren, dass nur die Default-Rule, sowie eine weitere Regel mit exakt einer Bedingung gelernt wird, müssen die folgenden Parameter gesetzt werden:

--max-rules
2
--max-conditions
1

Schritt 3: Lernen einer kompletten Regel

Schritt 4: Lernen beliebig vieler Regeln

Schritt 5: Weighted Quantile Sketch

Out of scope

Weitere offene Punkte

Weitere optionale Punkte

@mrapp-ke mrapp-ke added enhancement New feature or request boosting Affects the subproject "boosting" seco Affects the subproject "seco" labels Sep 1, 2020
@mrapp-ke mrapp-ke added the approximate conditions Affects the approximate condition finding algorithm label Sep 7, 2020
@mrapp-ke mrapp-ke linked a pull request Mar 1, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approximate conditions Affects the approximate condition finding algorithm boosting Affects the subproject "boosting" enhancement New feature or request seco Affects the subproject "seco"
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants