Rừng ngẫu nhiên không nhạy cảm với các ngoại lệ như thế nào?


33

Tôi đã đọc trong một số nguồn, bao gồm cả nguồn này , rằng Rừng ngẫu nhiên không nhạy cảm với các ngoại lệ (ví dụ như cách thức Hồi quy logistic và các phương thức ML khác).

Tuy nhiên, hai mảnh trực giác nói với tôi khác:

  1. Bất cứ khi nào một cây quyết định được xây dựng, tất cả các điểm phải được phân loại. Điều này có nghĩa là ngay cả các ngoại lệ sẽ được phân loại và do đó sẽ ảnh hưởng đến các cây quyết định nơi chúng được chọn trong quá trình tăng tốc.

  2. Bootstrapping là một phần trong cách RandomForest thực hiện lấy mẫu phụ. Bootstrapping dễ bị ngoại lệ.

Có cách nào để điều hòa trực giác của tôi về sự nhạy cảm của nó đối với các ngoại lệ, với các nguồn không đồng ý?


Câu trả lời, dưới đây, là rất tốt. Câu trả lời trực quan là một cây quyết định hoạt động trên các phần tách và tách không nhạy cảm với các ngoại lệ: một phần tách chỉ phải nằm ở bất kỳ vị trí nào giữa hai nhóm điểm để phân chia chúng.
Wayne

Vì vậy, tôi cho rằng nếu min_samples_leaf_node1, thì nó có thể dễ bị ngoại lệ.
Hunle

có min_samples và mẫu bootstrap có thể loại bỏ hoàn toàn ảnh hưởng của các ngoại lệ 1b trong hồi quy RF
Soren Havelund Welling

Một số nhà thống kê có được một tầm nhìn đường hầm về những điểm trừ đó, người ta có thể dự đoán và hiểu được. Hãy trân trọng những người ngoài cuộc là 'những điều chưa biết' và tự hỏi liệu mô hình kinh doanh của bạn có mong manh đối với họ không. Một số ngoại lệ về cơ bản là không thể đoán trước được, nhưng tác động của chúng là rất thật ... một cách diễn đạt của N. Taleb, 'Thiên nga đen'
Soren Havelund Welling

Câu trả lời:


21

Trực giác của bạn là chính xác. Câu trả lời này chỉ minh họa nó trên một ví dụ.

Đây thực sự là một quan niệm sai lầm phổ biến rằng GIỎI / RF bằng cách nào đó mạnh mẽ để vượt trội hơn.

Để minh họa sự thiếu mạnh mẽ của RF đối với sự hiện diện của một ngoại lệ duy nhất, chúng ta có thể (nhẹ) sửa đổi mã được sử dụng trong câu trả lời của Soren Havelund Welling ở trên để chỉ ra rằng một 'ngoại lệ duy nhất đủ để làm thay đổi hoàn toàn mô hình RF được trang bị. Ví dụ: nếu chúng ta tính toán lỗi dự đoán trung bình của các quan sát không bị nhiễm như là một hàm của khoảng cách giữa ngoại lệ và phần còn lại của dữ liệu, chúng ta có thể thấy (hình ảnh bên dưới) giới thiệu một ngoại lệ duy nhất (bằng cách thay thế một trong các quan sát ban đầu bởi một giá trị tùy ý trên 'y'-space) đủ để kéo các dự đoán của mô hình RF tùy ý cách xa các giá trị mà chúng sẽ có nếu được tính trên dữ liệu gốc (không bị nhiễm bẩn):

 library(forestFloor)
library(randomForest)
library(rgl)
set.seed(1)

X = data.frame(replicate(2,runif(2000)-.5))
y = -sqrt((X[,1])^4+(X[,2])^4)
X[1,]=c(0,0);
y2<-y
rg<-randomForest(X,y)   #RF model fitted without the outlier
outlier<-rel_prediction_error<-rep(NA,10)

for(i in 1:10){
    y2[1]=100*i+2
    rf=randomForest(X,y2)   #RF model fitted with the outlier
    rel_prediction_error[i]<-mean(abs(rf$predict[-1]-y2[-1]))/mean(abs(rg$predict[-1]-y[-1]))
    outlier[i]<-y2[1]
}
plot(outlier,rel_prediction_error,type='l',ylab="Mean prediction error (on the uncontaminated observations) \\\ relative to the fit on clean data",xlab="Distance of the outlier")

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

