Sobre-ajuste da Hipótese
Os algoritmos de regressão são baseados em relações entre as variáveis de entrada (variáveis independentes) e a variável de saída (variável dependente), escolhendo os melhores parâmetros para uma função matemática que melhor se ajusta a essa relação.
Os parâmetros dessas funções, representados nessa disciplina como o vetor θ, são multiplicados ao vetor de entrada x, geralmente através de uma função polinomial. O modelo a ser ajustado, portanto, deve ser escolhido a partir do número de termos dessa função, o que inclui diferentes graus para o polinômio.
Quanto maior for o grau do polinômio, mais complexa será a hipótese e, consequentemente, melhor ajuste será obtido a partir dos dados de entrada. A hipótese mais complexa, entretanto, pode gerar uma função não-realística, não conseguindo generalizar o resultado para futuros dados de entrada. Suponha o exemplo da precificação de imóveis a partir do tamanho dele, o qual foi usada a regressão linear para construção da hipótese.
hθ(x )=θ0+θ1x hθ(x )=θ0+θ1x +θ2x2 hθ(x )=θ0+θ1x +θ2x2+θ3x3+θ4x4
O mesmo pode acontecer em casos de regressões de múltiplos parâmetros. Ao incluir mais variáveis à regressão, pode-se obter uma hipótese com melhor ajuste (menor função custo), entretanto essa complexidade pode não ser realística para dados não usados no treinamento.
O caso da figura acima à esquerda, o modelo matemático da hipótese não se ajusta adequadamente aos dados de treinamento, e portanto, pode ser considerada “sub-ajustada” (underfitting). A figura à direita, por sua vez, se ajusta quase que perfeitamente, entretanto, gera uma função não realística, podendo ser chamada de “sobre ajustada” (overfitting). A figura ao centro, ilustra uma hipótese razoável, com ajuste aceitável e genérica o suficiente para dados futuros.
O mesmo acontece para a regressão logística. Se o polinômio usado na exponencial da função sigmoid possuir vários termos, com diferentes graus, o limiar de decisão pode assumir figuras complexas que separam muito bem as amostras em suas devidas classes, mas não representam, de forma genérica, a relação entre os dados de entrada e os de saída. Considere os exemplos abaixo onde g(z) é a função sigmoid.
hθ(x )=g(θ0+θ1x1+θ2x2) hθ(x )=g(θ0+θ1x1+θ2x2+ θ3x12+θ4x22)
(sub-ajustada) (adequada)
hθ(x )=g(θ0+θ1x1+θ2x2+ θ3x12+θ4x22+θ5x12x2+θ6x12x22+θ7x1x22+ θ8x13x2+⋯)
(sobre ajustada)
Existem várias formas de evitar, ou resolver, o problema do sobre-ajuste. Quando há um excesso de variáveis nos dados de entrada, a complexidade da hipótese pode gerar um sobre-ajuste, nesse caso, pode-se considerar a redução da dimensão da matriz X, e tentar variáveis que sejam mais significativas para a regressão.
Quando o número de variáveis não pode ser reduzido, uma das estratégias é usar a ferramenta numérica chamada regularização. Esse método consiste em manter todas as variáveis, reduzindo, entretanto, os valores (magnitudes) de seus parâmetros, simplificando a hipótese.
Função Custo com Regularização
Considerando como exemplo, as figuras ao centro e à direita da regressão linear mostrada acima, uma forma de simplificar a hipótese mais complexa, é diminuir o valor dos parâmetros θ3 e θ4.
O algoritmo da regressão continuará em minimizar a função custo, entretanto, os valores desses parâmetros serão “penalizados”. Por exemplo:
min θ 1 2 m
∑
i=1 m (hθ(x (i) )−y(i) )2+100 θ32+100 θ 4 2Como os valores dos últimos dois parâmetros são maximizados pela potência e pelo fator multiplicador, para minimizar a função custo acima, os valores desses parâmetros são fortemente diminuídos. Se tais valores se aproximam de zero, a hipótese mais complexa é simplificada, se assemelhando à função quadrática do exemplo.
Nesse caso, a simplificação é óbvia. No caso de muitos parâmetros, por exemplo centenas deles, a escolha de quais parâmetros penalizar não é tão óbvia. Por isso, numericamente, são penalizados todos os parâmetros, o que simplifica a função como um todo. Para realizar tal penalização dos parâmetros, um termo adicional é inserido na função custo.
J (θ)= 1 2 m
[
∑
i=1 m (hθ(x (i ) )−y(i) )2+ λ∑
j=1 n θ2j]
O termo à direita da equação acima implementa a regularização, reduzindo a magnitude dos parâmetros da hipótese. O coeficiente multiplicativo λ desse termo é chamado parâmetro de regularização.
Apesar de não parecer intuitivo, reduzir os valores de todos os parâmetros, ao invés de um sub-conjunto de parâmetros específicos, causa simplificação geral do modelo, minimizando o sobre-ajuste da hipótese.
Repare que o somatório do termo de regularização, não incluí o parâmetro θ0 (o índice j inicia em 1)
Isso é uma convenção praticada em regularização de modelos, devido ao fato da penalização desse parâmetro não influenciar a simplificação da hipótese.
A escolha do parâmetro de regularização, é portanto, um fator decisivo na eficiência do algoritmo. Um parâmetro muito pequeno, irá penalizar pouco os parâmetros, o que significa que a hipótese não terá sua complexidade diminuída. O uso de um parâmetro de regularização muito alto, entretanto, fará com que os parâmetros sejam diminuídos ao extremo, causando um sub-ajuste da hipótese.
Existem estratégias para a escolha ótima desse valor, que serão explicada posteriormente. Regressão Linear Regularizada
A implementação da regularização na regressão linear, se dá através da inclusão do termo de regularização na função custo, como mostrado acima. A minimização dessa função se faz usando o algoritmo do gradiente descendente, e portanto, deve ter suas derivadas calculadas. Considerando a função custo abaixo:
J (θ)= 1 2 m
[
∑
i=1 m (hθ(x (i ) )−y(i) )2+ λ∑
j=1 n θ2j]
suas derivadas parciais serão:∂ ∂θjJ (θ)= 1 m
[
∑
i =1 m[
(hθ(x (i) )−y(i ) )x(ji)]
+ λ θj]
para j = 1, 2, …, n.Como o parâmetro θ0 não é regularizado, teremos duas expressões para atualização dos parâmetros
no gradiente descendente: θ0=θ0−α 1 m
∑
i =1 m (hθ(x (i) )−y(i) )x0(i) θj=θj−α[
1 m∑
i =1 m (hθ(x (i) )−y(i) )x(ji) + λ mθj]
Que pode re-escrita na forma:
θj=θj(1−α λ m)−α 1 m
∑
i=1 m (hθ(x (i) )−y(i ) )x(ji)Comparando essa expressão com a usada na regressão linear sem regularização, percebe-se a inclusão to termo multiplicativo (1-αλ/m) no valor corrente do parâmetro θj, antes de sua
Para que a penalização tenha efeito, e a regularização seja implementada, o termo multiplicativo citado deve ter um valor menor que 1.
Equação Normal
A regressão linear também é possível de ser realizada sem o uso do algoritmo iterativo do gradiente descendente, usando a equação normal. Esse método foi mostrado anteriormente, e a equação que define os melhores parâmetros é:
θ=(XTX )−1XTy
É possível, também, aplicar a regularização nessa equação, para evitar o sobre-ajuste da hipótese. É possível provar que a equação acima, regularizada, será:
θ=
(
XTX +λ[
0 0 ⋯ 0 0 1 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ 1]
(n+1) x(n+1))
−1 XTyA matriz que multiplica do parâmetro de regularização é quadrada com a dimensão igual ao número de parâmetros do modelo. Ela é semelhante à matriz identidade, exceto o termo da primeira linha e primeira coluna que é zero, pois o parâmetro θ0 não é penalizado.
A aplicação da regularização na equação normal possui outra vantagem, além de evitar o sobre-ajuste da hipótese. Na primeira equação, tem-se o problema da inversão da matriz XTX, que pode
ser, em alguns casos, singular.
Esse problema pode ser resolvido no Matlab/Octave usando a função pinv, que calcula a matriz inversa aproximada usando a ferramenta numérica SVD. Entretanto, se for usada outra linguagem de programação onde tal função não esteja disponível em sua biblioteca numérica, a singularidade da matriz XTX não pode ser resolvida.
É possível provar algebricamente, que a matriz XTX regularizada será inversível para λ > 0. Assim,
Regressão Logística Regularizada
A aplicação da regularização na regressão logística é semelhante, inserindo-se a penalização dos parâmetros do modelo. A função custo desse tipo de regressão fica, portanto;
J (θ)=−
[
1 m∑
i=1 m y(i ) ⋅log(hθ(x (i) ))+(1− y(i) )⋅log(1−hθ(x (i) ))]
+ λ 2 m∑
j=1 n θ2jO algoritmo do gradiente descendente, no entanto, não sofrerá alteração com relação à regressão linear regularizada, visto que as derivadas parciais da função custo acima serão idênticas. A única modificação necessária na atualização dos parâmetros em tal algoritmo será na função hθ(x), que