Quá trình điều chỉnh và cắt bớt

Bằng cách sử dụng thuật toán được mô tả ở trên, chúng ta có thể huấn luyện một cây quyết định sẽ phân loại hoàn hảo các ví dụ huấn luyện, giả sử các ví dụ này có thể tách biệt. Tuy nhiên, nếu tập dữ liệu chứa nhiễu, cây này sẽ phù hợp quá mức với dữ liệu và cho thấy độ chính xác kiểm thử kém.

Hình sau đây cho thấy một tập dữ liệu nhiễu có mối quan hệ tuyến tính giữa một đặc điểm x và nhãn y. Hình này cũng cho thấy một cây quyết định được huấn luyện trên tập dữ liệu này mà không có bất kỳ loại quy trình chuẩn hoá nào. Mô hình này dự đoán chính xác tất cả các ví dụ về việc huấn luyện (dự đoán của mô hình khớp với các ví dụ về việc huấn luyện). Tuy nhiên, trên một tập dữ liệu mới chứa cùng một mẫu tuyến tính và một thực thể nhiễu khác, mô hình sẽ hoạt động kém.

Độ dốc chung là +1, nhưng vì tập dữ liệu quá nhiễu, nên các điểm dữ liệu riêng lẻ đôi khi nằm xa đường phù hợp nhất.

Hình 12. Tập dữ liệu bị nhiễu.

 

Để hạn chế việc mô hình cây quyết định phù hợp quá mức, hãy áp dụng một hoặc cả hai tiêu chí điều chỉnh sau đây trong khi huấn luyện cây quyết định:

  • Đặt độ sâu tối đa: Ngăn cây quyết định phát triển quá độ sâu tối đa, chẳng hạn như 10.
  • Đặt số lượng ví dụ tối thiểu trong lá: Lá có ít hơn một số lượng ví dụ nhất định sẽ không được xem xét để phân tách.

Hình sau đây minh hoạ ảnh hưởng của việc thay đổi số lượng ví dụ tối thiểu trên mỗi lá. Mô hình này thu được ít tạp âm hơn.

Ba biểu đồ, mỗi biểu đồ cho thấy hiệu ứng của một giá trị khác nhau đối với số lượng ví dụ tối thiểu trên mỗi lá. Các giá trị khác nhau là 2, 5 và 10.

Hình 13. Số lượng ví dụ tối thiểu khác nhau trên mỗi lá.

Bạn cũng có thể điều chỉnh sau khi huấn luyện bằng cách xoá (cắt tỉa) một số nhánh nhất định, tức là chuyển đổi một số nút không phải lá nhất định thành lá. Một giải pháp phổ biến để chọn các nhánh cần xoá là sử dụng tập dữ liệu xác thực. Tức là nếu việc xoá một nhánh giúp cải thiện chất lượng của mô hình trên tập dữ liệu xác thực, thì nhánh đó sẽ bị xoá.

Hình vẽ sau đây minh hoạ ý tưởng này. Ở đây, chúng ta kiểm thử xem độ chính xác của quy trình xác thực trong cây quyết định có được cải thiện hay không nếu nút màu xanh lục không phải là lá được chuyển thành lá; tức là cắt bỏ các nút màu cam.

Hai cây quyết định. Một cây quyết định chứa 9 nút và cây còn lại đã được cắt bớt chỉ còn 6 nút bằng cách chuyển một trong các điều kiện thành một lá.

Hình 14. Cắt bớt một điều kiện và các điều kiện con thành một lá.

 

Hình sau đây minh hoạ hiệu quả của việc sử dụng 20% tập dữ liệu làm dữ liệu xác thực để cắt tỉa cây quyết định:

Biểu đồ cho thấy một mô hình được điều chỉnh quá mức so với mô hình lý tưởng dạng đường thẳng

Hình 15. Sử dụng 20% tập dữ liệu để cắt tỉa cây quyết định.

 

Xin lưu ý rằng việc sử dụng tập dữ liệu xác thực sẽ làm giảm số lượng ví dụ có sẵn cho quá trình huấn luyện ban đầu của cây quyết định.

Nhiều nhà sáng tạo mô hình áp dụng nhiều tiêu chí. Ví dụ: bạn có thể làm tất cả những việc sau:

  • Áp dụng số lượng ví dụ tối thiểu cho mỗi lá.
  • Áp dụng độ sâu tối đa để giới hạn sự phát triển của cây quyết định.
  • Cắt tỉa cây quyết định.
Mã YDF
Trong YDF, các thuật toán học được định cấu hình sẵn với giá trị mặc định cho tất cả các tham số siêu dữ liệu cắt tỉa. Ví dụ: sau đây là các giá trị mặc định cho hai tham số siêu dữ liệu cắt tỉa:
  • Số ví dụ tối thiểu là 5 (min_examples = 5)
  • 10% tập dữ liệu huấn luyện được giữ lại để xác thực (validation_ratio = 0.1).
Bạn có thể tắt tính năng cắt bỏ bằng tập dữ liệu xác thực bằng cách đặt validation_ratio=0.0.

Những tiêu chí đó sẽ đưa ra các tham số siêu dữ liệu mới cần được điều chỉnh (ví dụ: chiều sâu cây tối đa), thường là bằng cách điều chỉnh tham số siêu dữ liệu tự động. Cây quyết định thường đủ nhanh để huấn luyện việc sử dụng tính năng điều chỉnh tham số siêu dữ liệu bằng xác thực chéo. Ví dụ: trên một tập dữ liệu có "n" ví dụ:

  • Chia các ví dụ huấn luyện thành p nhóm không trùng lặp. Ví dụ: p=10.
  • Đối với tất cả các giá trị tham số siêu dữ liệu có thể có; ví dụ: chiều sâu tối đa trong {3,5,6,7,8,9}, số ví dụ tối thiểu trong {5,8,10,20}.
    • Đánh giá chất lượng của cây quyết định được huấn luyện trên các nhóm p-1 khác trên mỗi nhóm.
    • Tính trung bình điểm đánh giá trên các nhóm.
  • Chọn giá trị tham số siêu dữ liệu có điểm đánh giá trung bình tốt nhất.
  • Huấn luyện cây quyết định cuối cùng bằng cách sử dụng tất cả "n" ví dụ với các tham số siêu dữ liệu đã chọn.

Trong phần này, chúng ta đã thảo luận về các cách cây quyết định hạn chế việc điều chỉnh quá mức. Mặc dù có những phương pháp này, nhưng việc không phù hợp và phù hợp quá mức là những điểm yếu chính của cây quyết định. Rừng quyết định giới thiệu các phương thức mới để hạn chế việc điều chỉnh quá mức. Chúng ta sẽ xem xét các phương thức này sau.

Diễn giải trực tiếp cây quyết định

Cây quyết định dễ hiểu. Tuy nhiên, việc thay đổi ngay cả một vài ví dụ cũng có thể thay đổi hoàn toàn cấu trúc và do đó là cách diễn giải của cây quyết định.

Do cách xây dựng cây quyết định, phân vùng các ví dụ đào tạo, người ta có thể sử dụng cây quyết định để diễn giải chính tập dữ liệu đó (thay vì mô hình). Mỗi lá biểu thị một góc cụ thể của tập dữ liệu.

Mã YDF
Trong YDF, bạn có thể xem các cây bằng hàm model.describe(). Bạn cũng có thể truy cập và lập biểu đồ cho từng cây bằng model.get_tree(). Hãy xem hướng dẫn kiểm tra mô hình của YDF để biết thêm thông tin chi tiết.

Tuy nhiên, cách diễn giải gián tiếp cũng cung cấp thông tin.