Яким чином випадкові ліси не чутливі до людей, що пережили?


33

Я читав у кількох джерелах, включаючи це , про те, що випадкові ліси не чутливі до людей, що переживають люди (наприклад, Логістична регресія та інші методи боротьби з МС).

Однак дві інтуїції говорять мені про інше:

  1. Щоразу, коли будується дерево рішень, усі точки повинні бути класифіковані. Це означає, що навіть люди, що не впорядковуються, будуть класифіковані, а отже, впливатимуть на дерева рішень, де вони були вибрані під час прискорення.

  2. Запуск завантажень є частиною того, як RandomForest робить під вибірку. Бутстраппінг сприйнятливий для людей, що перебувають у стані.

Чи є який-небудь спосіб узгодити мою інтуїцію щодо її чутливості до людей, які не погоджуються з джерелами, які не згодні?


Відповідь нижче, дуже хороша. Інтуїтивна відповідь полягає в тому, що дерево рішень працює на розколи, а розщеплення не чутливі до залишків: розкол повинен потрапляти будь-де між двома групами точок, щоб розділити їх.
Уейн

Тому я припускаю, що якщо min_samples_leaf_nodeце так 1, то це може бути сприйнятливим до людей, що не мають права.
Хан

так, зразки min_samples та bootstrap здатні повністю зняти вплив 1b людей, що
переживають

Деякі статистики отримують тунельне бачення на цих інлейєрах, які можна передбачити і зрозуміти. Шануйте людей, що вижили, як "відомих невідомих" і цікавіться, чи ваша бізнес-модель крихка до них. Деякі люди, які переживають люди, є принципово непередбачуваними, але їх вплив є дуже реальним ... парафраза Н. Талеба, "Чорний лебідь"
Сорен Хавелунд Веллінг

Відповіді:


21

Ваша інтуїція правильна. Ця відповідь лише ілюструє це на прикладі.

Дійсно поширене неправильне уявлення про те, що CART / RF якимось чином є надійними для людей, що переживають люди.

Щоб проілюструвати відсутність стійкості РФ до наявності єдиного аутлайнера, ми можемо (злегка) змінити код, використаний у відповіді Сорена Хавелунда Веллінга вище, щоб показати, що одного «у» виходу людей достатньо, щоб повністю зрушити встановлену модель РФ. Наприклад, якщо обчислити середню похибку передбачення незабруднених спостережень як функцію відстані між зовнішньою стороною та рештою даних, ми можемо побачити (зображення нижче), що вводить одне зовнішнє (замінивши одне з вихідних спостережень за довільним значенням у просторі '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)
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")

введіть тут опис зображення

Як далеко? У наведеному вище прикладі одиночний настільки змінив придатність настільки, що середня помилка передбачення (для незабруднених) спостережень зараз становить 1-2 порядки більша, ніж це було б, якби модель була встановлена ​​на незабруднених даних.

Отже, неправда, що жоден зовнішній вигляд не може впливати на придатність РФ.

Крім того, як я зазначаю в інших місцях , з людьми, що переживають люди, набагато складніше впоратися, коли їх потенційно декілька (хоча вони не повинні мати велику частку даних, щоб виявити їх ефекти). Звичайно, забруднені дані можуть містити більше одного чужорідного; щоб виміряти вплив декількох людей, що переживають, на RF придатність, порівняйте графік зліва, отриманий від РФ на незабруднені дані, на графік праворуч, отриманий шляхом довільного зміщення 5% значень відповідей (код нижче відповіді) .

введіть тут опис зображення введіть тут опис зображення

Нарешті, в контексті регресії важливо зазначити, що люди, що випадають, можуть виділятися з основної маси даних як в дизайні, так і в просторі реакції (1). У специфічному контексті РФ, дизайнерські структури впливатимуть на оцінку гіпер-параметрів. Однак цей другий ефект проявляється більше, коли кількість вимірів велике.

Те, що ми спостерігаємо тут, є окремим випадком більш загального результату. Надзвичайна чутливість до людей, що переживають багатоваріантні методи пристосування даних, засновані на опуклих функціях втрат, була виявлена ​​багато разів. Дивіться (2) для ілюстрації в конкретному контексті методів ML.

Редагувати.

т

с=аргмаксс[pLвар(тL(с))+pRвар(тR(с))]

тLтRстLтRсpLтLpR=1-pLтR. Тоді можна надати стійкості "y" -простору деревам регресії (і, таким чином, РФ), замінивши функціональну дисперсію, використану в початковому визначенні, на надійну альтернативу. Це, по суті, підхід, використаний у (4), коли дисперсія замінена надійною M-оцінкою шкали.

  • (1) Розв’язування багатоваріантних випускників та очок важеля. Peter J. Rousseeuw та Bert C. van Zomeren Журнал Американської статистичної асоціації Vol. 85, № 411 (вересень, 1990), стор 633-639
  • (2) Шум випадкової класифікації перемагає всі випуклі потенційні підсилювачі. Філіп М. Лонг та Рокко А. Серведіо (2008). http://dl.acm.org/citation.cfm?id=1390233
  • (3) К. Бекер та У. Гетер (1999). Точка розбиття маскування багатовимірних правил ідентифікації зовнішньої форми.
  • (4) Галімберті, Г., Піллаті, М., Соффріті, Г. (2007). Міцні дерева регресії на основі M-оцінок. Statistica, LXVII, 173–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)]))

