Prof. Eduardo Bezerra (CEFET/RJ) ebezerra@cefet-rj.br Regularização Prof. Eduardo Bezerra (CEFET/RJ) ebezerra@cefet-rj.br
Créditos Essa apresentação utiliza material do curso a seguir, de autoria do prof. Andrew Ng: CS229: Machine Learning http://cs229.stanford.edu/
Visão Geral Conceitos importantes Regularização Regressão linear regularizada Regressão logística regularizada
Conceitos Importantes
Conceitos Importantes Aprendizado Indutivo Generalização Qualidade de um ajuste Superajuste (overfitting) Subajuste (underfitting)
Aprendizado indutivo (inductive learning) Em AM, o processo de determinar uma hipótese a partir de um conjunto de dados de treinamento é denominado aprendizado indutivo. Indução se refere a aprender conceitos gerais a partir de exemplos. É o processo inverso do aprendizado dedutivo.
Generalização Em AM, o objetivo é induzir modelos que tenham um bom desempenho em dados do domínio do problema, não apenas no conjunto de treinamento. Diz-se que um modelo tem uma boa generalização se ele é capaz de realizar predições adequadas sobre dados não utilizados durante o treinamento.
Qualidade do Ajuste (goodness of fit) Em AM, diz-se que uma função hipótese se ajusta aos dados de treinamento. A hipótese procura aproximar a função alvo (não conhecida) que mapeia variáveis de entrada nas de saída. Um aspecto importante a medir é a qualidade desse ajuste.
Qualidade do Ajuste (goodness of fit) Um algoritmo de AM deve exercitar a temperança para alcançar uma boa qualidade de ajuste. Fonte da figura: https://shapeofdata.wordpress.com/2013/03/26/general-regression-and-over-fitting/ Significado de temperança: https://www.dicio.com.br/temperanca/ extremo meio-termo
Complexidade de um Modelo (model complexity) Em AM, a complexidade de um modelo de aprendizado diz respeito à quantidade de parâmetros livres que ele utilizada. Entretanto, podem ser definidas restrições sobre os parâmetros, o que diminui a complexidade do modelo (mais sobre isso adiante).
Complexidade de um Modelo (model complexity) Um modelo muito complexo quando é formado por tantos parâmetros que o modelo “memoriza” todos os dados de treinamento, não apenas os sinais, mas também o ruído aleatório, os erros e todas as características específicas da amostra. Um modelo muito simples é formado por uma quantidade insuficiente de parâmetros que não permitem que ele apreenda a tendência subjacente nos dados.
Superajuste e subajuste A complexidade inadequada pode levar a um de dois fenômenos, ambos indesejados: Subajuste (underfitting) Superajuste (overfitting)
Superajuste (overfitting) O superajuste é causado por uma hipótese que se adapta aos dados disponíveis, mas não generaliza bem para (prever em) novos dados. Geralmente é causado por uma função complicada que cria muitas curvas desnecessárias e ângulos não relacionados à população da qual os dados de treinamento vieram.
Subajuste (underfitting) O subajuste ocorre quando a forma da hipótese mapeia mal a tendência dos dados. Geralmente é causada por uma função que é muito simples ou usa poucas características.
Superajuste vs subajuste A figura a seguir apresenta diferentes modelos, cada um com seu erro empírico correspondente.
Superajuste vs subajuste - exemplo Exemplo no contexto da regressão polinomial
Superajuste vs subajuste - exemplo http://scikit-learn.org/stable/auto_examples/model_selection/plot_underfitting_overfitting.html Fonte: http://docs.aws.amazon.com/machine-learning/latest/dg/model-fit-underfitting-vs-overfitting.html
Soluções para o superajuste 1) Reduzir o número de características Selecionar manualmente quais características manter. Usar um algoritmo de seleção de modelo (model selection); mais adiante no curso. 2) Regularização Manter todas as características, mas reduzir a magnitude dos parâmetros . A regularização funciona bem quando temos muitas características úteis.
Regularização
Regularização A regularização penaliza explicações complexas ou extremas dos dados, mesmo que se encaixem no que melhor se observou (nos dados). A ideia é que tais explicações não são susceptíveis de generalizar bem para o futuro; Elas podem explicar alguns pontos de dados do passado, mas isso pode ser apenas por causa de particularidades da amostra.
Regularização vs superajuste A regularização penaliza a complexidade, mesmo que isso signifique escolher uma hipótese menos precisa de acordo com os dados de treinamento. Útil para combater o superajuste.
Regularização - intuição Suponha que desejemos fazer com que a hipótese à direita se aproxime mais de uma forma quadrática... Intuição sobre a regularização (no contexto da regressão polinomial)
Regularização - intuição (cont.) Para isso, devemos reduzir a influência dos termos a seguir: e . Isso pode ser feito por meio de uma modificação na função de custo:
Regularização - intuição (cont.) O efeito é uma suavização da hipótese original.
Regularização – ideia geral Agora, suponha que (e.g., em um problema de regressão) tenhamos, e.g., 100 características. Neste caso, não temos como visualizar a hipótese para saber que parâmetros penalizar. Sendo assim, usamos a seguinte expressão para a função de custo:
Regularização – terminologia : parâmetro de regularização (regularization parameter) : termo de regularização (regularization term) Embora apresentada aqui no contexto da função de custo da regressão logística, essa terminologia é usada de forma geral.
Regularização – ideia geral Ideia geral: produzir parâmetros com valores absolutos pequenos. Efeitos: Produz hipóteses mais simples (funções mais “suaves”) Menos suscetível ao sobreajuste
Regularização - exemplo Sem regularização Com regularização https://www.quora.com/profile/Quoc-Le-3 Curva em vermelho – função alvo Curvas em azul - hipóteses Fonte: https://www.quora.com/profile/Quoc-Le-3
Valor do termo de regularização Para que a técnica de regularização tenha sucesso, é preciso ter cuidado com a escolha do valor de O que pode acontecer se for: Muito grande (e.g., )? Muito pequeno (e.g., )?
Regressão linear regularizada
é o termo de regularização (regularization term). Função de custo é o termo de regularização (regularization term).
Gradiente Descendente Regressão linear sem regularização: Regressão linear com regularização: O parâmetro não é alterado pela regularização.
Gradiente Descendente (cont.) Se isolarmos na expressão para sua atualização, temos que: O termo destacado é positivo e próximo a zero. Sendo assim, podemos interpretar a primeira parcela como uma amortização aplicada a .
Gradiente Descendente (cont.) Sendo assim, na regressão linear regularizada, ocorrem duas transformações subsequentes sobre o valor de a cada iteração do GD: amortização do valor de ; atualização sobre o valor amortizado (igual à regressão linear sem regularização!).
Por que não é regularizado? O sobreajuste geralmente ocorre em modelos nos quais a saída seja sensível a pequenas mudanças nos dados de entrada. i.e., modelos que interpolam exatamente os valores-alvo tende a precisar de muita curvatura na função ajustada O parâmetro não contribui para a curvatura do modelo. portanto não há interesse em regularizá-lo. https://stats.stackexchange.com/questions/153605/no-regularisation-term-for-bias-unit-in-neural-network
Regressão logística regularizada
Função de custo Na regressão logística, vimos que a função de custo é: Podemos regularizar essa função, como a seguir:
Função de custo Note que a regularização não é aplicada a .
Gradiente Descendente O GD para a regressão linear regularizada: