Por que o TensorFlow não se encaixa no modelo linear simples se estou minimizando o erro médio absoluto em vez do erro médio quadrático?


Respostas:


17

Eu tentei isso e obtive o mesmo resultado.

É porque o gradiente de .absé mais difícil para um otimizador simples seguir até os mínimos, ao contrário da diferença quadrada em que o gradiente se aproxima de zero lentamente, o gradiente da diferença absoluta tem uma magnitude fixa que reverte abruptamente, o que tende a fazer o otimizador oscilar em torno do mínimo. ponto mínimo. A descida básica do gradiente é muito sensível à magnitude do gradiente e à taxa de aprendizado, que é essencialmente apenas um multiplicador do gradiente para os tamanhos das etapas.

A solução mais simples é reduzir a taxa de aprendizado, por exemplo, mudar de linha

optimizer = tf.train.GradientDescentOptimizer(0.5)

para

optimizer = tf.train.GradientDescentOptimizer(0.05)

Além disso, brinque com diferentes otimizadores. Alguns serão capazes de lidar .absmelhor com as perdas com base.

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.