Дякую за детальну відповідь. Якщо в одному і тому ж просторі з високими розмірами є кілька людей, що стають випадаючими, виникає питання, які наші критерії для виклику "чужої людини"? У такому випадку мені цікаво, які гіпер-параметри можуть бути встановлені таким чином, щоб я апріорі міг задати якісь критерії для того, хто виходив?
Хан

1
До своєї відповіді я додав свої попередні коментарі. Я сподіваюсь, що тепер краще відповісти на ваше запитання!
user603

1
Спасибі. Що таке pі sу формулі?
Хан

1
Чому комбіновані люди (1a + 2) погані? У вашому прикладі модель RF ідеально відповідає структурі даних, 99,99% OOB MSE. Структура моделі середньої землі між двома кластерами є досить грубою, так, і більше продуктом моделі, ніж за даними. Але жодного висновку та / або передбачень не повинно бути в цій невідомій області, тому це не має значення. Абсолютна стійкість по відношенню до непрацездатних людей неминуче ігнорує рідкісні, але можливо важливі можливі події. Більшість альгоспів ML за замовчуванням займає середню позицію між стійкістю та «гнучкістю», але їх можна налаштувати для підвищення надійності.
Сорен Хавелунд Веллінг

1
@ user603 Нічого додати до технічної дискусії, окрім того, що «Серце темряви» було моєю улюбленою книжкою ще в дитинстві, з «Пробним процесом Франца Кафки» - найближчим часом (це може бути першим, якби воно було закінчене і, можливо, написане англійською мовою - тоді знову ж, можливо, це годилося, що воно не було закінчено). Я не дуже думав про це з іншого боку, окрім того, що я вважав «Серце темряви та випробування» (хорошими) людьми серед моря BS «серйозної літератури», я повинен був читати і робити BS світло-темну уяву і подібний аналіз на.
Марк Л. Стоун

11

outlier 1a: Цей зовнішній вигляд має одне або більше екстремальних значень ознак і віддалений від будь-якого іншого зразка. Зовнішній вигляд буде впливати на початкові розщеплення дерев, як і будь-який інший зразок, тому сильного впливу не має. Він матиме малу близькість до будь-якого іншого зразка і визначатиме структуру моделі лише у віддаленій частині простору функцій. Під час прогнозування більшість нових зразків, ймовірно, не будуть схожі на цей зовнішній вигляд, і вони рідко опиняться в одному і тому ж кінцевому вузлі. Більше того, дерева рішень розглядають особливості так, як якщо б вони були порядковими (ранжируючими). Значення є або меншим / рівним, або більшим, ніж точка зламу, тому не має значення, чи значення функції є надзвичайним.

