Động lực đằng sau các bước thuật toán rừng ngẫu nhiên


11

Phương pháp mà tôi quen thuộc với việc xây dựng một khu rừng ngẫu nhiên như sau: (từ http: //www.stat.ber siêu.edu / ~breiman/RandomForests/cc_home.htmlm )

Để xây dựng một cái cây trong rừng, chúng tôi:

  1. Bootstrap một mẫu có kích thước N trong đó N là kích thước của tập huấn luyện của chúng tôi. Sử dụng mẫu bootstrapping này làm tập huấn luyện cho cây này.
  2. Tại mỗi nút của cây, chọn ngẫu nhiên m các tính năng M của chúng tôi. Chọn các tính năng tốt nhất của m để phân chia. (trong đó m là một tham số của Khu rừng ngẫu nhiên của chúng tôi)
  3. Trồng từng cây đến mức lớn nhất có thể - tức là không cắt tỉa.

Mặc dù thuật toán này có ý nghĩa ở cấp độ thủ tục và chắc chắn tạo ra kết quả tốt, tôi không rõ động cơ lý thuyết đằng sau các bước 1, 2 và 3. Ai đó có thể giải thích điều gì thúc đẩy ai đó đưa ra thủ tục này và tại sao nó làm việc rất tốt

Ví dụ: tại sao chúng ta cần thực hiện bước 1? Có vẻ như chúng tôi không khởi động cho mục đích thông thường là giảm phương sai.

Câu trả lời:


9

Các phương thức tập hợp (như rừng ngẫu nhiên) yêu cầu một số yếu tố biến đổi trong bộ dữ liệu mà các bộ phân loại cơ sở riêng lẻ được trồng (nếu không, các khu rừng ngẫu nhiên sẽ kết thúc với một rừng cây quá giống nhau). Vì cây quyết định rất nhạy cảm với các quan sát trong tập huấn luyện, nên việc thay đổi các quan sát (sử dụng bootstrap) là một cách tiếp cận tự nhiên để có được sự đa dạng cần thiết. Thay thế rõ ràng là thay đổi các tính năng được sử dụng, ví dụ đào tạo từng cây trên một tập hợp con của các tính năng ban đầu. Sử dụng các mẫu bootstrap cũng cho phép chúng tôi ước tính tỷ lệ lỗi ngoài túi (OOB) và mức độ quan trọng khác nhau.

2 về cơ bản là một cách khác để tiêm ngẫu nhiên vào rừng. Nó cũng có tác động làm giảm mối tương quan giữa các cây (bằng cách sử dụng giá trị mtry thấp), với sự đánh đổi (có khả năng) làm xấu đi sức mạnh dự đoán. Sử dụng giá trị mtry quá lớn sẽ khiến các cây ngày càng giống nhau (và cuối cùng bạn sẽ bị đóng bao)

Tôi tin rằng lý do không cắt tỉa là do thực tế là nó không cần thiết hơn bất cứ điều gì khác. Với một cây quyết định, thông thường bạn sẽ cắt tỉa nó vì nó rất dễ bị thừa. Tuy nhiên, bằng cách sử dụng các mẫu bootstrap và trồng nhiều cây, các khu rừng ngẫu nhiên có thể phát triển các cây mạnh riêng lẻ, nhưng không tương quan đặc biệt với nhau. Về cơ bản, các cây riêng lẻ đều phù hợp nhưng với điều kiện là các lỗi của chúng không tương quan với rừng nên chính xác một cách hợp lý.

Lý do nó hoạt động tốt tương tự như định lý bồi thẩm đoàn của Condorcet (và logic đằng sau các phương pháp như tăng cường). Về cơ bản, bạn có rất nhiều người học yếu, chỉ cần thực hiện tốt hơn so với đoán ngẫu nhiên. Nếu điều này là đúng, bạn có thể tiếp tục thêm những người học yếu và trong giới hạn bạn sẽ nhận được những dự đoán hoàn hảo từ nhóm của bạn. Rõ ràng điều này bị hạn chế do lỗi của người học trở nên tương quan, điều này ngăn cản cải thiện hiệu suất của đoàn.


Câu trả lời hay, và sự liên kết với định lý bồi thẩm đoàn của Condorcet có ý nghĩa. Chính thức, lý do nó hoạt động tốt là vì sự bất bình đẳng của jensen!
JEquihua
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.