Tại sao ước tính lỗi OOB rừng ngẫu nhiên cải thiện khi số lượng tính năng được chọn bị giảm?


14

Tôi đang áp dụng thuật toán rừng ngẫu nhiên làm phân loại trên bộ dữ liệu microarray được chia thành hai nhóm được biết đến với 1000 tính năng. Sau lần chạy đầu tiên, tôi xem xét tầm quan trọng của các tính năng và chạy lại thuật toán cây với các tính năng quan trọng nhất 5, 10 và 20. Tôi thấy rằng đối với tất cả các tính năng, top 10 và 20 ước tính tỷ lệ lỗi của OOB là 1,19% trong khi đối với 5 tính năng hàng đầu thì nó là 0%. Điều này có vẻ phản trực giác đối với tôi, vì vậy tôi đã tự hỏi liệu bạn có thể giải thích liệu tôi đang thiếu thứ gì đó hay tôi đang sử dụng sai số liệu.

Tôi sử dụng gói RandomForest trong R với ntree = 1000, odesize = 1 và mtry = sqrt (n)


2
Nói rõ hơn: Bạn đang áp dụng RF theo cách lặp, nghĩa là bằng cách chọn các tính năng được xếp hạng hàng đầu (theo chỉ số Gini hoặc giảm MSE) từ toàn bộ không gian đầu vào? Tôi biết rằng các RF có thể không nhất thiết phải cải thiện khi tăng số lượng cây, nhưng những gì bạn đang mô tả dường như có ý nghĩa (các tính năng tốt nhất cho phép dự đoán với độ chính xác 100% của các mẫu OOB), mặc dù rõ ràng có nguy cơ bị quá mức khi tiến hành theo cách này .
chl

Vâng, đó là những gì tôi đang làm
danielsbrewer

2
@chl, bạn có thể giải thích tại sao có nguy cơ quá mức khi chỉ sử dụng 5 tính năng không?
tashuhka

Câu trả lời:


15

Đây là tính năng lựa chọn vượt trội và điều này khá nổi tiếng - xem Ambroise & McLachlan 2002 . Vấn đề dựa trên thực tế là RF quá thông minh và số lượng đối tượng quá ít. Trong trường hợp sau, nhìn chung khá dễ dàng để tạo ngẫu nhiên thuộc tính có thể có mối tương quan tốt với quyết định. Và khi số lượng thuộc tính lớn, bạn có thể chắc chắn rằng một số thuộc tính hoàn toàn không liên quan sẽ là một yếu tố dự đoán rất tốt, thậm chí đủ để tạo thành một cụm có thể tái tạo quyết định trong 100%, đặc biệt là khi tính linh hoạt rất lớn của RF được xem xét. Và do đó, rõ ràng là khi được hướng dẫn tìm tập hợp con các thuộc tính tốt nhất có thể, thủ tục FS tìm thấy cụm này.
Một giải pháp (CV) được đưa ra trong A & McL, bạn cũng có thể kiểm tra cách tiếp cận của chúng tôi đối với chủ đề,Thuật toán Boruta , về cơ bản mở rộng tập hợp với "thuộc tính bóng" được tạo ngẫu nhiên theo thiết kế và so sánh tầm quan trọng RF của chúng với giá trị thực này để đánh giá thuộc tính nào thực sự ngẫu nhiên và có thể được loại bỏ; điều này được nhân rộng nhiều lần để có ý nghĩa Boruta có ý định thực hiện một nhiệm vụ khác một chút, nhưng theo như các thử nghiệm của tôi cho thấy, bộ kết quả không có vấn đề về sự phù hợp của FS.


2

Tôi nghĩ rằng tôi sẽ thêm một lời giải thích trực quan cho mẫu này.

Trong mỗi cây quyết định bao gồm rừng ngẫu nhiên, dữ liệu được lặp lại theo các chiều đơn lẻ. Điều quan trọng, thủ tục này liên quan đến

1) chỉ xem xét một tập hợp con nhỏ, được chọn ngẫu nhiên trong tất cả các biến giải thích và

2) chọn biến giải thích được liên kết mạnh nhất trong tập hợp con được chọn ngẫu nhiên này để phân chia dữ liệu theo.

Do đó, xác suất của n biến quan trọng nhất được chọn tại bất kỳ nút cụ thể nào sẽ giảm khi số lượng biến giải thích tăng lên. Do đó, nếu người ta thêm vào một số lượng lớn các biến đóng góp ít năng lực giải thích, nó sẽ tự động dẫn đến sự gia tăng tỷ lệ lỗi của rừng. Và ngược lại, chỉ chọn các biến quan trọng nhất để đưa vào sẽ rất có thể dẫn đến giảm tỷ lệ lỗi.

Các khu rừng ngẫu nhiên khá mạnh đối với điều này và nó thường đòi hỏi phải bổ sung rất lớn các tham số 'nhiễu' này để giảm hiệu suất một cách có ý nghĩa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.