Ao contrário de outros artigos, achei a entrada da wikipedia para este assunto ilegível para um não pessoa matemática (como eu).
Eu entendi a ideia básica, que você favorece 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 pode ser usada para classificar os modelos do mínimo ao mais adequado.
Você pode descrever um método de regularização simples ?
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 – o preço sobe 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 consecutivas
- exp_moving_avg (preço, período = 200) subindo
Mas Estou mais interessado em ter uma ideia de como você faz a regularização. Portanto, se você conhece modelos melhores para explicá-la, faça-o.
Comentários
- Um exemplo é a regressão de crista, que é OLS com um limite na soma dos coeficientes quadrados. Isso introduzirá viés no modelo, mas reduzirá a variância dos coeficientes, às vezes substancialmente. LASSO é outro método relacionado, mas coloca um L1 restrição no tamanho dos coeficientes. Tem a vantagem de diminuir os coeficientes. Isso é útil para p > n situações Regularizar, de certa forma, significa ” encolher ” o modelo para evitar sobreajuste (e para reduzir a variância do coeficiente), o que geralmente melhora o ‘ desempenho preditivo do modelo.
- @HairyBeast Você deve coloque seu comentário agradável como uma resposta. Se possível, tente adicionar um exemplo ilustrativo para que o OP possa descobrir como isso se traduz no problema em questão.
- @HairyBeast, então posso dizer que a regularização é apenas um método para implementar a ideia de compensação de polarização-variância ?
- Achei este vídeo muito útil, especialmente para visualizar as diferentes formas de regularização Lp: youtube. com / watch? v = sO4ZirJh9ds
- A regularização é para abordar o ajuste excessivo no modelo que é aprendido. Tentei explicar em inglês simples e visualmente. A seguir está o link para o artigo medium.com/@vamsi149/…
Resposta
Em termos simples, 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 superajustados ou muito simples e insuficientes, ambos dando previsões ruins.
Se você ajustar os mínimos quadrados a um modelo complexo para um pequeno conjunto de dados de treinamento você provavelmente irá super ajustar, 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 a priori correta de um modelo.
Para regularizar, você precisa de 2 coisas:
- Uma maneira de testar o quão bons seus modelos são na previsão, por exemplo, usando validação cruzada ou um conjunto de dados de validação (você não pode “usar o erro de ajuste para isso).
- 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 da previsão geral erro, então, após a regularização, você finalmente terá que usar um conjunto de dados de validação adicional ou realizar alguma análise estatística adicional para obter um erro de predição imparcial.
Uma alternativa ao uso de testes de validação (cruzada) é usar Priors Bayesianos ou outros métodos para penalizar a complexidade ou não suavidade, mas requerem mais sofisticação estatística e conhecimento do problema e dos recursos do modelo.
Comentários
- +1 de mim. Eu gosto que esta resposta comece pelo começo e seja tão fácil de entender …
- A regularização é realmente usada para reduzir o underfitting? 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.
- Esta resposta agora é bastante antiga, mas presumo que o 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 para selecionar a priori um modelo com poucos parâmetros (ou os errados) e também para selecionar um modelo que é muito complexo e sobreajuste.
Resposta
Suponha que você realize o aprendizado por meio da minimização empírica do risco.
Mais precisamente:
- você tem sua função de perda não negativa $ L (\ text {valor real}, \ text {valor previsto}) $ que caracteriza como suas previsões são ruins
- você deseja ajustar seu modelo de tal forma que suas previsões minimizem a função de média de perda, calculada apenas nos dados de treinamento (os únicos dados que você tem)
Então o objetivo do processo de aprendizagem é encontrar $ \ text {Model} = \ text {argmin} \ sum L (\ text {atual}, \ text {predicted} (\ text {Model})) $ (this é chamado de minimização de risco empírico).
Mas se você não tiver dados suficientes e houver uma grande quantidade de variáveis em seu modelo, é muito provável encontrar um modelo que não apenas explique os padrões mas também explica o ruído aleatório em seus dados. Este efeito é chamado de overfitting e leva à degradação da capacidade de generalização do seu modelo.
Para evitar overfitting, um termo de regularização é introduzido na função de destino: $ \ text {Model} = \ text {argmin} \ sum L (\ text {actua l}, \ text {predicted} (\ text {Model})) + \ lambda R (\ text {Model}) $
Normalmente, este termo $ R (\ text {Model}) $ impõe uma penalidade especial em modelos complexos. Por exemplo, em modelos com coeficientes grandes (regularização L2, $ R $ = soma dos quadrados dos coeficientes) ou com coeficientes muito se não zero (regularização L1, $ R $ = soma dos valores absolutos dos coeficientes). Se estivermos treinando árvore de decisão, $ R $ pode ser sua profundidade.
Outro ponto de vista é que $ R $ introduz nosso conhecimento prévio sobre uma forma do melhor modelo (“não tem” também coeficientes grandes “,” é quase ortogonal a $ \ bar a $ “)
Resposta
Colocado em termos simples, regularização é sobre como beneficiar as soluções que você espera obter. Como você mencionou, por exemplo, você pode se beneficiar de soluções “simples”, para alguma definição de simplicidade. Se o seu problema tem regras, uma definição pode ser menos regras. Mas isso depende do problema.
Você está fazendo a pergunta certa, no entanto. Por exemplo, em Support Vector Machines, essa “simplicidade” vem da quebra de laços 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 a regularização L2, se estiver usando LASSO, você está fazendo a regularização L1 (veja o que a fera cabeluda está dizendo). No entanto, se você estiver desenvolvendo seu próprio método, precisa saber como dizer soluções das não desejáveis, e têm uma função que quantifica isso. No final, você terá um termo de custo e um termo de regularização e deseja otimizar a soma de ambos.
Resposta
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 overfitting.
Exemplos: L1, L2, Dropout, Queda de Peso em Redes Neurais. Parâmetro $ C $ em SVMs.
Resposta
Em termos simples, a regularização é uma técnica para evitar ajustes excessivos ao treinar o aprendizado de máquina algoritmos. Se você tiver um algoritmo com parâmetros livres suficientes, poderá interpolar com grande detalhe sua amostra, mas os exemplos que vêm de fora da amostra podem não seguir essa interpolação de detalhes, pois ela apenas capturou ruído ou irregularidades aleatórias na amostra em vez da tendência real.
O sobreajuste é evitado limitando o valor absoluto dos parâmetros no modelo. Isso pode ser feito adicionando um termo ao função de custo que impõe uma penalidade com base na magnitude dos parâmetros do modelo. Se a magnitude for medida na norma L1, isso é chamado de “regularização L1” (e geralmente resulta em modelos esparsos), se for medida na norma L2, isso é chamado de “regularização L2” e assim por diante.