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.
fonte
Respostas:
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:
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.
fonte
Suponha que você realize o aprendizado por meio da minimização empírica de riscos.
Mais precisamente:
Então, o objetivo do processo de aprendizado é encontrar (esse método é chamado de risco empírico minimização).Model=argmin∑L(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=argmin∑L(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) R R R
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 ")R a¯
fonte
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.
fonte
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
fonte
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.
fonte