Impulsionar: por que a taxa de aprendizado é chamada de parâmetro de regularização?

19

O parâmetro de taxa de aprendizado ( ) no Gradient Boosting reduz a contribuição de cada novo modelo de base - tipicamente uma árvore rasa - que é adicionada na série. Foi demonstrado que aumenta drasticamente a precisão do conjunto de testes, o que é compreensível, pois em etapas menores, o mínimo da função de perda pode ser alcançado com mais precisão. ν[0 0,1]

Não entendo por que a taxa de aprendizado é considerada um parâmetro de regularização ? Citando os elementos de aprendizagem estatística , seção 10.12.1, p.364:

Controlar o número de árvores não é a única estratégia de regularização possível. Assim como nas redes neurais e de regressão de crista, também podem ser empregadas técnicas de retração. Valores menores de (mais encolhimento) em resultado do risco de formação maior para o mesmo número de iterações M . Assim, ν e M controlam o risco de previsão nos dados de treinamento.νMνM

Regularização significa "maneira de evitar o ajuste excessivo", portanto, é claro que o número de iterações é crucial nesse sentido (um M alto demais leva ao ajuste excessivo). Mas:MM

Valores menores de (mais encolhimento) em resultado do risco de formação maior para o mesmo número de iterações M .νM

significa apenas que, com baixas taxas de aprendizado, são necessárias mais iterações para obter a mesma precisão no conjunto de treinamento. Então, como isso se relaciona com a super adaptação?

romuald_84
fonte

Respostas:

23

100,00,0

  • 10.0100,0

  • 1.0100

Agora pense sobre isso: as duas abordagens são iguais? e se não, qual é o melhor no contexto de otimização e no contexto de aprendizado de máquina ?

0 0

Podemos pensar na primeira abordagem como uma "pesquisa de grade de nível grosso" e na segunda abordagem como uma "pesquisa de grade de nível fino". A segunda abordagem geralmente funciona melhor, mas precisa de mais poder computacional para mais iterações.

50.

0,15000,0

É por isso que uma pequena taxa de aprendizado é igual a "mais regularizações".

Aqui está um exemplo do uso de diferentes taxas de aprendizado em dados experimentais usando xgboost. Verifique os dois links abaixo para ver o que significa etaou faz n_iterations.

Parâmetros para o Tree Booster

Sobreajuste do XGBoost Control

50.

Exemplo de alteração da taxa de aprendizado ETA no modelo XGBoost

PS. a evidência de falta de ajuste é que o conjunto de treinamento e teste tem um erro grande e a curva de erro para treinamento e teste está próxima uma da outra. O sinal de excesso de ajuste é que o erro do conjunto de treinamento é muito baixo e o conjunto de testes é muito alto, duas curvas estão distantes uma da outra.

Haitao Du
fonte
Você quer dizer que, com uma baixa taxa de aprendizado, você pode iterar mais (refinar sua pesquisa mais) do que com uma alta taxa de aprendizado pela mesma perda? Acho que entendi a intuição que você está tentando transmitir, mas explicações mais rigorosas e / ou um exemplo ilustrativo não prejudicariam.
Antoine
obrigado. Você pode atualizar seus links? Eles não trabalham para mim
Antoine
Usar uma taxa de aprendizado maior é sempre melhor, desde que você não aumente o erro de treinamento nas iterações subsequentes. A regularização a que você está se referindo (viés versus variação) está relacionada ao erro de treinamento / validação e não à taxa de aprendizado. Esteja você usando uma taxa de aprendizado grande ou pequena, se você atingir 0,0 de erro de treinamento, estará se adaptando demais. Se você estiver usando uma taxa de aprendizado maior, precisará interromper sua otimização antes para evitar o ajuste excessivo. Você pode usar um conjunto de validação para verificar se o erro de validação aumenta quando você interrompe o treinamento.
Curioso
ou eu poderia estar faltando alguma coisa :)
Curious
This is why small learning rate is sort of equal to "more regularizations". De acordo com este documento, maior a taxa de aprendizagem, quanto mais regularização: Super-Convergência: Formação muito rápida de Redes Neurais Usando Grande Aprendizagem Preços
Antoine
2

Com o método de Newton, você atualiza seus parâmetros subtraindo o gradiente da perda dividido pela curvatura da perda. Na otimização da descida do gradiente, você atualiza seus parâmetros subtraindo o gradiente das perdas vezes a taxa de aprendizado. Em outras palavras, o recíproco da taxa de aprendizado é usado no lugar da curvatura real da perda.

Vamos definir a perda do problema como a perda que define o que é um bom modelo versus um modelo ruim. É a verdadeira perda. Vamos definir a perda otimizada como o que é realmente minimizado pelas suas regras de atualização.

Por definição, um parâmetro de regularização é qualquer termo que esteja na perda otimizada, mas não na perda do problema. Como a taxa de aprendizado está agindo como um termo quadrático extra na perda otimizada, mas não tem nada a ver com a perda do problema, é um parâmetro de regularização.

Outros exemplos de regularização que justificam essa perspectiva são:

  • Redução de peso, que é como um termo extra na perda otimizada que penaliza grandes pesos,
  • termos que penalizam modelos complicados e
  • termos que penalizam correlações entre recursos.
Neil G
fonte
Eu não entendo In other words, the reciprocal of the learning rate is used in place of the real loss curvature. - Eu não sou um especialista de domínio e é a primeira vez que vejo a definição: a regularization parameter is any term that is in the optimized loss, but not the problem loss. Eu também não entendo direito. Você poderia fornecer uma referência relevante? Agradecemos antecipadamente
Antoine
@ Antonieta Não posso fornecer uma referência. É apenas a minha experiência que tentei justificar usando outros três exemplos. Quanto à taxa de aprendizado no lugar da curvatura de perda inversa, você pode ver que, se você escrever o método de Newton e a atualização de descida do gradiente, as regras serão lado a lado.
Neil G