Cách diễn giải Giảm trung bình về độ chính xác và Giảm trung bình GINI trong các mô hình Rừng ngẫu nhiên


34

Tôi đang gặp một số khó khăn để hiểu cách diễn giải đầu ra quan trọng khác nhau từ gói Rừng ngẫu nhiên. Độ giảm độ chính xác trung bình thường được mô tả là "sự giảm độ chính xác của mô hình do hoán vị các giá trị trong mỗi tính năng".

Đây có phải là một tuyên bố về toàn bộ tính năng hoặc về các giá trị cụ thể trong tính năng không? Trong cả hai trường hợp, Độ giảm trung bình trong Độ chính xác có phải là số lượng hoặc tỷ lệ quan sát được phân loại không chính xác bằng cách xóa tính năng (hoặc giá trị khỏi tính năng) trong mô hình không?

Nói rằng chúng ta có mô hình sau:

require(randomForest)
data(iris)
set.seed(1)
dat <- iris
dat$Species <- factor(ifelse(dat$Species=='virginica','virginica','other'))
model.rf <- randomForest(Species~., dat, ntree=25,
importance=TRUE, nodesize=5)
model.rf
varImpPlot(model.rf)

Call:
 randomForest(formula = Species ~ ., data = dat, ntree = 25,
 proximity = TRUE, importance = TRUE, nodesize = 5)

Type of random forest: classification
Number of trees: 25
No. of variables tried at each split: 2

        OOB estimate of  error rate: 3.33%
Confusion matrix:
          other virginica class.error
other        97         3        0.03
virginica     2        48        0.04

nhập mô tả hình ảnh ở đây

Trong mô hình này, tỷ lệ OOB khá thấp (khoảng 5%). Tuy nhiên, mức giảm trung bình về độ chính xác của yếu tố dự đoán (Petal.Lipse) với giá trị cao nhất trong biện pháp này chỉ vào khoảng 8.

Điều này có nghĩa là việc loại bỏ Petal.Lipse khỏi mô hình sẽ chỉ dẫn đến việc phân loại sai thêm 8 lần quan sát trung bình?

Làm thế nào có thể làm giảm độ chính xác trung bình của Petal.


thử dat <- iris [, c (2: 3,5)] và sẽ nhận được giá trị VI cao hơn
Soren Havelund Welling 22/2/2016

Câu trả lời:


26

" Đây có phải là tuyên bố về toàn bộ tính năng hoặc về các giá trị cụ thể trong tính năng không? "

  • Tầm quan trọng của biến "toàn cầu" là mức giảm độ chính xác trung bình trên tất cả các dự đoán được xác thực chéo túi, khi một biến đã cho được thẩm thấu sau khi đào tạo, nhưng trước khi dự đoán. "Toàn cầu" là ẩn. Tầm quan trọng của biến cục bộ là mức giảm trung bình của độ chính xác theo từng dự đoán xác thực chéo túi riêng lẻ. Tầm quan trọng của biến toàn cầu là phổ biến nhất, vì nó là một số duy nhất cho mỗi biến, dễ hiểu hơn và mạnh mẽ hơn vì nó được tính trung bình trên tất cả các dự đoán.

" Trong cả hai trường hợp, Độ giảm trung bình trong Độ chính xác có phải là số lượng hoặc tỷ lệ quan sát được phân loại không chính xác bằng cách xóa tính năng (hoặc giá trị khỏi tính năng) trong mô hình không? "

  1. đào tạo rừng
  2. đo độ chính xác CV ngoài túi → OOB_acc_base
  3. biến hoán vị i
  4. đo độ chính xác CV ngoài túi → OOB_acc_perm_i
  5. VI_i = - (OOB_acc_perm_i - OOB_acc_base)

- " Điều này có nghĩa là việc loại bỏ Petal.Lipse khỏi mô hình sẽ chỉ dẫn đến việc phân loại sai thêm 8 lần quan sát trung bình? "

  • Vâng. Cả Petal.length và Petal. Thong chỉ có sự phân tách tuyến tính gần như hoàn hảo. Do đó, các biến chia sẻ thông tin dư thừa và chỉ cho phép một biến không cản trở mô hình.

" Làm thế nào mức giảm trung bình về độ chính xác của cánh hoa có thể thấp đến mức có thể là mức cao nhất trong biện pháp này và do đó, các biến khác có giá trị thấp hơn trong biện pháp này? "

  • Khi một mô hình mạnh mẽ / chính quy được đào tạo về các biến dư thừa, nó hoàn toàn chống lại các hoán vị trong các biến đơn.