outlier 1b: Для класифікації один окремий зразок може розглядатися як зовнішній, коли він вбудований в середину багатьох зразків іншого класу. Раніше я описав, як на цю модель вибірки за замовчуванням впливатиме цей зразок непарного класу, але лише дуже близький до вибірки.

зовнішній вигляд 2: Цей зовнішній вигляд має граничне цільове значення, можливо, у багато разів вище, ніж будь-які інші значення, але значення функції є нормальними. Частка дерев .631 матиме кінцевий вузол із цим зразком. Структура моделі впливатиме локально наближеною до зовнішньої. Зауважте, що структура моделі впливає в основному паралельно осі ознак, тому що вузли розділені односторонньо.

у=(х14+х24)12х1х2

введіть тут опис зображення

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)

Редагувати: коментар до користувача603

Так, для екстремальних людей, що переживають цільову шкалу, слід розглянути можливість трансформації цільової шкали перед запуском RF. Я додав нижче функцію robustModel (), яка налаштовує randomForest. Іншим рішенням буде перетворення журналу перед тренуванням.

.
##---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)]))

введіть тут опис зображення


Ви пишете "жоден інший прогноз не вплине". Якщо ви змістите свій одиночний набір, y[1]=200ви побачите, що це однократно призводить до того, що помилка передбачення на незабруднених спостереженнях стрибне на 20 разів!
user603

@ user603 Щоправда, в таких випадках масштаб цілі може бути монотонно перетворений перед передачею в РФ. Я додав "robustModel: робить моделі надійними" на свою відповідь ..... звичайно передбачити таку випадкову ціль (-ів) цільового типу (тип 2) залишається неможливим, але решта структури моделі не повинні страждати
Soren Havelund Welling

Перетворення Журналу взагалі не є рішенням проти сторонніх людей (це просто приховує проблему). Роботизація запропонованих вами РФ - це, по суті, підхід, який пропонують Галімберті, Г., Піллаті, М., Соффрітті, Г. (див. Мою відповідь). Основна відмінність полягає в тому, що ваш "robustModel" підхід має максимальну точку зриву 25% на просторі відповідей (він може витримати 25% або довільні "y'-outliers"), тоді як їхній "bdp" становить 50%. є надійним для людей, що вижили в дизайнерському просторі.
user603

8

Адже не самий алгоритм Random Forest є надійним для людей, що живуть, але базовим для нього є: дерево рішень . Дерева рішень виділяють нетипові спостереження на невеликі листки (тобто невеликі проміжки вихідного простору). Крім того, дерева рішень - це локальні моделі. На відміну від лінійної регресії, де однакове рівняння справедливо для всього простору, дуже проста модель локально підходить до кожного підпростору (тобто до кожного аркуша).

  • У випадку регресії це загалом модель регресії дуже низького порядку (зазвичай це лише середнє значення спостережень у листі).
  • Для класифікації - це більшість голосів.

Тому, наприклад, для регресії екстремальні значення не впливають на всю модель, оскільки вони усереднюються локально. Тому пристосування до інших значень не впливає.

Насправді ця бажана властивість переноситься на інші деревоподібні структури, як-от дендограми. Наприклад, ієрархічна кластеризація, давно, використовується для очищення даних, оскільки вона автоматично виділяє аберрантні спостереження на невеликі кластери. Див., Наприклад, Loureiro та ін. (2004). Виявлення зовнішнього використання методами кластеризації: програма очищення даних .

Таким чином, у двох словах, РФ успадковує свою нечутливість до людей, що втрачають чужість, від рекурсивного розподілу та підгонки локальної моделі .

Зауважте, що дерева рішень мають невеликі ухили, але з великою дисперсією: їх структура схильна до змін при невеликій модифікації навчального набору (видалення або додавання кількох спостережень). Але це не повинно помилятися з чутливістю до людей, що вижили, це вже інша справа.


Я фактично розглядав можливість використання кластеризації, як ви пропонуєте, для виявлення людей, що втрачають люди. Але тоді я не знаю, де застосувати кластеризацію. Чи слід застосовувати до labeledабоunlabeled дані? І як би досягти цього кластеризації на гетерогенних даних, що містять як категоричні, так і числові ознаки?
Хань
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.