Nas notas da terceira semana de aula da aula Coursera Machine Learning de Andrew Ng , um termo é adicionado à função de custo para implementar a regularização:
As notas da palestra dizem:
Também podemos regularizar todos os nossos parâmetros teta em um único somatório:
tarde, 2 m são aplicados aotermo de regularização de redes neurais:
Lembre-se de que a função de custo para regressão logística regularizada era:
Para redes neurais, será um pouco mais complicado:
- Por que a metade constante é usada aqui? Para que seja cancelado na derivada ?
- Por que a divisão por exemplos de treinamento? Como a quantidade de exemplos de treinamento afeta as coisas?
regularization
Tom Hale
fonte
fonte
Respostas:
Vamos supor que você tenha 10 exemplos e não divida o custo de regularização de L2 pelo número de exemplos m . Então, uma "dominância" do custo de regularização de L2 em comparação com um custo de entropia cruzada será de 10: 1, porque cada exemplo de treinamento pode contribuir para o custo geral proporcionalmente a 1 / m = 1/10.
Se você tiver mais exemplos, digamos, 100, então o "domínio" do custo de regularização L2 será algo como 100: 1, portanto, você deve diminuir um λ de acordo, o que é inconveniente. É melhor ter λ constante, independentemente do tamanho do lote.
Atualização: Para tornar esse argumento mais forte, criei um caderno jupiter .
fonte
fonte
Eu me perguntei exatamente a mesma coisa ao fazer este curso e acabei pesquisando um pouco sobre isso. Darei uma resposta curta aqui, mas você pode ler uma visão geral mais detalhada em um post que escrevi sobre isso .
Acredito que pelo menos parte da razão para esses coeficientes de escala é que a regularização do L² provavelmente entrou no campo do aprendizado profundo através da introdução do conceito relacionado, mas não idêntico, de queda de peso.
O fator 0.5 está aí para obter um bom coeficiente λ-único para a queda de peso no gradiente e o dimensionamento por m ... bem, existem pelo menos 5 motivações diferentes que eu encontrei ou sugeri:
grez
demonstra que isso melhora o desempenho na prática.fonte
Eu também estava confuso sobre isso, mas depois em uma palestra para deeplearning.ai Andrew sugere que essa é apenas uma constante de escala:
http://www.youtube.com/watch?v=6g0t3Phly2M&t=2m50s
Talvez haja uma razão mais profunda para usar 1 / 2m, mas suspeito que seja simplesmente um hiperparâmetro.
fonte