CHƯƠNG 3: XÂY DỰNG HỆ THỐNG CHẤM ĐIỂM TÍN DỤNG CHO SÀN GIAO DỊCH NGANG HÀNG DCVFINANCE
3.2. So sánh hiệu quả của từng thuật toán và xây dựng mô hình chấm điểm tín dụng
3.2.2. Phương thức hoạt động thuật toán Gradient Boosting
Nếu Random Forest là ví dụ điển hình của phương thức Bagging thì Gradient Boosting là ví dụ điển hình của phương thức Boosting.
GBM là một kỹ thuật được sử dụng trong việc tạo ra các mô hình để dự đoán. Kỹ thuật này chủ yếu được sử dụng trong các thủ tục hồi quy và phân loại. Để lựa chọn dự đoán tốt nhất, GBM trình bày xây dựng mô hình theo từng giai đoạn, giống như các phương pháp tăng cường khác, đồng thời cho phép khái quát hóa và tối ưu hóa các chức năng mất mát khác nhau. [11]
Có thể hiểu đơn giản rằng, GBM xây dựng một lượng lớn các cây, mỗi cây sau sẽ học cách sửa những lỗi của cây trước, từ đó hình thành một chuỗi các cây mà cây sau sẽ tốt hơn cây trước và cây cuối cùng trong chuỗi sẽ là kết quả của thuật toán.
Gradient Boosting được xây dụng thuật toán để giải quyết bài toán tối ưu sau đây:
Trong đó:
• L: giá trị hàm mất mát
• y: nhãn
• cn: confidence score của cây thứ n (hay còn gọi là trọng số)
• wn: cây thứ n
Thay vì tìm toàn bộ giá trị cn, wnđể tìm nghiệm tối ưu toàn cục như Bagging thì GBM tìm các nghiệm cục bộ sau khi thêm mỗi một cây mới vào chuỗi mô hình với mong muốn dần đi đến nghiệm toàn cục: [13]
Áp dụng công thức Gradient Descent, ta mặc định các cây là 1 hàm số W, thì mỗi làm learner được coi là một tham số w. Tại đây, ta có hàm loss L(y,W) mới:
Từ đây ta rút ra được mối quan hệ như sau:
Với wn là cây tiếp theo trong chuỗi. Khi đó, cây mới cần học cách sửa những lỗi của cây trước để điền vào giá trị (−𝜕𝜔𝜕 𝐿(𝑊𝑛−1) . −𝜕𝜔𝜕 𝐿(𝑊𝑛−1) còn có tên gọi khác là sự khác biệt gữa giá trị thực tế và giá trị dự đoán.
Tóm lại, quá trình triển khai thuật toán đơn giản như sau:
• Khởi tạo giá trị −𝜕𝜔𝜕 𝐿(𝑊𝑛−1) là bằng nhau cho từng điểm dữ liệu
• Tại vòng lặp thứ i
o Cây đào tạo mới được xây dựng dựa trên −𝜕𝜔𝜕 𝐿(𝑊𝑛−1) của cây trước.
o Tính toán giá trị trọng số ci của cây vừa đào tạo o Cập nhật lại cây chính W = W + ci *wi
o Cuối cùng, tính toán giá trị −𝜕𝜔𝜕 𝐿(𝑊𝑛−1) để làm nhãn cho cây tiếp theo
o Sau đó lặp lại với vòng lặp i + 1. [13]
Hình 3. 10: Thuật toán Gradient Boosting Model [11]
Ví dụ thuật toán Gradient Boosting
Đây là mẫu dữ liệu được trích từ tập dữ liệu ô tô với yêu cầu dự đoán MPG (Miles per Gallon) của một chiếc ô tô dựa trên các biến số khác nhau
Hình 3. 11: Ví dụ cho mô hình Gradient Boosting Model [13]
Bước 1: Tính giá trị trung bình. Đây là bước đầu tiên để dự đoán MPG của mọi chiếc xe.
Mean = (32,1 + 18,5 + 46,6 + 24 + 18/5) = 27,84 Bước 2: Xây dựng một cây dựa trên các lỗi từ cây đầu tiên.
Tại đây, phần dư là sự khác biệt giữa MPG quan sát và dự đoán (MPG quan sát - Predicted MPG) Các sai số mà cây trước đó thực hiện là sự khác biệt giữa MPG quan sát và dự đoán.
Hình 3. 12: Tính Giá trị mean [13]
Tiếp theo ta kết hợp lá ban đầu với cây mới để đưa ra dự đoán mới về MPG.
Gradient Boost giải quyết vấn đề này bằng cách sử dụng tỷ lệ học tập để mở rộng các đóng góp từ cây mới: 10%.
Vì vậy, giá trị predicted cho hàng đầu tiên: 27,84 + 0,1 * 4,26 = 28,266.
Tương tự như vậy, ta có cột giá trị dự đoán như sau:
Hình 3. 13: Dự đoán giá trị MPG mới [13]
Bước 3: Tiếp tục tính toán số dư một lần nữa với MPG dự đoán mới.
Hình 3. 14: Tính phần dư [13]
Phần dư mới nhỏ hơn phần dư cũ. Vì vậy, đây là một bước đi đúng hướng. Bây giờ, chúng ta kết hợp cây với cây trước và chiếc lá ban đầu.
Predicted mới của hàng đầu tiên: 27,84 + (0,1 * 4,26) + (0,1 * 3,83) = 28,649
Hình 3. 15: Dự đoán giá trị MPG mới [13]
Tiếp tục lặp lại cho đến khi đưa ra cây cuối cùng.
Tóm lại, ta bắt đầu với một lá là giá trị trung bình nếu biến chúng ta muốn dự đoán. Sau đó, ta thêm một cây dựa trên Phần dư và chúng tôi chia tỷ lệ đóng góp của cây vào dự đoán cuối cùng với tỷ lệ học tập. Sau đó, chúng tôi thêm một cây khác dựa trên phần dư mới, chúng tôi tiếp tục thêm cây dựa trên các lỗi của cây trước đó.