Học với hàm lỗi mũ (Exponential Loss)

Một phần của tài liệu Nghiên cứu ứng dụng kỹ thuật BoostMetric nhằm tăng hiệu quả phân lớp dữ liệu lớn (Trang 27)

1 và tương ứng là vectơ cột chứa toàn các số và vectơ cột chứa toàn các số 0 Kích thước của chúng tùy thuộc vào ngữ cảnh sử dụng.

1.7.5. Học với hàm lỗi mũ (Exponential Loss)

Trong phần này, chúng ta đề cập bài toán tối ưu khi huấn luyện hàm đo sử dụng hàm lỗi mũ. Để có được một chiến lược tối ưu hiệu quả, ta xét bài toán đối ngẫu Lagrange của nó và thiết kế cách tiếp cận dựa theo thuật toán Boosting.

Mục đích của ta là tìm được một thuật toán tổng quát để huấn luyện ma trận xác định không âm sử dụng hàm lỗi mũ. Giả sử ta muốn tìm một ma trận sao cho tập các ràng buộc sau được thỏa mãn tốt nhất có thể:

trong đó được định nghĩa ở (1.26).

Không nhất thiết tất cả những ràng buộc này đều phải được thỏa mãn hoàn toàn, do đó ta định nghĩa biên .

Bằng sử dụng hàm lỗi mũ, ta muốn tối ưu:

(1.27) sao cho: và

Lưu ý rằng dù ta đang đề xuất lấy lôgarit của tổng các hàm số mũ, nhưng biến đổi này không làm thay đổi bài toán tối ưu ban đầu về tổng của các hàm số mũ vì hàm lôgarit là hàm đơn điệu tăng nghiêm ngặt. Biến bổ trợ được dùng để ta có thể thu được một bài toán đối ngẫu có ý nghĩa.

Sử dụng định lý 1.4, ta thay X bằng một tổ hợp tuyến tính lồi của các ma trận có hạng đều bằng 1:

với , và Do đó ta có:

(1.28) trong đó là viết tắt của .

Rõ ràng

Bây giờ bài toán (1.27) trở thành:

(1.29) sao cho: và

Khai triển Lagrange: với .

Ta thu được bài toán đối ngẫu từ việc tìm điểm yên ngựa của L.

(1.30) Cận dưới đúng của L1 được xác định bằng cách gán đạo hàm bậc 1 của nó bằng 0, ta có:

L2 tuyến tính với w, do đó nó phải bằng 0. Điều này dẫn tới:

(1.31) Đối ngẫu Lagrange của (1.29) là một bàn toán cực đại entropy:

(1.32) Ta có:

(1.33) Ta dùng phương pháp Coordinate Descent để giải bài toán trên. Trước hết tôi trình bày khái quát về kỹ thuật Sinh cột (column generation), vì chiến lược Coordinate Descent của ta dựa vào kỹ thuật này.

Nếu ta biết tất cả các Zj (j = 1…J) thì ta cũng tìm được trọn vẹn ma trận H. Do đó bài toán cơ sở (1.29) hoặc bài toán đối ngẫu (1.32) có thể được giải dễ dàng bởi cả hai đều là các bài toán tối ưu lồi. Ta có thể giải chúng trong thời gian đa thức. Đặc biệt, bài toán cơ sở là cực tiểu lồi với các ràng buộc không âm đơn giản. Tuy nhiên, thực tế ta không có được tất cả các Zj, các khả năng có thể của Z là vô hạn. Trong tối ưu lồi, kỹ thuật Sinh cột được thiết kế để giải quyết khó khăn này.

Kỹ thuật Sinh cột ban đầu được dùng để giải các bài toán tuyến tính quy mô lớn (Lubbecke và Desrosiers, 2005) [3]. Nó dựa trên một thực tế là đối với một bài toán tuyến tính, số các biến khác 0 của giải pháp tối ưu bằng với số lượng các ràng buộc. Do đó, dù số lượng các biến có thể có là rất lớn, chúng ta chỉ cần một tập con nhỏ của chúng cho giải pháp tối ưu. Đối với bài toán lồi tổng quát, ta có thể dùng kỹ thuật Sinh cột để thu được một giải pháp gần đúng. Nó hoạt động bằng cách chỉ xét một tập con nhỏ của tập toàn bộ các biến. Một khi bài toán đã được giải, ta lại đặt câu hỏi: “Liệu có còn những biến khác mà ta có thể bổ sung vào nhằm cải thiện giải pháp tìm được?”. Vậy ta cần phải giải thêm bài toán con sau: Cho một tập các giá trị đối ngẫu, mỗi một giá trị cần xác định một biến có chi phí giảm được có ích, hoặc biểu thị biến đó không tồn tại.

Thay vì giải trực tiếp bài toán cơ sở (1.29), ta lặp đi lặp lại việc tìm ràng buộc bị vi phạm nhiều nhất trong bài toán đối ngẫu (1.32) để thu được lời giải hiện tại, và bổ sung ràng buộc này vào bài toán tối ưu. Để làm điều đó, ta cần giải bài toán sau:

(1.34)

Một phần của tài liệu Nghiên cứu ứng dụng kỹ thuật BoostMetric nhằm tăng hiệu quả phân lớp dữ liệu lớn (Trang 27)

Tải bản đầy đủ (DOCX)

(58 trang)
w