Thứ Tư, 29 tháng 12, 2021

Các Loss Function thường gặp

1. Giới thiệu

Từ các bài học trước các bạn đã biết Loss Function là gì, đây cũng là khái niệm quan trọng bậc nhất trong Machine Learning cụ thể trong chuỗi bài viết này là Học giám sát.

Trong các bài viết trước mình sử dụng Loss Function là hàm Square Error, nhưng trong thực tế không chỉ sử dụng một hàm này, mà còn rất nhiều hàm khác nữa, tùy thuộc vào từng bài toán mà chúng ta sử dụng một Loss Function khác nhau.

Một Loss Function phải có đạo hàm tại mọi điểm

Nội dung

  • Mean Absolute Squared Error
  • Mean Square Error
  • Mean Bias Error
  • Root Mean Squared Error
  • Cross Entropy Loss

2. Mean Absolute Squared Error

$$L = \frac{\sum_{i=1}^{N}|y_i - \hat{y_i}|}{N}$$

3. Mean Square Error

$$L = \frac{\sum_{i=1}^{N}(y_i - \hat{y_i})^2}{N}$$

4. Mean Bias Error

$$L = \frac{\sum_{i=1}^{N}(y_i - \hat{y_i})}{N}$$

5. Root Mean Squared Error

$$L = \sqrt{\frac{\sum_{i=1}^{N}(y_i - \hat{y_i})^2}{N}}$$

Với N là tổng số điểm dữ liệu, $y_i$ là label của điểm dữ liệu thứ $i$, $\hat{y_i}$ là giá trị dự đoán của model với input là vector feature của điểm dữ liệu thứ $i$

Lưu ý: Các Loss Function trên được sử dụng trong các bài toán Regression. Các hàm trên mặc dù đều tính sai lệch giữa giá trị mà model dự đoán với giá trị thực, nhưng chúng đều mà các ý nghĩa thống kê khác nhau (Phần này mình cũng chưa tìm hiểu kĩ).Tuy nhiên khi mình đọc tài liệu thấy người ta nói rằng, khi sai lệch giữa các điểm dữ liệu tương ứng đều nhau và bằng xấp xỉ $\epsilon$ thì nên sử dụng Mean Squared Error, ngược lại, giá trị sai số $\epsilon$ khác biệt lớn thì nên chọn Mean Absolute Squared Error. Còn Root Mean Squared Error về mặc bản chất thì giống Mean Square Error vì nó là căn bậc 2 của Mean Squared Error, chỉ là giá trị của nó nhỏ hơn mà thôi.

6. Cross Entropy Loss

Đây là Loss Function được sử dụng trong các bài toán Classification

$$L = \frac{-\sum_{i=1}^{N}(y_{i}log(\hat{y_i}) + (1 - y_i)log(1 - \hat{y_i})}{N}$$

Đối với Loss này $\hat{y_i}$ sẽ là giá trị nằm trong đoạn $[0, 1]$, còn $y_i$ sẽ mang 1 trong 2 giá trị là 0 hoặc 1

Tại sao hàm này lại được sử dụng

Nguồn: https://themaverickmeerkat.com/2020-11-15-Cross-Entropy/


Nhìn hình trên ta có thể đưa ra nhận xét rằng: khi $y = 1$ (đường màu xanh da trời). Nếu $\hat{y}$ (trục hoành) mà tăng đến 1 (gần $y$) thì lúc này Loss Fuction giảm. Ngược lại, khi $\hat{y}$ tiến gần về 0 (xa $y$) lúc này Loss Function sẽ tăng. Khi $y = 0$ (đường màu xanh lá cây). Nếu $\hat{y}$ tăng đến 1 (xa $y$) lúc này Loss Function sẽ tăng, ngược lại khi $\hat{y}$ tiến về gần 0 (gần $y$) lúc này Loss Function sẽ giảm. Ngoài ra Binary Cross Entropy còn có đạo hàm tại mọi điểm. Nên ta có thể giải thích được câu hỏi tại sao Binary Cross Entropy lại được sử dụng

Trên đây mình chỉ liệt kê một số Loss Function thường gặp, còn nhiều loại Loss Function khác, các bạn có thể nghiên cứu thêm, nếu có thắc mắc gì vui lòng để lại comment, xin cảm ơn

0 nhận xét:

Đăng nhận xét