Как вы интерпретируете RMSLE (среднеквадратичная логарифмическая ошибка)?


29

Я принимал участие в конкурсе по машинному обучению, где они использовали RMSLE (среднеквадратичная логарифмическая ошибка) для оценки производительности, прогнозирующей цену продажи категории оборудования. Проблема в том, что я не уверен, как интерпретировать успех моего конечного результата.

Например , если я достиг RMSLE из я мог поднять его экспоненциальную мощность и интерпретировать его как RMSE? (т.е. )?e e 1,052 = 2,863 = R M S E1.052eе1,052знак равно2,863знак равнорMSЕ

Могу ли я тогда сказать, что мои прогнозы в среднем составляли от фактических цен? Или есть лучший способ интерпретации метрики? Или метрика вообще может быть интерпретирована, за исключением сравнения с другими RMSLE других моделей? ±$2,863


С моими ограниченными знаниями, это: 1. убрать гетероскедастичность 2. решить проблему разных измерений

Ответы:


26

Я не видел RMSLE раньше, но я предполагаю, что это .1NΣязнак равно1N(журнал(Икся)-журнал(Yя))2

Таким образом, возведение в степень это не даст вам RMSE, это даст вам

.е1NΣязнак равно1N(журнал(Икся)-журнал(Yя))21NΣязнак равно1N(Икся-Yя)2

Если мы возьмем журнал с обеих сторон, мы получим RMSLE против , что явно не одно и то же.12журнал(1NΣязнак равно1N(Икся-Yя)2)

К сожалению, нет хороших легких отношений в целом (хотя кто-то умнее меня / думая об этом сложнее, чем я, возможно, мог бы использовать неравенство Дженсена, чтобы выяснить некоторые отношения между ними).

Это, конечно, RMSE логарифмически изменяемой переменной, чего бы это ни стоило. Если вы хотите получить приблизительное представление о разбросе распределения, вместо этого вы можете получить приблизительное представление о разбросе их логарифма, так что RMSLE, равное 1,052, означает, что «среднее» в раза больше истинного значения, или 1 / 2,86. Конечно, это не совсем то, что означает RMSE ....2,86


Привет, @Dougal, спасибо! это определенно помогает прояснить ситуацию.
Опус

18

Я не знаю, есть ли прямая общая интерпретация, даже анализируя конкретный случай.

Например, вам может быть интересно оценить, что будет ошибкой, если вы прогнозируете все случаи со средним значением и сравниваете его с вашим подходом.

В любом случае, я считаю, что RMSLE обычно используется, когда вы не хотите наказывать огромные различия в прогнозируемых и истинных значениях, когда и прогнозируемые, и истинные значения являются огромными числами. В этих случаях имеют значение только процентные различия, так как вы можете переписать

журналпя+1-журналAя+1знак равножурналпя+1Aя+1

Например, для P = 1000 и A = 500 вы получите примерно ту же ошибку, что и для P = 100000 и A = 50000.


1

Насколько я понимаю, когда мы делаем логарифм как по прогнозам, так и по фактическим числам, мы получим гораздо более гладкие результаты, чем исходные. И уменьшите влияние большего x, подчеркнув меньший x дляжурналИкс+1,

Также вы получите интуитивное впечатление, нарисовав простой график Yзнак равножурналИкс+1,


1

Существует косвенный способ измерения производительности функции потерь с точки зрения чего-то более понятного, хотя он не будет напрямую преобразовывать значения, как вы надеялись.

После того, как модель будет обучена и протестирована с использованием RMSLE, просто возьмите новую метрику. То, что модель была обучена на RMSLE, не означает, что вы не сможете использовать другие более понятные функции потерь в качестве метрик.

Например, в Keras вы можете указать дополнительные функции потерь в категории метрик в компиляторе модели. Внизу MSLE используется для обучения модели (эквивалент RMSLE), но MAE и MSE также записываются:

model.compile(loss='mean_squared_logarithmic_error', optimizer='adam', metrics=['mean_absolute_error','mean_squared_error'])
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.