Rừng ngẫu nhiên

Một rừng ngẫu nhiên (RF) là một tập hợp các cây quyết định, trong đó mỗi cây quyết định được huấn luyện bằng một độ nhiễu ngẫu nhiên cụ thể. Rừng ngẫu nhiên là dạng quần thể cây quyết định phổ biến nhất. Bài này thảo luận một số kỹ thuật để tạo cây quyết định độc lập nhằm cải thiện khả năng xây dựng một khu rừng ngẫu nhiên hiệu quả.

Đóng gói

Phương pháp đóng gói (bootstrap aggregating) nghĩa là huấn luyện từng cây quyết định trên một tập hợp con ngẫu nhiên các ví dụ trong tập hợp huấn luyện. Nói cách khác, mỗi cây quyết định trong rừng ngẫu nhiên sẽ được huấn luyện trên một tập hợp con ví dụ.

Cách đóng gói rất đặc biệt. Mỗi cây quyết định được huấn luyện dựa trên cùng số lượng ví dụ như trong tập hợp huấn luyện ban đầu. Ví dụ: nếu tập hợp huấn luyện ban đầu chứa 60 ví dụ, thì mỗi cây quyết định sẽ được huấn luyện trên 60 ví dụ. Tuy nhiên, việc đóng gói chỉ huấn luyện từng cây quyết định trên một tập hợp con (thường là 67%) trong số các ví dụ đó. Vì vậy, một vài trong số 40 ví dụ đó trong tập hợp con phải được sử dụng lại trong khi huấn luyện một cây quyết định nhất định. Việc sử dụng lại này được gọi là huấn luyện "với sự thay thế".

Ví dụ: Bảng 6 cho thấy cách tính năng đóng gói có thể phân phối 6 ví dụ trên 3 cây quyết định. Hãy lưu ý những điều sau:

  • Mỗi cây quyết định sẽ huấn luyện tổng cộng 6 ví dụ.
  • Mỗi cây quyết định sẽ được huấn luyện dựa trên một nhóm ví dụ khác nhau.
  • Mỗi cây quyết định sẽ sử dụng lại một số ví dụ. Ví dụ: ví dụ #4 được sử dụng hai lần trong cây quyết định huấn luyện 1; do đó, trọng số đã học của ví dụ #4 được nhân đôi một cách hiệu quả trong cây quyết định 1.