Bao xa? Trong ví dụ trên, ngoại lệ đơn lẻ đã thay đổi mức độ phù hợp đến mức các lỗi dự đoán trung bình (trên các quan sát không bị nhiễm bẩn) hiện lớn hơn 1-2 bậc so với trước đây, nếu mô hình được trang bị trên dữ liệu không bị nhiễm bẩn.

Vì vậy, không phải là một ngoại lệ duy nhất có thể ảnh hưởng đến sự phù hợp RF.

Hơn nữa, như tôi đã chỉ ra ở nơi khác , các ngoại lệ khó đối phó hơn khi có nhiều khả năng trong số chúng (mặc dù chúng không cần phải chiếm tỷ lệ lớn trong dữ liệu để các hiệu ứng của chúng hiển thị). Tất nhiên, dữ liệu bị ô nhiễm có thể chứa nhiều hơn một ngoại lệ; để đo lường tác động của một số ngoại lệ đối với độ phù hợp RF, hãy so sánh biểu đồ bên trái thu được từ RF trên dữ liệu không bị nhiễm với biểu đồ bên phải thu được bằng cách tự ý dịch chuyển 5% giá trị phản hồi (mã nằm dưới câu trả lời) .

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

Cuối cùng, trong bối cảnh hồi quy, điều quan trọng là chỉ ra rằng các ngoại lệ có thể nổi bật so với phần lớn dữ liệu trong cả không gian thiết kế và đáp ứng (1). Trong ngữ cảnh cụ thể của RF, các ngoại lệ thiết kế sẽ ảnh hưởng đến việc ước tính các siêu tham số. Tuy nhiên, hiệu ứng thứ hai này rõ ràng hơn khi số lượng kích thước lớn.

Những gì chúng tôi quan sát ở đây là một trường hợp cụ thể của một kết quả tổng quát hơn. Độ nhạy cực cao đối với các phương pháp phù hợp với dữ liệu đa biến dựa trên các hàm mất lồi đã được khám phá lại nhiều lần. Xem (2) để minh họa trong ngữ cảnh cụ thể của các phương thức ML.

Chỉnh sửa.

May mắn thay, trong khi thuật toán Cart / RF cơ bản rõ ràng không mạnh đối với các ngoại lệ, có thể (và yên tĩnh dễ dàng) để sửa đổi quy trình để truyền đạt độ mạnh mẽ của nó thành "y" -outliers. Bây giờ tôi sẽ tập trung vào hồi quy RF (vì đây cụ thể hơn là đối tượng của câu hỏi của OP). Chính xác hơn, viết tiêu chí chia tách cho một nút tùy ý là:t

S*= =tranh luậntối đaS[pLvar(tL(S))+pRvar(tR(S))]

Trong đó và là các nút con mới nổi phụ thuộc vào sự lựa chọn của ( và là các hàm ẩn của ) và biểu thị phần dữ liệu rơi vào nút con bên trái và là chia sẻ của dữ liệu trong . Sau đó, người ta có thể truyền "y" không gian mạnh mẽ cho cây hồi quy (và do đó là RF) bằng cách thay thế hàm phương sai được sử dụng trong định nghĩa ban đầu bằng một phương án mạnh mẽ. Về bản chất, đây là cách tiếp cận được sử dụng trong (4) trong đó phương sai được thay thế bằng công cụ ước lượng M mạnh mẽ của thang đo.tLtRS*tLtRSpLtLpR= =1-pLtR

  • (1) Bộc lộ các ngoại lệ đa điểm và các điểm đòn bẩy. Peter J. Rousseeuw và Bert C. van Zomeren Tạp chí của Hiệp hội Thống kê Hoa Kỳ Vol. 85, số 411 (tháng 9 năm 1990), trang 633-639
  • (2) Tiếng ồn phân loại ngẫu nhiên đánh bại tất cả các tên lửa đẩy tiềm năng lồi. Philip M. Long và Rocco A. Servedio (2008). http://dl.acm.org/cites.cfm?id=1390233
  • (3) C. Becker và U. Gather (1999). Điểm phá vỡ mặt nạ của các quy tắc xác định ngoại lệ đa biến.
  • (4) Galimberti, G., Pillati, M., & Soffritti, G. (2007). Cây hồi quy mạnh mẽ dựa trên ước lượng M. Statistica, LXVII, 173 Từ190.

    library(forestFloor)
    library(randomForest)
    library(rgl)
    set.seed(1)

    X<-data.frame(replicate(2,runif(2000)-.5))
    y<--sqrt((X[,1])^4+(X[,2])^4)
    Col<-fcol(X,1:2) #make colour pallete by x1 and x2
    #insert outlier2 and colour it black
    y2<-y;Col2<-Col
    y2[1:100]<-rnorm(100,200,1);    #outliers
    Col[1:100]="#000000FF" #black

    #plot training set
    plot3d(X[,1],X[,2],y,col=Col)
    rf=randomForest(X,y)    #RF on clean data
    rg=randomForest(X,y2)   #RF on contaminated data
    vec.plot(rg,X,1:2,col=Col,grid.lines=200)
    mean(abs(rf$predict[-c(1:100)]-y[-c(1:100)]))
    mean(abs(rg$predict[-c(1:100)]-y2[-c(1:100)]))

