O que é regularização em inglês simples?

74

Ao contrário de outros artigos, achei a entrada da Wikipedia para este assunto ilegível para uma pessoa que não é matemática (como eu).

Entendi a ideia básica de que você é a favor de modelos com menos regras. O que eu não entendo é como você passa de um conjunto de regras para uma 'pontuação de regularização' que você pode usar para classificar os modelos do menor para o mais desajustado.

Você pode descrever um método simples de regularização?

Estou interessado no contexto de análise de sistemas de negociação estatística. Seria ótimo se você pudesse descrever se / como posso aplicar a regularização para analisar os dois modelos preditivos a seguir:

Modelo 1 - preço subindo quando:

  • exp_moving_avg (preço, período = 50)> exp_moving_avg (preço, período = 200)

Modelo 2 - preço subindo quando:

  • preço [n] <preço [n-1] 10 vezes seguidas
  • exp_moving_avg (preço, período = 200) subindo

Mas estou mais interessado em entender como você faz a regularização. Então, se você conhece modelos melhores para explicar isso, faça.

Meh
fonte
7
Um exemplo é a regressão de crista, que é OLS com um limite na soma dos coeficientes ao quadrado. Isso introduzirá um viés no modelo, mas reduzirá a variação dos coeficientes, às vezes substancialmente. O LASSO é outro método relacionado, mas coloca uma restrição L1 no tamanho dos coeficientes. Tem a vantagem de soltar coeficientes. Isso é útil para situações p >> n Regularizar, de certa forma, significa "encolher" o modelo para evitar excesso de ajuste (e reduzir a variação do coeficiente), o que geralmente melhora o desempenho preditivo do modelo.
HairyBeast
2
@HairyBeast Você deve colocar seu comentário legal como resposta. Se possível, tente adicionar um exemplo ilustrativo para que o OP possa descobrir como ele se traduz no problema em questão.
chl
11
@HairyBeast, então posso dizer que a regularização é apenas um método para implementar a idéia de troca de viés e variação ?
abacate
Achei este vídeo muito útil, particularmente em visualizar as diferentes formas de Lp regularização: youtube.com/watch?v=sO4ZirJh9ds
ANM
A regularização é para abordar o super ajuste no modelo aprendido. Tentei explicar em inglês simples e visualmente. A seguir está o link para o artigo medium.com/@vamsi149/…
solver149 30/08/18

Respostas:

57

Em termos simples, a regularização é ajustar ou selecionar o nível preferido de complexidade do modelo para que seus modelos sejam melhores em prever (generalizar). Se você não fizer isso, seus modelos podem ser muito complexos e super adequados ou muito simples e inadequados, de qualquer forma, fornecendo previsões ruins.

Se os mínimos quadrados ajustam um modelo complexo a um pequeno conjunto de dados de treinamento, você provavelmente superajustará, esta é a situação mais comum. A complexidade ideal do modelo depende do tipo de processo que você está modelando e da qualidade dos dados, portanto, não há complexidade correta a priori de um modelo.

Para regularizar, você precisa de duas coisas:

  1. Uma maneira de testar a qualidade dos seus modelos na previsão, por exemplo, usando a validação cruzada ou um conjunto de dados de validação (você não pode usar o erro de ajuste para isso).
  2. Um parâmetro de ajuste que permite alterar a complexidade ou suavidade do modelo ou uma seleção de modelos de complexidade / suavidade diferentes.
Basicamente, você ajusta o parâmetro de complexidade (ou altera o modelo) e encontra o valor que fornece as melhores previsões do modelo.

Observe que o erro de regularização otimizado não será uma estimativa precisa do erro de previsão geral; portanto, após a regularização, você finalmente terá que usar um conjunto de dados de validação adicional ou executar alguma análise estatística adicional para obter um erro de previsão imparcial.

Uma alternativa ao uso de testes de validação (cruzada) é usar os Priores Bayesianos ou outros métodos para penalizar a complexidade ou a não suavidade, mas estes requerem mais sofisticação estatística e conhecimento do problema e dos recursos do modelo.

