Concluí o curso Machine Learning de Andrew Ng há cerca de um ano e agora estou escrevendo minha exploração matemática do ensino médio sobre o funcionamento da regressão logística e técnicas para otimizar o desempenho. Uma dessas técnicas é, obviamente, a regularização.
O objetivo da regularização é evitar o ajuste excessivo, estendendo a função de custo para incluir o objetivo da simplicidade do modelo. Podemos conseguir isso penalizando o tamanho dos pesos adicionando à função de custo cada um dos pesos ao quadrado, multiplicado por algum parâmetro de regularização.
Agora, o algoritmo de aprendizado de máquina terá como objetivo reduzir o tamanho dos pesos, mantendo a precisão no conjunto de treinamento. A idéia é que chegaremos a um ponto no meio em que possamos produzir um modelo que generalize os dados e não tente se encaixar em todo o ruído estocástico por ser menos complexo.
Minha confusão é por que penalizamos o tamanho dos pesos? Por que pesos maiores criam modelos mais complexos e pesos menores criam modelos mais simples / suaves? Andrew Ng afirma em sua palestra que a explicação é difícil de ensinar, mas acho que estou procurando essa explicação agora.
O Prof. Ng realmente deu um exemplo de como a nova função de custo pode fazer com que os pesos dos recursos (ou seja, x ^ 3 e x ^ 4) tendam para zero, de forma que o grau do modelo seja reduzido, mas isso não cria uma completa explicação.
Minha intuição é que pesos menores tenderão a ser mais "aceitáveis" em recursos com expoentes maiores do que aqueles com expoentes menores (porque os recursos com pesos pequenos são como a base da função). Pesos menores implicam "contribuições" menores aos recursos de alta ordem. Mas essa intuição não é muito concreta.
Respostas:
Se utilizar regularização não está minimizando a única dentro da amostra de erro masOutOfSampleError≤InSampleError+ModelComplexityPenalty .
Mais precisamente, para uma hipóteseh∈H, ondeλé algum parâmetro, geralmenteλ∈(0,1),mé o número de exemplos em seu conjunto de dados eΩé uma penalidade dependente dos pesosw,Ω=wTw. Isso é conhecido comoerro aumentado. Agora, você pode minimizar a função acima apenas se os pesos forem pequenos.Jaug(h(x),y,λ,Ω)=J(h(x),y)+λ2mΩ h∈H λ λ ∈ ( 0 , 1 ) m Ω W Ω = wTW
Aqui está um código R para brincar
Portanto, em vez de penalizar todo o espaço da hipótese , penalizamos cada hipótese h individualmente. Às vezes nos referimos à hipótese h por seu vetor de peso w .H h h W
Quanto ao porquê pesos pequenos combinam com baixa complexidade do modelo, vejamos a seguinte hipótese: . No total, obtivemos três parâmetros de peso ativo w 1 , ... , w 3 . Agora, vamos definir w 3 para um valor muito pequeno, w 3 = 0 . Isso reduz a complexidade do modelo para: hh1 1( x ) = x1 1× w1 1+ x2× w2+ x3× w3 W1 1, … , W3 W3 W3= 0 . Em vez de três parâmetros de peso ativo, temos apenas dois restantes.h1 1( x ) = x1 1× w1 1+ x2× w2
fonte
Não sei se realmente sei do que estou falando, mas vou tentar. Não é tanto ter pesos pequenos que evitam o ajuste excessivo (eu acho), é mais o fato de que a regularização reduz mais fortemente o espaço do modelo. De fato, você pode regularizar em torno de 10000000, se desejar, adotando a norma L2 de seus valores X menos um vetor de 10000000s. Isso também reduziria o sobreajuste (é claro que você também deve ter alguma justificativa para fazer isso (por exemplo, talvez seus valores Y sejam 10000000 vezes maiores que a soma dos valores X, mas ninguém realmente faz isso porque você pode apenas redimensionar os dados).
Viés e variação são uma função da complexidade do modelo. Isso está relacionado à teoria do VC, então veja isso. Quanto maior o espaço de possíveis modelos (ou seja, valores que todos os seus parâmetros podem levar basicamente), maior a probabilidade de o modelo se ajustar demais. Se o seu modelo pode fazer de tudo, desde uma linha reta a balançar em todas as direções, como uma onda senoidal que também pode subir e descer, é muito mais provável que você pegue e modele perturbações aleatórias nos seus dados que não são resultado do sinal subjacente, mas o resultado de apenas uma chance de sorte nesse conjunto de dados (é por isso que a obtenção de mais dados ajuda na adaptação, mas não na adequação).
Ao regularizar, basicamente você está reduzindo o espaço do modelo. Isso não significa necessariamente que funções mais suaves / planas têm maior viés e menor variação. Pense em um modelo linear que é coberto por uma onda senoidal restrita a ter oscilações de amplitude realmente pequenas que basicamente não fazem nada (é basicamente uma linha difusa). Esta função é super distorcida em certo sentido, mas apenas se ajusta um pouco mais do que uma regressão linear. A razão pela qual funções mais suaves / planas tendem a ter maior viés e menos variação é porque nós, como cientistas de dados, assumimos que, se tivermos um espaço reduzido de amostra, preferiríamos, com a navalha da occam, manter os modelos mais suaves e simples e jogar fora os modelos que são ondulados e oscilam por todo o lugar. Faz sentido jogar fora modelos perfeitos primeiro,
A regularização, como a regressão de crista, reduz o espaço do modelo porque torna mais caro ficar mais longe de zero (ou de qualquer número). Assim, quando o modelo é confrontado com uma opção de levar em consideração uma pequena perturbação em seus dados, é mais provável que ele erre do lado de não, porque isso (geralmente) aumentará o valor do seu parâmetro. Se essa perturbação for devida ao acaso (ou seja, uma de suas variáveis x teve apenas uma ligeira correlação aleatória com suas variáveis y), o modelo não levará isso em consideração em comparação com uma regressão não regularizada porque a regressão não regularizada não tem custo associado a aumentar os tamanhos beta. No entanto, se essa perturbação for devida a um sinal real, é mais provável que sua regressão regularizada a perca, e é por isso que ela tem um viés mais alto (e por que há uma troca de viés de variação).
fonte
História:
Minha avó caminha, mas não sobe. Algumas avós fazem. Uma avó era famosa por escalar o Kilimanjaro .
Aquele vulcão adormecido é grande. É 16.000 pés acima de sua base. (Não odeie minhas unidades imperiais.) Às vezes também tem geleiras no topo.
Se você subir em um ano em que não há geleira e chegar ao topo, é o mesmo topo como se houvesse uma geleira? A altitude é diferente. O caminho que você deve seguir é diferente. E se você for ao topo quando a espessura da geleira for maior? Isso torna mais uma conquista? Cerca de 35.000 pessoas tentam escalá- lo todos os anos, mas apenas 16.000 são bem-sucedidos.
Aplicação:
Então, eu explicaria o controle de pesos (também conhecido como minimizar a complexidade do modelo) para minha avó, da seguinte maneira:
Avó, seu cérebro é um pensador incrível, sabendo ou não. Se eu perguntar a você quantos dos 16.000 que pensam que chegaram ao topo realmente o fizeram, você diria "todos eles".
Se eu colocasse sensores nos sapatos de todos os 30.000 alpinistas e medisse a altura acima do nível do mar, algumas dessas pessoas não ficariam tão altas quanto as outras e talvez não se qualificassem. Quando faço isso, vou para um modelo constante - estou dizendo que, se a altura não for igual a algum percentil das alturas máximas medidas, não será o topo. Algumas pessoas pulam no topo. Algumas pessoas simplesmente cruzam a linha e se sentam.
Eu poderia adicionar latitude e longitude ao sensor e ajustar algumas equações de ordem superior e talvez eu pudesse ter um ajuste melhor e ter mais pessoas, talvez até exatamente 45% do total de pessoas que tentam.
Então, digamos que o próximo ano seja um ano de "grande geleira" ou um ano de "não geleira" porque algum vulcão realmente transforma o albedo da terra. Se eu pegar meu modelo complexo e exigente deste ano e aplicá-lo às pessoas que escalam no próximo ano, o modelo terá resultados estranhos. Talvez todos "passem" ou até estejam muito altos para passar. Talvez ninguém passe e ache que ninguém completou a subida. Especialmente quando o modelo é complexo, ele tenderá a não generalizar bem. Ele pode se encaixar exatamente nos dados de "treinamento" deste ano, mas quando novos dados chegam, ele se comporta mal.
Discussão:
Quando você limita a complexidade do modelo, geralmente pode ter uma melhor generalização sem ajustar demais. O uso de modelos mais simples, mais construídos para acomodar as variações do mundo real, tende a fornecer melhores resultados, sendo o restante igual.
Agora você tem uma topologia de rede fixa e está dizendo "minha contagem de parâmetros está corrigida" - não posso ter variação na complexidade do modelo. Absurdo. Meça a entropia nos pesos. Quando a entropia é mais alta, significa que alguns coeficientes carregam substancialmente mais "informatividade" do que outros. Se você tem uma entropia muito baixa, significa que, em geral, os coeficientes apresentam níveis semelhantes de "informatividade". Informatividade não é necessariamente uma coisa boa. Numa democracia, você deseja que todas as pessoas sejam iguais, e coisas como George Orwell "mais iguais que outras" são uma medida das falhas do sistema. Se você não tiver um ótimo motivo, deseja que os pesos sejam bastante semelhantes entre si.
Em uma observação pessoal: em vez de usar vodu ou heurísticas, prefiro coisas como "critérios de informação" porque elas me permitem obter resultados confiáveis e consistentes. AIC , AICc e BIC são alguns pontos de partida comuns e úteis. Repetir a análise para determinar a estabilidade da solução ou os resultados dos critérios de informações é uma abordagem comum. Pode-se considerar colocar um teto na entropia nos pesos.
fonte
Uma intuição simples é a seguinte. Lembre-se de que para regularização os recursos devem ser padronizados para ter aprox. a mesma escala.
Digamos que a função de minimização seja apenas a soma de erros ao quadrado:
Agora considere a regularização, o LASSO neste caso. As funções a serem minimizadas são então
Adicionar um recurso extra agora resulta em uma penalidade extra: a soma dos coeficientes absolutos aumenta! A redução no SSE deve superar a penalidade adicional adicionada. Não é mais possível adicionar recursos extras sem custo.
A combinação de padronização de recursos e penalização da soma dos coeficientes absolutos restringe o espaço de pesquisa, levando a menos sobreajuste.
Agora LASSO:
tende a colocar coeficientes em zero, enquanto a regressão de crista:
tende a encolher os coeficientes proporcionalmente. Isso pode ser visto como um efeito colateral do tipo de função penalizadora. A imagem abaixo ajuda com isso:
A função de penalização de regularização na prática fornece um 'orçamento' para os parâmetros, como mostrado acima pela área ciana.
Foto tirada em https://onlinecourses.science.psu.edu/stat857/node/158
Resumindo: a regularização penaliza a adição de parâmetros extras e, dependendo do tipo de regularização, reduzirá todos os coeficientes (crista) ou definirá um número de coeficientes para 0, mantendo os outros coeficientes na medida em que o orçamento permitir (laço)
fonte
Ao adicionar ruído guassiano à entrada, o modelo de aprendizado se comportará como um regularizador de penalidade de L2.
Para ver o porquê, considere uma regressão linear em que o ruído iid é adicionado aos recursos. A perda será agora uma função dos erros + contribuição da norma de pesos.
veja derivação: https://www.youtube.com/watch?v=qw4vtBYhLp0
fonte
Lembro-me de que em uma aula universitária, meu professor disse que penalizar parâmetros grandes pode reduzir a adaptação excessiva, porque impede o modelo de colocar muito peso em recursos específicos dos dados, o que causa a super adaptação, já que o modelo está apenas lembrando algumas características específicas dos dados e relacionando-o a o rótulo em vez de tentar aprender regras gerais.
fonte