RMSE (Mean Squared Error) wird häufig zur Bewertung von Regressionsmodellen für maschinelles Lernen verwendet. Andererseits wird in der Einleitung häufig angegeben, dass RMSE für Ausreißer anfällig ist, aber es gibt Fälle, in denen es verwendet wird, ohne sich darüber Gedanken zu machen. Unterdrücken wir es als Anti-Muster, indem wir denken: "Wie schwach ist es dann?" Wenn Sie zuerst die Schlussfolgerung schreiben ** "Wenn es einen Wert gibt, der zehnmal oder mehr als der Durchschnitt beträgt, müssen Sie bei der Verwendung vorsichtig sein. In diesem Fall ist es besser, den logarithmischen RMSLE zu verwenden" * * *
Nun, wie der Name schon sagt. Der Fehler, dh die Differenz zwischen dem tatsächlichen Wert und dem vorhergesagten Wert, wird quadriert und dann gemittelt, um die Route zu nehmen.
\textrm{RMSE} = \sqrt{\frac{1}{N}\sum_{i=1}^{N}(y_{i}-\hat{y}_{i})^{2}}
Die Formel liegt ziemlich nahe am Abweichungswert, nur die Abweichung wurde zu einem Fehler. Wenn Sie es also gut verwenden, können Sie ein Bild erstellen, das "dieses Modell über so viel Fehler gibt".
** RMSE ** ist beliebt und wird von vielen Menschen verwendet, hat jedoch den Nachteil, dass bei einem Ausreißer der Wert leicht auf den Ausreißer gezogen werden kann **. Ich denke, es gibt viele Leute, die sich nicht darum kümmern. Da nur der Wert als Fehler in die Berechnung einbezogen wird, werden der als ** "10 ist 20" ** vorhergesagte Fehler und der als ** "100 ist 110" ** vorhergesagte Fehler als der gleiche bewertet. Wenn bei der Vorhersage von ** "1.000 bis 900" ** in fast Dutzenden von Daten ein Fehler auftritt, wird dieser als ** nur eine Daten von völlig unterschiedlicher Bedeutung ** behandelt.
import numpy as np
a = np.array([10]*100) #Angenommen, 100 Fehler von 10 werden vorbereitet
print(np.sqrt((a**2).mean())) #RMSE ist natürlich 10
a = np.append(a, [100]*1) #Addiere 100 zu 101
print(np.sqrt((a**2).mean())) #RMSE ist 14.Aufstieg auf 07!
Da es in der Berechnung quadriert wird, ist ein Fehler der 10-fachen Skalierung im Index 100-mal wichtiger. Wenn es den 100-fachen durchschnittlichen Fehler gäbe, wäre seine Bedeutung das 10.000-fache des durchschnittlichen Fehlers oder 10.000 Datensätze. Und da es schwieriger ist, die Ausreißer beim maschinellen Lernen vorherzusagen, wird die Bewertung unweigerlich instabil, wenn es Ausreißer gibt.
Persönlich finde ich ** RMSLE ** oder ** MAE **, die als Verhältnis betrachtet werden können, gut. Ich frage mich, ob das Modell des maschinellen Lernens als ** zuerst, richtig bestellen ** gedacht werden sollte. ** RMSLE ** ist der Logarithmus von RMSE. Sie können es RMSLE machen, indem Sie ein Protokoll von y erstellen. Auf diese Weise denke ich, dass es einfach ist, es als RMSE zu behandeln und es am Ende exp zu machen. ** MAE ** ist der absolute Wert, nicht das Quadrat, wenn gemittelt wird. Dies verhindert, dass der Fehler verstärkt wird, und ist widerstandsfähiger gegen Ausreißer. Es ist jedoch schwierig, beim Training eines Modells einen Verlustkoeffizienten zu verwenden. Wenn Sie ** "Es gibt fast keine Ausreißer" oder "Das Problem ist ein großer Fehler" ** sagen, gibt es natürlich kein Problem bei der Verwendung von RMSE.
In einem kürzlich durchgeführten Wettbewerb verwendete der ProbSpace-Wettbewerb Real Estate Transaction Price Forecast Competition RMSE, und die Daten enthielten mehr als das 100-fache des Durchschnittswerts. Es gab eine große Änderung in der Rangliste. "Themen, die analysieren, wie stark sich RMSE je nach Skalendifferenz ändert" (Anmeldung erforderlich) Bitte sehen Sie, ob Sie interessiert sind. Selbst in einem tatsächlichen Projekt habe ich gesehen, dass "ich RMSE kannte, aber nicht erkannte, ob es für die Modellbewertung geeignet war, wenn ich die Möglichkeit von Ausreißern in Betracht zog."
Zusammenfassend denke ich, dass es nur um ** "Verwenden Sie RMSE nicht, wenn die Möglichkeit besteht, dass Daten mit unterschiedlichen Maßstäben kommen! Verwenden Sie RMSLE!" **. Ich denke, es ist gefährlich, nur RMSE zu sehen, genauso wie nur Genauigkeit in der Klassifizierung. Übrigens fand der oben erwähnte Wettbewerb zur Vorhersage von Immobilienpreisen bei ProbSpace bis zum 11. August 2020 erneut statt ändern Sie den Bewertungsindex in RMSLE. Ich werde. Ich denke, dass es ein empfohlener Wettbewerb für Anfänger ist, da Sie von dem Staat aus teilnehmen können, in dem es eine Lösung für die Person gibt, die das letzte Mal teilgenommen hat. Es tut mir leid, Ihnen ein Beispiel für ein Anti-Muster zu geben, aber ich bin froh, dass Sie es so wieder öffnen können. Wie oben erwähnt, stecken Sie in einer großen Falle, wenn Sie den Bewertungsindex nicht beachten, und im Gegenteil, Sie können ein gutes Ranking im Wettbewerb erzielen, wenn Sie nur vorsichtig sind. Es ist also erwähnenswert.