fundo:
em xgboost os tentativas de iteração para caber uma árvore f t sobre todos os n exemplos que minimiza o seguinte objectivo:
onde são de primeira ordem e segunda derivadas de ordem mais nosso anterior melhor estimativa y (de iteração t - 1 ):
e é a nossa função de perda.
A questão (finalmente):
Ao construir e considerando uma característica específica k em uma fração específica, eles usam o seguinte heurística para avaliar única alguns candidatos divididos: eles ordenam todos os exemplos por sua x k , passar por cima da lista ordenada e soma sua segunda derivada h i . Eles consideram um candidato dividido apenas quando a soma muda mais de ϵ . Por que é que???
A explicação que eles dão me escapa:
Eles afirmam que podemos reescrever a equação anterior da seguinte forma:
e não consigo seguir a álgebra - você pode mostrar por que é igual?
E eles alegam que "isso é exatamente perda quadrada ponderada com rótulos e pesos h i " - uma afirmação com a qual concordo, mas não entendo como isso se relaciona com o algoritmo de candidato a divisão que eles estão usando. ..
Obrigado e desculpe se isso for muito longo para este fórum.
Basta adicionar a parte algébrica à resposta do @Winks:
A segunda equação deve ter seu sinal invertido, como em:
O último termo é de fato constante: lembre-se de que ogEu e são determinados pela iteração anterior, portanto são constantes ao tentar definir f t .hEu ft
Então, agora podemos reivindicar "isso é exatamente perda quadrada ponderada com rótulos pesos h i "- gi / h i hEu
O crédito é para Yaron e Avi, da minha equipe, por me explicar isso.
fonte
Se houver apenas uma amostra e você estiver otimizandoW em t - th iteração, é fácil ver que o valor seria w ∗ = - gi / h i , explicando ( ft - - ( gi/hi))2
fonte