O que é a complexidade do modelo na aprendizagem de máquinas?
A2A: Há muitas maneiras de medir a complexidade de um modelo aprendido no ML, e os pesquisadores usam este termo de diferentes maneiras. Mas, muito geralmente, "complexidade de modelo" geralmente se refere ao número de graus de liberdade em um modelo aprendido, muitas vezes medido como o número de pesos ou parâmetros ajustáveis na arquitetura que faz a aprendizagem. Dito de outra forma, é a dimensionalidade do espaço dos possíveis modelos. Em uma arquitetura de rede neural, a complexidade do modelo é frequentemente medida como o número de pesos ajustáveis.
As pessoas se preocupam com isso em parte devido ao custo do treinamento de todos esses parâmetros, mas principalmente por causa do problema de sobreajustamento: Mais uma vez, grosso modo, se você tem um número muito grande de parâmetros treináveis e uma quantidade limitada de dados de treinamento, você pode acabar com um modelo muito complicado que aprende os dados de treinamento quase perfeitamente, mas o faz de uma forma que enfatiza todo tipo de pequenos detalhes que são idiossincráticos - específicos para os exemplos particulares no conjunto de treinamento, mas não amplamente representativos da população maior a partir da qual esses exemplos particulares foram extraídos. Talvez todas as figuras de gatos em seu conjunto de treinamento tenham uma certa cor vermelha pixelizada, ou algo parecido.
Esses modelos têm bom desempenho no conjunto de treinamento, mas baixa generalização. Um modelo menos complexo ("mais suave" em algum sentido) pode ser mais provável de modelar as características amplas que caracterizam a população como um todo.
O problema, é claro, é que nem todos os parâmetros são criados de forma igual. Alguns podem mascarar o efeito de outros ou torná-los ineficazes. Pode haver mecanismos ou métodos de treinamento que gravitam para tornar muitos dos parâmetros redundantes, reduzindo o perigo de ajuste excessivo. E assim por diante.
Esta é uma visão muito geral. Neste ponto, você precisa ir ler um livro ou fazer um curso sobre isso para entender os - ummm... - detalhes complexos de tudo isso.
Uma advertência: As pessoas no campo ML às vezes falam informalmente da "complexidade" de um modelo para se referir a outras coisas - por exemplo, a complexidade geral da arquitetura (número de camadas, presença de algum tipo de recorrência ou elemento de memória, presença de técnicas incomuns nos algoritmos de treinamento, maneiras incomuns de apresentar as entradas e saídas, e assim por diante. Ou seja, a quantidade total de maquinaria de clanking que o experimentador decidiu usar e/ou está tentando entender.
Artigos semelhantes
- Qual é a diferença entre modelo AR, modelo ARMA e modelo ARIMA?
- Como é que o Google utiliza a aprendizagem de máquinas?
- O que é bom para o futuro, aprendizagem de máquinas, computação em nuvem, IA, ou ciência de dados?
- O que é um conjunto de dados de treinamento & conjunto de dados de teste na aprendizagem de máquinas? Quais são as regras para selecioná-los?