Tập luyện quá mức, tập thể dục và dừng sớm

Không giống như các khu rừng ngẫu nhiên, cây tăng cường độ dốc có thể đủ điều kiện. 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 số liệu sau đây cho thấy đường cong suy hao và độ chính xác của tập huấn luyện và xác thực khi huấn luyện mô hình GBT. Hãy lưu ý độ cong của các đường cong, cho thấy mức độ quá mức cao.

Biểu đồ thể hiện số lượng mất tích khi huấn luyện và xác thực bị mất so với số cây quyết định. Tỷ lệ mất đào tạo giảm dần khi số cây quyết định tăng lên. Tuy nhiên, tổn thất xác thực chỉ giảm đi cho đến khi có khoảng 40 cây quyết định. Với hơn 40 cây quyết định,
  số lượt xác thực bị mất sẽ tăng lên. Với 400 cây quyết định, khoảng cách giữa việc mất nội dung đào tạo và tổn thất xác thực là rất lớn.

Hình 29. Tỷ lệ mất mát so với số cây quyết định.

 

Biểu đồ về độ chính xác của nội dung đào tạo 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 đào tạo tăng dần khi số cây quyết định tăng lên, đạt đỉnh gần 1 cây với 400 cây quyết định. Độ chính xác của quá 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 khoảng 0,83 ở 400 cây quyết định.

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

 

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

  • Chiều sâu tối đa của cây.
  • Tỷ lệ rút gọn.
  • Tỷ lệ thuộc tính được kiểm tra 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 nông hơn nhiều so với mô hình rừng ngẫu nhiên. Theo mặc định, các cây tăng cường độ dốc trong TF-DF được tăng lên 6. Vì cây không nông, nên số lượng ví dụ tối thiểu cho mỗi lá có ít tác động và thường không được điều chỉnh.

Nhu cầu 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 sẽ huấn luyện cây tăng cường độ dốc trong vòng lặp xác thực chéo hoặc tắt tính năng dừng sớm khi mô hình được biết là không phù hợp.

Ví dụ về cách dùng

Trong chương trước, chúng ta đã đào tạo một khu 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 độ 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.

Mức sử dụng và giới hạn

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

Ưu điểm

  • Giống như cây quyết định, chúng hỗ trợ sẵn các tính năng số và danh mục 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 mặc định thường cho kết quả tuyệt vời. Tuy nhiên, việc điều chỉnh các siêu tham số đó có thể cải thiện đáng kể mô hình.
  • Mô hình cây tăng cường Gradient thường có kích thước nhỏ (số nút và bộ nhớ) và nhanh để chạy (thường chỉ là một hoặc vài μs / ví dụ).

Nhược điểm

  • Các cây quyết định phải được huấn luyện tuần tự, điều này có thể làm giảm đáng kể quá trình đào tạo đáng kể. Tuy nhiên, tốc độ giảm dần của quá trình huấn luyện sẽ được bù đắp một phần bằng các cây quyết định có quy mô nhỏ hơn.
  • Giống như rừng ngẫu nhiên, các cây tăng cường độ dốc không thể học và sử dụng lại nội dung biểu thị 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 tìm hiểu 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 để hiển thị kết quả kém hơn các phương thức khác.