Toby Kelsey
fonte
2
+1 de mim. Eu gosto que esta resposta está começando no início e tão fácil de entender ...
Andrew
2
A regularização é realmente usada para reduzir a falta de ajuste? Na minha experiência, a regularização é aplicada em um modelo complexo / sensível para reduzir a complexidade / sensibilidade, mas nunca em um modelo simples / insensível para aumentar a complexidade / sensibilidade.
Richard Hardy
Essa resposta agora é bastante antiga, mas suponho que Toby estava se referindo é que a regularização é uma maneira baseada em princípios para ajustar um modelo de complexidade apropriada, dada a quantidade de dados; é uma alternativa tanto à seleção de um modelo a priori com poucos parâmetros (ou parâmetros errados) quanto à seleção de um modelo muito complexo e com excesso de ajustes.
Bryan Krause
26

Suponha que você realize o aprendizado por meio da minimização empírica de riscos.

Mais precisamente:

  • você tem sua função de perda não negativa que caracteriza o quão ruim são suas previsõesL(actual value, predicted value)
  • você deseja ajustar seu modelo de forma que suas previsões minimizem a função de perda média, calculada apenas em dados de treinamento (os únicos dados que você possui)

Então, o objetivo do processo de aprendizado é encontrar (esse método é chamado de risco empírico minimização).Model=argminL(actual,predicted(Model))

Mas se você não tiver dados suficientes e houver uma enorme quantidade de variáveis ​​em seu modelo, é muito provável encontrar um modelo que não apenas explique padrões, mas também explique ruídos aleatórios em seus dados. Esse efeito é chamado de super adaptação e leva à degradação da capacidade de generalização do seu modelo.

Para evitar o excesso de ajuste, um termo de regularização é introduzido na função de destino: Model=argminL(actual,predicted(Model))+λR(Model)

Geralmente, esse termo impõe uma penalidade especial em modelos complexos. Por exemplo, em modelos com coeficientes grandes (regularização L2, = soma dos quadrados dos coeficientes) ou com coeficientes diferentes de zero se não forem zero (regularização L1, = soma dos valores absolutos dos coeficientes). Se estamos treinando uma árvore de decisão, pode ser sua profundidade.R(Model)RRR

Outro ponto de vista é que introduz nosso conhecimento prévio sobre uma forma do melhor modelo ("ele não possui coeficientes muito grandes", "é quase ortogonal a ")Ra¯

bijey
fonte
12

Simplificando, regularizar é beneficiar as soluções que você esperaria obter. Como você mencionou, por exemplo, você pode beneficiar de soluções "simples", para alguma definição de simplicidade. Se o seu problema tiver regras, uma definição poderá ser menos regras. Mas isso depende do problema.

Você está fazendo a pergunta certa, no entanto. Por exemplo, em Máquinas de vetores de suporte, essa "simplicidade" vem da quebra de vínculos na direção da "margem máxima". Essa margem é algo que pode ser claramente definido em termos do problema. Há uma derivação geométrica muito boa no artigo SVM na Wikipedia . Acontece que o termo de regularização é, pelo menos indiscutivelmente, o "molho secreto" dos SVMs.

Como você faz a regularização? Em geral, isso vem com o método que você usa, se você usa SVMs, está fazendo regularização L2, se estiver usando LASSO, está fazendo regularização L1 (veja o que hairybeast está dizendo). No entanto, se você estiver desenvolvendo seu próprio método, precisará saber como diferenciar soluções desejáveis ​​das não desejáveis ​​e ter uma função que quantifique isso. No final, você terá um termo de custo e um termo de regularização e deseja otimizar a soma de ambos.

carlosdc
fonte
1

Técnicas de regularização são técnicas aplicadas a modelos de aprendizado de máquina que tornam o limite de decisão / modelo ajustado mais suave. Essas técnicas ajudam a evitar o ajuste excessivo.

Exemplos: L1, L2, desistência, redução de peso em redes neurais. Parâmetro em SVMs.C

Martin Thoma
fonte
0

Em termos simples, a Regularização é uma técnica para evitar ajustes excessivos ao treinar algoritmos de aprendizado de máquina. Se você tiver um algoritmo com parâmetros livres suficientes, poderá interpolar detalhadamente sua amostra, mas os exemplos que saem da amostra podem não seguir essa interpolação de detalhes, pois capturou ruído ou irregularidades aleatórias na amostra em vez da tendência real.

O excesso de ajuste é evitado limitando o valor absoluto dos parâmetros no modelo. Isso pode ser feito adicionando um termo à função de custo que impõe uma penalidade com base na magnitude dos parâmetros do modelo. Se a magnitude é medida na norma L1, isso é chamado de "regularização L1" (e geralmente resulta em modelos esparsos), se for medida na norma L2, isso é chamado "regularização L2" e assim por diante.

sandip44
fonte