Chủ yếu sử dụng tầm quan trọng của biến chủ yếu để xếp hạng tính hữu dụng của các biến của bạn. Một sự giải thích rõ ràng về các giá trị tuyệt đối của tầm quan trọng thay đổi là khó để làm tốt.

GINI: Tầm quan trọng của GINI đo lường mức tăng trung bình của độ tinh khiết bằng cách chia một biến số đã cho. Nếu biến là hữu ích, nó có xu hướng tách các nút có nhãn hỗn hợp thành các nút lớp đơn thuần. Chia tách bởi một biến được hoán vị có xu hướng không làm tăng hoặc giảm độ tinh khiết của nút. Cho phép một biến hữu ích, có xu hướng giảm tương đối lớn trong mức tăng gini trung bình. Tầm quan trọng của GINI liên quan chặt chẽ đến chức năng quyết định cục bộ, rằng rừng ngẫu nhiên sử dụng để chọn phân chia có sẵn tốt nhất. Do đó, không mất nhiều thời gian để tính toán. Mặt khác, mức tăng gini trung bình trong các phân tách cục bộ, không nhất thiết là những gì hữu ích nhất để đo lường, trái ngược với thay đổi hiệu suất mô hình tổng thể. Tầm quan trọng của Gini nói chung kém hơn tầm quan trọng của biến (dựa trên hoán vị) vì nó tương đối thiên vị hơn, không ổn định hơn và có xu hướng trả lời một câu hỏi gián tiếp hơn.


Đối với việc giải thích tầm quan trọng biến ngoài bảng xếp hạng đơn giản, hãy kiểm tra: "đơn biến lựa chọn biến cho vấn đề phân loại" -Vivian W. Ng và Leo Breiman digitalassets.lib.berkeley.edu/sdtr/ucb/text/692.pdf
Soren Havelund Welling

Cảm ơn rất nhiều vì bạn đã trả lời! Tôi đã thấy một số nơi mô tả sự giảm độ chính xác trung bình là sự gia tăng tỷ lệ lỗi OOB (tỷ lệ phần trăm). Công thức bạn đã đăng dường như cũng đề xuất tỷ lệ lỗi: (OOB_acc_perm_i - OOB_acc_base). Nhưng bạn có chắc rằng Giảm Độ chính xác có nghĩa là số lượng các quan sát được phân loại không chính xác?
FlacoT

1
Hãy nhớ điểm trừ ở phía trước, vì tầm quan trọng của biến là giảm. Tôi không quá cụ thể với các đơn vị, chúng có thể được biểu thị bằng% hoặc tỷ lệ / tỷ lệ thuần túy, không quan trọng. Nhưng có như độ chính xác = 1-error_rate, VI_i = error_rate_perm_i - error_rate_base. Đối với hồi quy, đơn vị của tầm quan trọng của biến hoán vị thường là giảm% phương sai được giải thích và đơn vị của mức độ quan trọng của gini là mức giảm trung bình của mean_sapes_error-gain. "Nhưng bạn có chắc rằng Giảm Độ chính xác trung bình có liên quan đến số lượng quan sát được phân loại không chính xác không? " -Không, độ chính xác là một phân số, không phải là số đếm.
Soren Havelund Welling

10

Dưới đây là mô tả về độ chính xác giảm trung bình (MDA) từ hướng dẫn trợ giúp của RandomForest:

Biện pháp đầu tiên được tính từ việc hoán vị dữ liệu OOB: Đối với mỗi cây, lỗi dự đoán trên phần ngoài túi của dữ liệu được ghi lại (tỷ lệ lỗi để phân loại, MSE cho hồi quy). Sau đó, tương tự được thực hiện sau khi hoán vị từng biến dự đoán. Sự khác biệt giữa hai loại sau đó được tính trung bình trên tất cả các cây và được chuẩn hóa bằng độ lệch chuẩn của các khác biệt. Nếu độ lệch chuẩn của chênh lệch bằng 0 cho một biến, thì phép chia không được thực hiện (nhưng trung bình hầu như luôn luôn bằng 0 trong trường hợp đó).

Theo mô tả, "độ chính xác" trong MDA thực sự đề cập đến độ chính xác của các mô hình cây đơn lẻ , bất kể thực tế là chúng ta quan tâm nhiều hơn đến tỷ lệ lỗi của rừng . Vì thế,