Cảm ơn câu trả lời chi tiết của bạn. Nếu có một số ngoại lệ trong cùng một không gian chiều cao, nó sẽ đặt ra câu hỏi tiêu chí của chúng ta để gọi một loại ngoại lệ là gì? Trong trường hợp đó, tôi tự hỏi những tham số siêu nào có thể được đặt để tôi có thể chỉ định một số loại tiêu chí cho một ngoại lệ?
Hunle

1
Tôi đã thêm ý kiến ​​trước đây của tôi vào câu trả lời của tôi. Tôi hy vọng nó bây giờ làm một công việc tốt hơn để trả lời câu hỏi của bạn!
dùng603

1
Cảm ơn. Những gì pstrong công thức?
Hunle

1
Tại sao các ngoại lệ kết hợp (1a + 2) xấu? Trong ví dụ của bạn, mô hình RF phù hợp hoàn hảo với cấu trúc dữ liệu, 99,99% OOB MSE. Cấu trúc mô hình của vùng đất giữa giữa hai cụm khá thô, vâng, và nhiều sản phẩm của mô hình hơn là dữ liệu. Nhưng, không nên suy luận và / hoặc dự đoán trong khu vực chưa biết này, vì vậy nó không thành vấn đề. Sự mạnh mẽ tuyệt đối đối với các ngoại lệ là không thể tránh khỏi việc bỏ qua các sự kiện hiếm có nhưng có lẽ quan trọng. Hầu hết các thuật toán ML theo mặc định sẽ có lập trường trung gian giữa độ mạnh và 'tính linh hoạt' nhưng có thể được điều chỉnh để tăng cường độ.
Soren Havelund Welling

1
@ user603 Không có gì để thêm vào cuộc thảo luận kỹ thuật, ngoài Heart of Darkness là cuốn sách yêu thích của tôi khi còn bé, với The Trial của Franz Kafka một giây gần gũi (có thể là lần đầu tiên nếu nó được hoàn thành và có lẽ được viết bằng tiếng Anh - sau đó một lần nữa, có lẽ nó phù hợp rằng nó chưa hoàn thành). Tôi đã không thực sự nghĩ về nó từ góc độ xa hơn, ngoài việc tôi coi Heart of Darkness và The Trials là (tốt) ngoài biển của BS "văn học nghiêm túc" Tôi phải đọc và làm BS tưởng tượng bóng tối và phân tích như trên.
Mark L. Stone

11

ngoại lệ 1a: Ngoại lệ này có một hoặc nhiều giá trị tính năng cực đoan và được đặt ở xa bất kỳ mẫu nào khác. Ngoại lệ sẽ ảnh hưởng đến sự phân chia ban đầu của cây như bất kỳ mẫu nào khác, do đó không có ảnh hưởng mạnh. Nó sẽ có độ gần thấp với bất kỳ mẫu nào khác và sẽ chỉ xác định cấu trúc mô hình trong một phần từ xa của không gian tính năng. Trong dự đoán, hầu hết các mẫu mới dường như không giống với ngoại lệ này và hiếm khi kết thúc trong cùng một nút thiết bị đầu cuối. Hơn nữa, cây quyết định liên quan đến các tính năng như thể chúng là thứ tự (xếp hạng). Giá trị này nhỏ hơn / bằng hoặc lớn hơn điểm dừng, do đó, không có vấn đề gì nếu giá trị tính năng là một ngoại lệ cực đoan.

