Як ви інтерпретуєте RMSLE (кореневу логарифмічну помилку середнього рівня)?


29

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

Наприклад , якщо я досяг RMSLE з я міг підняти його експонентну потужність і інтерпретувати його як RMSE? (тобто )?1.052ee1.052=2.863=RMSE

Чи можу я тоді сказати, що мої прогнози в середньому становили від фактичних цін? Або є кращий спосіб інтерпретувати метрику? Чи можна взагалі інтерпретувати метрику за винятком порівняння з іншими RMSLE іншими моделями? ±$2.863


З моїх обмежених знань, це: 1. зняти гетероседастичність 2. вирішити проблему різних розмірів

Відповіді:


26

Я раніше не бачив RMSLE, але припускаю, що це .1Ni=1N(log(xi)log(yi))2

Таким чином, експоненцію це не дасть вам RMSE, воно дасть вам

e1Ni=1N(log(xi)log(yi))21Ni=1N(xiyi)2 .

Якщо взяти журнал обох сторін, отримаємо RMSLE проти , що явно не одне і те ж.12log(1Ni=1N(xiyi)2)

На жаль, взагалі немає хороших легких стосунків (хоча хтось розумніший за мене / думає про це важче, ніж я, можливо, міг би використати нерівність Дженсена, щоб з'ясувати деякі стосунки між ними).

Звичайно, це RMSE змінної, перетвореної журналом, для того, що це варто. Якщо ви хочете мати грубе відчуття поширення розподілу, можете натомість отримати приблизний сенс поширення їх логарифму, так що RMSLE 1,052 означає, що "середнє значення" в рази більше, ніж справжнє значення, або 1 / 2,86. Звичайно, це не зовсім те, що означає RMSE ....2.86


Привіт @Dougal дякую! це, безумовно, допомагає з’ясувати речі.
Opus

18

Я не знаю, чи існує пряма родова інтерпретація, навіть аналізуючи конкретний випадок.

Наприклад, вам може бути цікаво оцінити, що було б помилкою, якщо ви передбачите всі випадки із середнім значенням та порівняєте його зі своїм підходом.

У будь-якому випадку, я вважаю, що RMSLE зазвичай використовується, коли ви не хочете штрафувати величезні відмінності у передбачуваних та справжніх значеннях, коли і передбачувані, і справжні значення великі. У цих випадках мають значення лише відсоткові відмінності, оскільки їх можна переписати

logPi+1logAi+1=logPi+1Ai+1 .

Наприклад, для P = 1000 і A = 500 дасть вам приблизно таку ж помилку, як і коли P = 100000 і A = 50000.


1

Я розумію, що коли ми робимо логарифм як за прогнозуванням, так і за фактичними числами, ми отримаємо набагато більш плавні результати, ніж оригінальні. І зменшіть вплив більшого х, при цьому підкресліть менший х для .logx+1

Також ви отримаєте інтуїтивне враження, намалювавши простий графік .y=logx+1


1

Існує непрямий спосіб вимірювання ефективності функції збитку з точки зору чогось більш зрозумілого, хоча це не буде безпосередньо перетворювати значення, як ви сподівалися.

Після того, як модель пройшла навчання та тестування за допомогою RMSLE, просто скористайтеся новою метрикою. Тільки тому, що модель була підготовлена ​​на RMSLE, це не означає, що ви не можете потім використовувати інші більш зрозумілі функції втрат як метрики.

Наприклад, у Керасі ви можете вказати додаткові функції втрат у категорії метрик у компіляторі моделі. Внизу 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.