Làm thế nào để bạn giải thích RMSLE (Lỗi trung bình bình phương lỗi logarit)?


29

Tôi đã tham gia một cuộc thi học máy, nơi họ sử dụng RMSLE (Lỗi trung bình bình phương lỗi bình phương) để đánh giá hiệu suất dự đoán giá bán của một loại thiết bị. Vấn đề là tôi không chắc làm thế nào để diễn giải thành công của kết quả cuối cùng của tôi.

Ví dụ nếu tôi đạt được một RMSLE của tôi có thể nâng nó trở thành sức mạnh mũ và giải thích nó như rmse? (ví dụ: )?đ đ 1,052 = 2,863 = R M S E1.052ee1.052= =2,863= =RMSE

Sau đó tôi có thể nói rằng dự đoán của tôi trung bình là so với giá thực tế không? Hoặc có một cách tốt hơn để giải thích số liệu? Hoặc số liệu thậm chí có thể được giải thích hoàn toàn ngoại trừ so sánh với các RMSLE khác của các mô hình khác? ±$2,863


Với kiến ​​thức hạn hẹp của tôi, đó là: 1. để loại bỏ tính không đồng nhất 2. để giải quyết vấn đề về các kích thước khác nhau

Câu trả lời:


26

Tôi chưa từng thấy RMSLE trước đây, nhưng tôi cho rằng đó là .1NΣtôi= =1N(đăng nhập(xtôi)-đăng nhập(ytôi))2

Do đó, số mũ sẽ không cung cấp cho bạn RMSE, nó sẽ cung cấp cho bạn

e1NΣtôi= =1N(đăng nhập(xtôi)-đăng nhập(ytôi))21NΣtôi= =1N(xtôi-ytôi)2 .

Nếu chúng tôi lấy nhật ký của cả hai bên, chúng tôi sẽ nhận được RMSLE so với , rõ ràng không phải là điều tương tự.12đăng nhập(1NΣtôi= =1N(xtôi-ytôi)2)

Thật không may, nói chung không có một mối quan hệ dễ dàng tốt (mặc dù ai đó thông minh hơn tôi / nghĩ về nó khó hơn tôi có thể sử dụng sự bất bình đẳng của Jensen để tìm ra mối quan hệ giữa hai người).

Tất nhiên, đó là RMSE của biến được chuyển đổi log, cho những gì đáng giá. Nếu bạn muốn có một cảm nhận rõ ràng về sự lan truyền của phân phối, thay vào đó bạn có thể cảm nhận rõ ràng về sự lan truyền của logarit của chúng, sao cho RMSLE là 1.052 có nghĩa là "trung bình" lớn gấp lần giá trị thực, hoặc 1 / 2,86. Tất nhiên đó không hoàn toàn là ý nghĩa của RMSE ....2,86


Xin chào @Dougal cảm ơn! Điều này chắc chắn giúp làm sáng tỏ mọi thứ.
Opus

18

Tôi không biết nếu có một cách giải thích chung chung, thậm chí phân tích một trường hợp cụ thể.

Ví dụ, bạn có thể quan tâm đến việc đánh giá lỗi nào sẽ xảy ra nếu bạn dự đoán tất cả các trường hợp có giá trị trung bình và so sánh nó với phương pháp của bạn.

Dù sao, tôi tin rằng RMSLE thường được sử dụng khi bạn không muốn xử phạt những khác biệt lớn trong giá trị dự đoán và giá trị thực khi cả giá trị dự đoán và giá trị thực là những con số khổng lồ. Trong những trường hợp này, chỉ có sự khác biệt về phần trăm vì bạn có thể viết lại

đăng nhậpPtôi+1-đăng nhậpMộttôi+1= =đăng nhậpPtôi+1Mộttôi+1 .

Ví dụ: P = 1000 và A = 500 sẽ cung cấp cho bạn lỗi tương tự như khi P = 100000 và A = 50000.


1

Sự hiểu biết của tôi là, khi chúng tôi thực hiện logarit cả về dự đoán và số thực tế, chúng tôi sẽ nhận được kết quả mượt mà hơn nhiều so với kết quả ban đầu. Và giảm tác động của x lớn hơn, đồng thời nhấn mạnh x nhỏ hơn cho .đăng nhậpx+1

Ngoài ra, bạn sẽ có được một ấn tượng trực quan bằng cách vẽ một biểu đồ đơn giản của .y= =đăng nhậpx+1


1

Có một cách gián tiếp để đo hiệu suất của hàm mất theo nghĩa dễ hiểu hơn, mặc dù nó sẽ không trực tiếp chuyển đổi giá trị như bạn mong muốn.

Khi mô hình đã được đào tạo và thử nghiệm bằng RMSLE, chỉ cần lấy một số liệu mới về nó. Chỉ vì mô hình đã được đào tạo trên RMSLE, điều đó không có nghĩa là bạn không thể lấy các hàm mất mát dễ hiểu khác làm số liệu.

Ví dụ, trong Keras, bạn có thể chỉ định các hàm mất thêm trong danh mục số liệu trong trình biên dịch mô hình. Ở bên dưới MSLE được sử dụng để huấn luyện mô hình (Tương đương với RMSLE), nhưng MAE và MSE cũng được ghi lại:

model.compile(loss='mean_squared_logarithmic_error', optimizer='adam', metrics=['mean_absolute_error','mean_squared_error'])
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.