"Điều này có nghĩa là việc loại bỏ Petal. Bước ra khỏi mô hình sẽ chỉ dẫn đến việc phân loại sai thêm 8 lần quan sát trung bình?"

  • Thứ nhất, MDA (quy mô theo mặc định) theo quy định trên là giống như một thống kê kiểm tra: Các quy mô không phải là tỷ lệ phần trăm hoặc số lượng quan sát.

    Mean(Decreases in Accuracy of Trees)StandardDeviation(Decreases in Accuracy of Trees)
  • Thứ hai, ngay cả MDA không được đánh giá, tức là , không nói gì về tính chính xác của mô hình rừng (toàn bộ cây bằng cách bỏ phiếu).Mean(Decreases in Accuracy of Trees)

Tóm lại, đầu ra MDA theo gói RandomForest không phải là về tỷ lệ lỗi cũng như số lỗi, nhưng được giải thích tốt hơn là thống kê kiểm tra trong kiểm tra giả thuyết: so với H 1 : Các nút được xây dựng bởi công cụ dự đoán  i  là hữu ích

H0:Nodes constructed by predictor i is useless in any single trees
H1:Nodes constructed by predictor i is useful

Một lưu ý, quy trình MDA được mô tả bởi Soren khác với việc thực hiện gói RandomForest. Nó gần hơn với những gì chúng ta mong muốn từ một MDA: sự giảm độ chính xác của toàn bộ mô hình rừng. Tuy nhiên, mô hình có thể sẽ được trang bị khác mà không có Petal.Lipse và phụ thuộc nhiều hơn vào các dự đoán khác. Do đó MDA của Soren sẽ quá bi quan.


Hai câu hỏi tiếp theo: 1. Bất kỳ ý tưởng nào nếu các gói khác sử dụng MDA trực quan hơn được mô tả bởi @Soren? 2. Nếu việc giải thích MDA trong RandomForest là một thống kê kiểm tra, thì có bất cứ điều gì giống như quy tắc ngón tay cái về việc thống kê kiểm tra đủ lớn là gì để từ chối H0 không? MDA có tuân theo một số phân phối đã biết không?
FlacoT

1. Xin lỗi, tôi đã không thử bất kỳ gói nào khác. 2. Nó chỉ đơn giản là giống như một thống kê kiểm tra. Không thể phân phối có thể truy cập được (theo như tôi biết ít người đã xem xét về vấn đề này) cũng như bản thân bài kiểm tra có ý nghĩa - Tôi không nghĩ bài kiểm tra kết luận bất cứ điều gì về RỪNG, đó là mối quan tâm thực sự của chúng tôi.
Jianyu

4

Một (bài đăng trên blog) gần đây [ https://explained.ai/rf-importance/index.html] từ một nhóm tại Đại học San Francisco cho thấy các chiến lược quan trọng mặc định trong cả R (RandomForest) và Python (scikit) là không đáng tin cậy trong nhiều kịch bản dữ liệu. Cụ thể, mức giảm trung bình của các số liệu về tầm quan trọng của tạp chất bị sai lệch khi các biến dự đoán tiềm năng thay đổi theo thang đo hoặc số lượng danh mục của chúng.

Các bài báo và bài đăng trên blog cho thấy các biến số cardinality liên tục và cao được ưa thích như thế nào trong việc giảm trung bình thứ hạng quan trọng của tạp chất, ngay cả khi chúng không chính xác như nhau so với các biến có ít danh mục hơn. Các tác giả đề nghị sử dụng tầm quan trọng hoán vị thay vì mặc định trong những trường hợp này. Nếu các biến dự đoán trong mô hình của bạn có mối tương quan cao, tầm quan trọng hoán vị có điều kiện được đề xuất.

Tạp chất bị sai lệch vì tại mỗi lần điểm dừng được chọn trong một biến, mọi cấp độ của biến được kiểm tra để tìm điểm phá vỡ tốt nhất. Các biến số cardinality liên tục hoặc cao sẽ có nhiều điểm phân chia hơn, điều này dẫn đến vấn đề nhiều thử nghiệm của YouTube. Đó là, có khả năng cao hơn là tình cờ biến số đó dự đoán kết quả tốt, vì các biến, trong đó nhiều lần phân tách được thử, sẽ xuất hiện thường xuyên hơn trong cây.

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.