Tình trạng quá mức, điều chỉnh quá mức và dừng sớm

Không giống như rừng ngẫu nhiên, cây tăng cường theo độ dốc có thể phù hợp quá mức. Do đó, đối với mạng nơron, bạn có thể áp dụng quy trình chuẩn hoá và dừng sớm bằng cách sử dụng tập dữ liệu xác thực.

Ví dụ: các hình sau đây cho thấy các đường cong tổn thất và độ chính xác cho tập huấn luyện và tập xác thực khi huấn luyện mô hình GBT. Hãy lưu ý độ phân kỳ của các đường cong, điều này cho thấy mức độ phù hợp quá mức cao.

Biểu đồ về tổn thất huấn luyện và tổn thất xác thực so với số lượng cây quyết định. Mức hao tổn trong quá trình huấn luyện giảm dần khi số lượng cây quyết định tăng lên. Tuy nhiên, tổn thất xác thực chỉ giảm xuống còn khoảng 40 cây quyết định. Với hơn 40 cây quyết định, tổn thất xác thực thực sự tăng lên. Với 400 cây quyết định, khoảng cách giữa tổn thất huấn luyện và tổn thất xác thực là rất lớn.

Hình 29. Mức hao tổn so với số lượng cây quyết định.

 

Biểu đồ về độ chính xác của quá trình huấn luyện và độ chính xác của quá trình xác thực so với số lượng cây quyết định. Độ chính xác của quá trình huấn luyện tăng dần khi số lượng cây quyết định tăng lên, đạt mức cao nhất gần 1.0 ở 400 cây quyết định. Độ chính xác của quy trình xác thực tăng lên khoảng 0,86 ở 40 cây quyết định, sau đó giảm dần xuống còn khoảng 0,83 ở 400 cây quyết định.

Hình 30. Độ chính xác so với số lượng cây quyết định.

 

Các thông số chuẩn hoá phổ biến cho cây tăng cường theo độ dốc bao gồm:

  • Độ sâu tối đa của cây.
  • Tỷ lệ co rút.
  • Tỷ lệ các thuộc tính được kiểm thử tại mỗi nút.
  • Hệ số L1 và L2 trên tổn thất.

Xin lưu ý rằng cây quyết định thường phát triển nông hơn nhiều so với mô hình rừng ngẫu nhiên. Theo mặc định, cây tăng cường độ dốc trong TF-DF được phát triển đến độ sâu 6. Vì cây có độ sâu nông, nên số lượng ví dụ tối thiểu trên mỗi lá có tác động không đáng kể và thường không được điều chỉnh.

Việc cần có tập dữ liệu xác thực là một vấn đề khi số lượng ví dụ đào tạo nhỏ. Do đó, thông thường, bạn nên huấn luyện cây tăng cường độ dốc bên trong vòng lặp xác thực chéo hoặc tắt tính năng dừng sớm khi biết rằng mô hình không bị phù hợp quá mức.

Ví dụ về cách sử dụng

Trong chương trước, chúng ta đã huấn luyện một rừng ngẫu nhiên trên một tập dữ liệu nhỏ. Trong ví dụ này, chúng ta sẽ chỉ thay thế mô hình rừng ngẫu nhiên bằng mô hình cây tăng cường theo độ dốc:

model = tfdf.keras.GradientBoostedTreesModel()

# Part of the training dataset will be used as validation (and removed
# from training).
model.fit(tf_train_dataset)

# The user provides the validation dataset.
model.fit(tf_train_dataset, validation_data=tf_valid_dataset)

# Disable early stopping and the validation dataset. All the examples are
# used for training.
model.fit(
   tf_train_dataset,
   validation_ratio=0.0,
   early_stopping="NONE")
# Note: When "validation_ratio=0", early stopping is automatically disabled,
# so early_stopping="NONE" is redundant here.

Cách sử dụng và giới hạn

Cây tăng cường theo độ dốc có một số ưu và nhược điểm.

Ưu điểm

  • Giống như cây quyết định, các mô hình này hỗ trợ các tính năng số và phân loại ngay từ đầu và thường không cần xử lý trước tính năng.
  • Cây tăng cường độ dốc có các tham số siêu dữ liệu mặc định thường mang lại kết quả tuyệt vời. Tuy nhiên, việc điều chỉnh các tham số siêu dữ liệu đó có thể cải thiện đáng kể mô hình.
  • Mô hình cây tăng cường theo độ dốc thường có kích thước nhỏ (theo số lượng nút và bộ nhớ) và chạy nhanh (thường chỉ mất một hoặc vài µs / ví dụ).

Nhược điểm

  • Bạn phải huấn luyện cây quyết định theo tuần tự, điều này có thể làm chậm đáng kể quá trình huấn luyện. Tuy nhiên, tốc độ huấn luyện bị chậm lại một chút do cây quyết định nhỏ hơn.
  • Giống như rừng ngẫu nhiên, cây tăng cường theo độ dốc không thể học và sử dụng lại các nội dung đại diện nội bộ. Mỗi cây quyết định (và mỗi nhánh của mỗi cây quyết định) phải học lại mẫu tập dữ liệu. Trong một số tập dữ liệu, đặc biệt là các tập dữ liệu có dữ liệu không có cấu trúc (ví dụ: hình ảnh, văn bản), điều này khiến cây tăng cường độ dốc cho thấy kết quả kém hơn so với các phương pháp khác.