Regularização — Machine Learning

Hoje irei falar sobre o nosso amigo que nos ajuda a combater o terrível pesadelo nomeado OVERFITTING.

Como esta imagem acima demonstra de forma bem humorada, podemos fazer a seguinte analogia: temos uma folha cheia de pontos, e nosso algoritmo de aprendizado liga todos eles.

Isso o torna muito bom em saber onde cada ponto está, ele sabe tudo sobre os dados que lhe foram dados. Mas, e se dermos uma nova folha com os mesmos pontos, porém invertidos? Ora, nosso algoritmo aprendeu a ligar pontos que foram a figura de um gato em pé, e não um gato invertido.

Exato! Nosso algoritmo não aprendeu o que é um gato, e sim a ligar pontos de uma maneira única e complexa!

Nosso algoritmo de aprendizado deve aprender o que é um gato, em diversas posições, cores, estando invertido e tudo mais. Logo, devemos deixar nosso modelo de aprendizado mais simples, para que ele possa generalizar mais.

É aqui que a técnica de Regularização entra, ela vem para penalizar o aprendizado do nosso algoritmo, “forçando” ele a não se tornar complexo.

Existem diversas formas de aplicar a técnica de regularização, não irei entrar em detalhes matemáticos, mas aqui está uma delas, chamada L2 Regularization:

Como podemos ver, a primeira equação é a função de custo, e na segunda temos a mesma equação mais o termo de regularização, quanto maiores forem os pesos, maior será a penalidade!

Voltando a simplicidade do exemplo inicial, aplicando a regularização no nosso algoritmo de aprendizado, conseguimos fazer com que ele consiga generalizar mais os dados disponíveis, e dessa forma aprender como identificar um gato.

Concluindo, temos que cuidar de nosso algoritmo de aprendizado para que ele não se torne aquele super nerd que não sabe lidar com problemas da vida real, mas é muito bom em matemática.

É necessário um equilíbrio para atingir a generalização!

Source: Deep Learning on Medium