Bảng 6. Chọn 6 ví dụ huấn luyện trên 3 cây quyết định. Mỗi số đại diện cho số lần một ví dụ huấn luyện nhất định (#1-6) được lặp lại trong tập dữ liệu huấn luyện của một cây quyết định nhất định (1-3).

ví dụ huấn luyện
#1 #2 #3 #4 #5 #6
tập dữ liệu gốc 1 1 1 1 1 1
cây quyết định 1 1 1 0 2 1 1
cây quyết định 2 3 0 1 0 2 0
cây quyết định 3 0 1 3 1 0 1

Trong việc đóng gói, mỗi cây quyết định hầu như luôn được huấn luyện dựa trên tổng số ví dụ trong tập hợp huấn luyện ban đầu. Việc huấn luyện từng cây quyết định có nhiều ví dụ hơn hoặc ít ví dụ hơn có xu hướng làm giảm chất lượng của khu rừng ngẫu nhiên.

Mặc dù không có trong bài viết về rừng ngẫu nhiên gốc, nhưng việc lấy mẫu các ví dụ đôi khi được thực hiện "mà không cần thay thế"; nghĩa là một ví dụ huấn luyện không được xuất hiện nhiều lần trong tập huấn luyện cây quyết định. Ví dụ: trong bảng trước, tất cả giá trị sẽ là 0 hoặc 1.

Mã YDF
Bạn có thể bật tính năng huấn luyện mà không cần thay thế bằng cách chỉ định sau đây trong YDF: bootstrap_training_dataset=False

Lấy mẫu thuộc tính

Lấy mẫu thuộc tính có nghĩa là thay vì tìm điều kiện tốt nhất trong số tất cả tính năng hiện có, chỉ một tập hợp con các tính năng ngẫu nhiên được kiểm thử ở mỗi nút. Tập hợp các tính năng được kiểm thử sẽ được lấy mẫu ngẫu nhiên tại mỗi nút của cây quyết định.

Cây quyết định dưới đây minh hoạ cho việc lấy mẫu thuộc tính / tính năng. Ở đây, cây quyết định được huấn luyện về 5 tính năng (f1-f5). Các nút màu xanh dương biểu thị các tính năng đã được kiểm thử, còn các nút màu trắng không được kiểm thử. Điều kiện được xây dựng từ các tính năng đã thử nghiệm tốt nhất (được thể hiện bằng đường viền màu đỏ).

Ba nút, tất cả đều hiển thị năm tính năng. Nút gốc và một trong các nút con kiểm thử 3 trong số 5 tính năng. Nút con còn lại kiểm thử 2 trong số 5 tính năng.

Hình 21. Lấy mẫu thuộc tính.

 

Tỷ lệ lấy mẫu thuộc tính là một siêu tham số chuẩn hoá quan trọng. Hình trước sử dụng tỷ lệ ~ 3⁄5. Nhiều phương thức triển khai rừng ngẫu nhiên kiểm thử, theo mặc định, 1/3 số tính năng để hồi quy và sqrt(số tính năng) để phân loại.

Trong TF-DF, các siêu tham số kiểm soát lấy mẫu thuộc tính sau đây:

  • num_candidate_attributes
  • num_candidate_attributes_ratio

Chẳng hạn như nếu num_candidate_attributes_ratio=0.5, một nửa số tính năng sẽ được kiểm thử tại mỗi nút.

Tắt tính năng điều chỉnh cây quyết định

Các cây quyết định riêng lẻ trong một khu rừng ngẫu nhiên được huấn luyện mà không cần cắt tỉa. (Xem phần Quá tình trạng và cắt giảm). Điều này sẽ tạo ra các cây quá phức tạp với chất lượng dự đoán kém. Thay vì điều chỉnh các cây riêng lẻ, các cây được tập hợp lại để tạo ra những dự đoán tổng thể chính xác hơn.

Chúng tôi expect về sự khác biệt trong việc huấn luyện và kiểm tra độ chính xác của một khu rừng ngẫu nhiên. Độ chính xác khi huấn luyện của một khu rừng ngẫu nhiên thường cao hơn nhiều (đôi khi bằng 100%). Tuy nhiên, độ chính xác của quá trình huấn luyện rất cao trong một khu rừng ngẫu nhiên là bình thường và không có nghĩa là khu rừng ngẫu nhiên đó được trang bị quá mức.

Hai nguồn ngẫu nhiên (đóng gói và lấy mẫu thuộc tính) đảm bảo tính độc lập tương đối giữa các cây quyết định. Sự độc lập này sẽ điều chỉnh tình trạng quá mức của cây quyết định riêng lẻ. Do đó, trang phục không bị quá mức. Chúng tôi sẽ minh hoạ hiệu ứng không trực quan này trong bài tiếp theo.

Rừng ngẫu nhiên thuần được huấn luyện mà không có độ sâu tối đa hoặc số lần quan sát tối thiểu trên mỗi lá. Trong thực tế, việc giới hạn độ sâu tối đa và số lượng quan sát tối thiểu trên mỗi lá sẽ mang lại lợi ích. Theo mặc định, nhiều khu rừng ngẫu nhiên sử dụng các giá trị mặc định sau:

  • độ sâu tối đa ~16
  • số lần quan sát tối thiểu trên mỗi lá ~ 5.

Bạn có thể điều chỉnh các siêu tham số này.

Mã YDF
Bộ dò của YDF là một cách đơn giản để điều chỉnh siêu tham số. Hãy xem Hướng dẫn điều chỉnh của YDF để biết thêm thông tin chi tiết.

Độ rõ của tiếng ồn

Tại sao tiếng ồn ngẫu nhiên lại cải thiện chất lượng của một khu rừng ngẫu nhiên? Để minh hoạ các lợi ích của nhiễu ngẫu nhiên, Hình 22 cho thấy các dự đoán của cây quyết định cổ điển (đã bị cắt bớt) và một khu rừng ngẫu nhiên được huấn luyện dựa trên một vài ví dụ về bài toán hai chiều đơn giản có mẫu hình elip.

Các mô hình elip cực kỳ khó đối với các thuật toán rừng quyết định và cây quyết định trong việc học hỏi trong các điều kiện căn chỉnh theo trục, vì vậy, đây là một ví dụ điển hình. Xin lưu ý rằng cây quyết định bị cắt bớt không thể có cùng chất lượng dự đoán như khu rừng ngẫu nhiên.

Ba hình minh hoạ. Hình minh hoạ đầu tiên, có tên Ground Truth, là một hình elip hoàn hảo. Hình minh hoạ thứ hai có nhãn Cây quyết định bị cắt bỏ nằm ở đâu đó giữa hình elip và hình chữ nhật. Hình minh hoạ thứ ba có nhãn Khu rừng ngẫu nhiên không hoàn toàn là hình elip nhưng gần với hình elip hơn nhiều so với hình minh hoạ có nhãn Cây quyết định bị cắt tỉa.

Hình 22. Dữ liệu thực tế so với các dự đoán do một cây quyết định bị cắt bớt tạo ra và các dự đoán do một khu rừng ngẫu nhiên tạo ra.

Biểu đồ tiếp theo cho thấy thông tin dự đoán của 3 cây quyết định chưa được cắt tỉa đầu tiên của khu rừng ngẫu nhiên; tức là các cây quyết định đều được huấn luyện bằng tổ hợp:

  • đóng túi
  • lấy mẫu thuộc tính
  • tắt tính năng cắt giảm

Lưu ý rằng các dự đoán riêng lẻ của 3 cây quyết định này tệ hơn so với dự đoán của cây quyết định bị cắt bớt trong hình trước. Tuy nhiên, vì lỗi của từng cây quyết định riêng lẻ chỉ có tương quan yếu, nên 3 cây quyết định kết hợp trong một tập hợp để tạo ra các dự đoán hiệu quả.

Ba hình elip rất nhiễu.

Hình 23. Ba cây quyết định được cắt bớt sẽ tạo nên một tập hợp hiệu quả.

Vì cây quyết định của một khu rừng ngẫu nhiên không được cắt tỉa, nên việc huấn luyện một khu rừng ngẫu nhiên không yêu cầu tập dữ liệu xác thực. Trong thực tế, và đặc biệt là trên các tập dữ liệu nhỏ, các mô hình nên được huấn luyện dựa trên mọi dữ liệu có sẵn.

Khi huấn luyện một khu rừng ngẫu nhiên, khi có thêm nhiều cây quyết định được thêm vào thì lỗi hầu như luôn giảm; nghĩa là chất lượng của mô hình hầu như luôn cải thiện. Có, việc thêm nhiều cây quyết định hầu như luôn giảm lỗi của khu rừng ngẫu nhiên. Nói cách khác, việc thêm nhiều cây quyết định sẽ không thể làm cho khu rừng ngẫu nhiên dư thừa. Tại một thời điểm nào đó, mô hình này sẽ ngừng cải thiện. Leo Breiman nổi tiếng khi nói: "Khu rừng ngẫu nhiên không quá phù hợp vì thêm nhiều cây xanh hơn".

Ví dụ: biểu đồ sau đây cho thấy kết quả đánh giá thử nghiệm của một mô hình rừng ngẫu nhiên khi có thêm nhiều cây quyết định được thêm vào. Độ chính xác nhanh chóng cải thiện cho đến khi cao nguyên khoảng 0,865. Tuy nhiên, việc thêm nhiều cây quyết định không làm giảm độ chính xác; nói cách khác,mô hình không quá phù hợp. Hành vi này (hầu như) luôn đúng và độc lập với siêu tham số.

Biểu đồ về độ chính xác so với số lượng cây quyết định được mô tả trong đoạn trước.

Hình 24. Độ chính xác không đổi vì có nhiều cây quyết định được thêm vào rừng ngẫu nhiên.