Hàm mất mát (loss function)

Ở các phần trước, ta đã bỏ rất nhiều công sức để xây dựng được một công thức tổng quát để tìm ra một model từ một tập dữ liệu. Đó hàm mục tiêu của regularized loss minimization (RLM):

Tại sao chúng ta lại cần một công thức tổng quát?

Câu trả lời rất đơn giản, tiết kiệm năng lượng. Không riêng gì machine learning, trong mỗi ngành nghề đều tồn tại những công việc cần phải lặp đi lặp lại nhiều lần. Trong xây nhà thì đó là việc đổ móng, xây tường, lợp mái. Trong võ thuật thì đó là việc đứng tấn, đấm và đá. Những việc đó vô cùng nhàm chán và ta muốn dành thật ít năng lượng và suy nghĩ khi làm chúng! Ta thích làm những việc vui hơn, tự do hơn, sáng tạo hơn, như thiết kế hay trang trí một căn nhà, hoặc ngẫm ra một thế võ độc tôn.

Nhưng hãy tưởng tượng rằng nếu bức tường ta xây cứ ba ngày lại đổ một lần. Cứ xây đi xây lại như thế thì cả đời ta cũng không thể có cơ hội để trang trí một căn nhà. Tương tự, nếu chân đứng còn chưa vững thì nói gì đến việc sáng chế chiêu thức. Thế nên, muốn làm việc cao cấp vui vẻ thì trước hết phải làm những việc cơ bản nhàm chán thành thục trước đã.

Bây giờ ta sẽ đi nghiên cứu một số biến thể thông dụng nhất của loss function nhé!

Định nghĩa loss function

Hai dạng bài supervised learning cơ bản

Cách xây dựng loss function

Tuy nhiên hàm này lại không thỏa mãn tính chất không âm của một loss function. Ta có thể sửa nó lại một chút để thỏa mãn tính chất này. Ví dụ như lấy giá trị tuyệt đối của hiệu:

Một cách rất tự nhiên, ta thấy rằng loss function của binary classification cần phải đạt được một số tiêu chí sau:

Một cách tổng quát, đối với binary classification thì các loss function thường có dạng như sau:

Các loss function cơ bản dành cho binary classification

0-1 loss

Perceptron loss

Hinge loss

Logistic loss (hay log loss)

Vậy có phải log loss là một loss function hoàn hảo? Chưa hẳn, điều này phụ thuộc vào bài toán. Tuy log loss đưa ra nhiều tiêu chí hấp dẫn, nhưng vấn đề model liệu có thể thỏa mãn những tiêu chí được những tiêu chí đó không. Hay chúng ta đang đòi quá nhiều ở model? Việc model phân biệt giữa một đáp đúng với độ chắn chắn thấp và một đáp án đúng với độ chắc chắn cao mang lại lợi ích gì cho ta? Có đôi khi, ta không quan tâm, đáp án nào cũng đều đúng. Có đôi khi, ta lại cần model phải rạch ròi. Có đôi khi, ta chỉ muốn tránh những đáp án có độ chắc chắn thấp; Lúc đó, hinge loss lại là sự lựa chọn tốt hơn. Tất cả đều tùy vào dữ liệu và ứng dụng.

Last updated