ngoại lệ 1b: Để phân loại, một mẫu đơn có thể được coi là ngoại lệ, khi được nhúng vào giữa nhiều mẫu của một lớp khác. Tôi đã mô tả trước đó về cách một mô hình RF mặc định sẽ bị ảnh hưởng bởi một mẫu lớp lẻ này, nhưng chỉ rất gần với mẫu.

ngoại lệ 2: Ngoại lệ này có giá trị mục tiêu cực cao có thể cao hơn nhiều lần so với bất kỳ giá trị nào khác, nhưng các giá trị tính năng là bình thường. Một phần .631 của cây sẽ có nút đầu cuối với mẫu này. Cấu trúc mô hình sẽ bị ảnh hưởng cục bộ gần với ngoại lệ. Lưu ý cấu trúc mô hình bị ảnh hưởng chủ yếu song song với trục tính năng, bởi vì các nút được phân chia đơn phương.

Tôi đã bao gồm một mô phỏng hồi quy RF của ngoại lệ_2. 1999 điểm được rút ra từ cấu trúc tròn trơn tru và một điểm ngoại lệ với giá trị mục tiêu cao hơn nhiều (y = 2, = 0, = 0). Tập huấn luyện được hiển thị bên trái. Cấu trúc mô hình RF đã học được hiển thị bên phải.y= =(x14+x24)12x1x2

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

library(forestFloor)
library(randomForest)
library(rgl)
set.seed(1)

X = data.frame(replicate(2,runif(2000)-.5))
y = -sqrt((X[,1])^4+(X[,2])^4)^1
Col = fcol(X,1:2) #make colour pallete by x1 and x2
#insert outlier2 and colour it black
X[1,] = c(0,0);y[1]=2 ;Col[1] = "#000000FF" #black

#plot training set
plot3d(X[,1],X[,2],y,col=Col)

rf = randomForest(X,y)
vec.plot(rf,X,1:2,col=Col,grid.lines = 400)

EDIT: bình luận cho người dùng603

Có đối với các ngoại lệ cực đoan trên thang đo mục tiêu, người ta nên xem xét để chuyển đổi quy mô mục tiêu trước khi chạy RF. Tôi đã thêm vào bên dưới một hàm mạnh mẽModel () để điều chỉnh RandomForest. Một giải pháp khác là đăng nhập biến đổi trước khi đào tạo.

.
##---code by user603
library(forestFloor)
library(randomForest)
library(rgl)
set.seed(1)

X<-data.frame(replicate(2,runif(2000)-.5))
y<--sqrt((X[,1])^4+(X[,2])^4)
Col<-fcol(X,1:2) #make colour pallete by x1 and x2

#insert outlier2 and colour it black
y2<-y;Col2<-Col
y2[1:100]<-rnorm(100,200,1);    #outliers
Col2[1:100]="#000000FF" #black
##---

#function to make models robust
robustModel = function(model,keep.outliers=TRUE) {
  f = function(X,y,lim=c(0.1,.9),keep.outliers="dummy",...) {
  limits = quantile(y,lim)
  if(keep.outliers) {#keep but reduce outliers
  y[limits[1]>y] = limits[1] #lower limit
  y[limits[2]<y] = limits[2] #upper limit
  } else {#completely remove outliers
    thrashThese = mapply("||",limits[1]>y,limits[2]>y)
    y = y[thrashThese]
    X = X[thrashThese,]
  }
  obj = model(x=X,y=y,...)
  class(obj) = c("robustMod",class(obj))
  return(obj)
  }
  formals(f)$keep.outliers = keep.outliers
  return(f)
}

robustRF = robustModel(randomForest) #make RF robust
rh = robustRF(X,y2,sampsize=250)     #train robustRF
vec.plot(rh,X,1:2,col=Col2)          #plot model surface
mean(abs(rh$predict[-c(1:100)]-y2[-c(1:100)]))

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


