Os avaliadores de árvores SEMPRE são tendenciosos?


9

Estou fazendo uma lição de casa sobre as Árvores de Decisão, e uma das perguntas que tenho que responder é "Por que os estimadores são construídos a partir de árvores, e como a ensacagem ajuda a reduzir sua variação?".

Agora, eu sei que os modelos com excesso de ajuste tendem a ter um viés muito baixo, porque tentam ajustar todos os pontos de dados. E, eu tinha um script em Python que encaixava uma árvore em algum conjunto de dados (com um único recurso. Era apenas um sinusóide, com alguns pontos negativos, figura abaixo). Então, eu me perguntava "bem, se eu reajustar demais os dados, posso obter o viés para zero?". E, mesmo com uma profundidade de 10000, ainda existem alguns pontos pelos quais a curva não passa.

insira a descrição da imagem aqui

Tentei procurar o porquê, mas não consegui encontrar uma explicação. Estou supondo que possa haver algumas árvores que passariam perfeitamente por todos os pontos, e que as que obtive foram apenas "azar". Ou que talvez um conjunto de dados diferente pudesse me fornecer um resultado imparcial (talvez um sinusóide perfeito?). Ou ainda, talvez os cortes feitos no início impossibilitem que outros cortes separem totalmente todos os pontos.

Portanto, levando em consideração esse conjunto de dados (já que pode ser diferente para outros), minha pergunta é: é possível ajustar demais uma árvore até o ponto em que o viés chega a zero ou sempre haverá algum viés, mesmo que seja realmente pequeno? E se sempre há pelo menos algum viés, por que isso acontece?

PS: Não sei se isso pode ser relevante, mas usei o DecisionTreeRegressorfrom sklearnpara ajustar o modelo aos dados.


3
Bem vindo ao nosso site! Observe que não há necessidade de adicionar um "obrigado antecipadamente" em sua pergunta, o melhor para agradecer é esperar até obter algumas respostas e aceitar (sinal verde) o que mais lhe ajudou! Se você ainda não o fez, por que não dar uma olhada no nosso tour para ver como este site funciona?
Silverfish

3
Considere uma função y = 0 e você está tentando ajustar y = f (x), em que x assume alguns valores aleatórios. Um estimador de árvore de decisão é enviesado nesse caso de admissão de canto?
jbowman

Respostas:


10

Um modelo de árvore de decisão nem sempre é mais tendencioso do que qualquer outro modelo de aprendizado.

Para ilustrar, vejamos dois exemplos. Seja uma variável uniforme aleatória em . Aqui estão possíveis processos estatísticos[ 0 , 1 ]X[0,1]

Verdade 1: dado que é uma função indicadora de X, mais ruído:XYX

YXI<.5(X)+N(0,1)

Verdade 2: dado que é uma função linear de , mais ruído:X XYXX

YXX+N(0,1)

Se ajustarmos uma árvore de decisão em ambas as situações, o modelo não será tendencioso na primeira situação, mas será tendencioso na segunda. Isso ocorre porque uma árvore binária de uma divisão pode recuperar o verdadeiro modelo de dados subjacente na primeira situação. No segundo, o melhor que uma árvore pode fazer é aproximar a função linear, movendo-se a intervalos cada vez mais finos - uma árvore de profundidade finita só pode chegar tão perto.

Se ajustarmos uma regressão linear em ambas as situações, o modelo será tendencioso na primeira situação, mas não tendencioso na segunda.

Portanto, para saber se um modelo é tendencioso, você precisa saber qual é o verdadeiro mecanismo de dados subjacente. Em situações da vida real, você nunca sabe disso, então nunca pode realmente dizer se um modelo na vida real é tendencioso ou não. Às vezes, pensamos que estamos totalmente certos por um longo tempo, mas o viés surge com uma compreensão mais profunda (Gravidade Newtoniana para Gravidade de Einstein é pelo menos um exemplo apócrifo).

Em certo sentido, esperamos que a maioria dos processos do mundo real (com algumas exceções) seja tão incognoscível que uma aproximação suficientemente razoável da verdade é que todos os nossos modelos são tendenciosos. Eu duvido que a pergunta esteja pedindo uma discussão filosófica profunda sobre a futilidade essencial da modelagem de processos estatísticos complexos, mas é divertido pensar nisso.


0

O fato de alguns pontos em seus dados ainda não estarem previstos pode ser devido a algo chamado erro irredutível. A teoria é que no aprendizado de máquina há um erro redutível e irredutível. A idéia do erro irredutível é que, por melhor que seja o seu modelo, ele nunca será perfeito. Isto é devido a algumas razões. Um, não importa quão robustos sejam seus recursos de treinamento, sempre haverá alguns recursos ocultos que afetam a saída que seus dados de treinamento não incluem. Outro motivo é que, em quase todos os dados, é provável que haja alguns outliers. Você sempre pode tentar tornar seus modelos o mais robustos possível, mas não importa o quanto tente, sempre existirão. (Isso não significa que você não deve pensar em discrepâncias ao criar seus modelos). E um detalhe final é que você não

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.