Bạn viết "không có dự đoán nào khác sẽ bị ảnh hưởng". Nếu bạn thay đổi ngoại lệ duy nhất của bạn để đặt, y[1]=200bạn sẽ thấy rằng nó một mình gây ra lỗi dự đoán trên các quan sát không bị nhiễm bẩn để nhảy theo hệ số 20!
user603

@ user603 Đúng như vậy, trong những trường hợp như vậy, thang đo mục tiêu có thể được chuyển đổi đơn điệu trước khi trao cho RF. Tôi đã thêm một 'strongModel: làm cho các mô hình trở nên mạnh mẽ' vào câu trả lời của tôi ..... tất nhiên để dự đoán (các) mục tiêu ngẫu nhiên như vậy (loại 2) vẫn không thể, nhưng cấu trúc mô hình còn lại không phải chịu đựng
Soren Havelund Welling

Nói chung, biến đổi Log không phảimột giải pháp chống lại các ngoại lệ (nó chỉ che giấu vấn đề). Việc củng cố RF mà bạn đề xuất về cơ bản là cách tiếp cận được ủng hộ ở Galimberti, G., Pillati, M., & Soffritti, G. (xem câu trả lời của tôi). Sự khác biệt chính là cách tiếp cận '' strongModel "của bạn có điểm phân tích tối đa 25% trên không gian phản hồi (nó có thể chịu được 25% hoặc tùy ý 'y'-outliers) trong khi phương pháp của họ có tỷ lệ bdp là 50%. mạnh mẽ để
vượt trội hơn

8

Bản thân thuật toán Random Forest không phải là mạnh mẽ đối với các ngoại lệ, mà là người học cơ sở dựa trên: cây quyết định . Cây quyết định phân lập các quan sát không điển hình thành các lá nhỏ (nghĩa là các không gian nhỏ của không gian ban đầu). Hơn nữa, cây quyết định là mô hình địa phương . Không giống như hồi quy tuyến tính, trong đó cùng một phương trình cho toàn bộ không gian, một mô hình rất đơn giản được trang bị cục bộ cho từng không gian con (nghĩa là cho mỗi lá).

  • Trong trường hợp hồi quy, nó thường là mô hình hồi quy bậc rất thấp (thường chỉ là trung bình của các quan sát trong lá).
  • Để phân loại, nó là đa số bỏ phiếu.

Do đó, đối với hồi quy chẳng hạn, các giá trị cực trị không ảnh hưởng đến toàn bộ mô hình vì chúng được lấy trung bình cục bộ. Vì vậy, sự phù hợp với các giá trị khác không bị ảnh hưởng.

Trên thực tế, tài sản mong muốn này mang đến các cấu trúc giống như cây khác, như hình vẽ. Ví dụ, phân cụm theo phân cấp, từ lâu đã được sử dụng để làm sạch dữ liệu vì nó tự động cách ly các quan sát bất thường thành các cụm nhỏ. Xem ví dụ Loureiro et al. (2004). Phát hiện ngoại lệ bằng các phương pháp phân cụm: một ứng dụng làm sạch dữ liệu .

Vì vậy, một cách ngắn gọn, RF thừa hưởng sự vô cảm của nó đối với các ngoại lệ từ phân vùng đệ quy và điều chỉnh mô hình cục bộ .

Lưu ý rằng cây quyết định là mô hình sai lệch thấp nhưng phương sai cao: cấu trúc của chúng có xu hướng thay đổi khi có một sửa đổi nhỏ của tập huấn luyện (loại bỏ hoặc thêm một vài quan sát). Nhưng điều này không nên nhầm lẫn với sự nhạy cảm với các ngoại lệ, đây là một vấn đề khác.


Tôi thực sự đã cân nhắc sử dụng một phương pháp phân cụm, như bạn đề xuất, để phát hiện các ngoại lệ. Nhưng sau đó, tôi không chắc chắn nơi áp dụng phân cụm. Nó nên được áp dụng cho labeledhoặc unlabeleddữ liệu? Và làm thế nào để phân cụm này đạt được trên dữ liệu không đồng nhất có chứa cả các tính năng phân loại và số?
Hunle
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.