A unidade anterior apresentou o seguinte modelo, que classificou incorretamente muitas
árvores no conjunto de testes:
O modelo anterior contém muitas formas complexas. Um modelo
mais simples processaria os novos dados melhor? Suponha que você substitua o modelo complexo por
um modelo ridiculamente simples, uma linha reta.
O modelo simples generaliza melhor do que o complexo em novos dados. Ou seja,
o modelo simples fez previsões melhores no conjunto de teste do que o modelo complexo.
A simplicidade tem vencido a complexidade há muito tempo. Na verdade, a
preferência pela simplicidade remonta à Grécia antiga. Séculos depois,
um frade do século XIV chamado Guilherme de Ockham formalizou a preferência
pela simplicidade em uma filosofia conhecida como Faca
de Ockham. Essa filosofia
continua sendo um princípio fundamental de muitas ciências, incluindo
o aprendizado de máquina.
Exercícios: teste seu conhecimento
Você está desenvolvendo uma equação de física. Qual das fórmulas a seguir
se conforma mais à navalha de Occam?
Uma fórmula com três variáveis.
Três variáveis são mais compatíveis com Occam do que doze variáveis.
Uma fórmula com 12 variáveis.
Doze variáveis parece muito complicado, não é?
As duas fórmulas de física mais famosas de todos os tempos (F=ma e
E=mc2) envolvem apenas três variáveis.
Você está em um projeto de machine learning totalmente novo e está prestes a selecionar os primeiros recursos. Quantos recursos você deve escolher?
Escolha de um a três atributos que pareçam ter um forte poder preditivo.
É melhor que o pipeline de coleta de dados comece com apenas um ou dois recursos. Isso vai ajudar a confirmar se o modelo de ML funciona como esperado.
Além disso, ao criar uma base de referência com alguns recursos,
você vai sentir que está progredindo.
Escolha de quatro a seis atributos que pareçam ter um forte poder preditivo.
Você pode usar todos esses recursos, mas é melhor
começar com menos. Menos recursos geralmente significa menos complicações
desnecessárias.
Escolha o maior número possível de atributos para começar a observar quais
atributos têm o maior poder preditivo.
Comece aos poucos. Cada novo recurso adiciona uma nova dimensão ao conjunto de dados de treinamento. Quando a dimensionalidade aumenta, o volume do espaço
aumenta tão rápido que os dados de treinamento disponíveis se tornam escassos. Quanto
mais dispersos forem seus dados, mais difícil será para um modelo aprender a relação
entre os atributos que realmente importam e o rótulo. Esse fenômeno é chamado de "maldição da dimensionalidade".
Regularização
Os modelos de aprendizado de máquina precisam atender simultaneamente a duas metas conflitantes:
Ajuste bem os dados.
Ajuste os dados da maneira mais simples possível.
Uma abordagem para manter um modelo simples é penalizar modelos complexos, ou seja,
forçar o modelo a se tornar mais simples durante o treinamento. Penalizar modelos complexos é uma forma de regularização.
Perda e complexidade
Até agora, o curso sugeriu que o único objetivo do treinamento era
minimizar a perda, ou seja:
$$\text{minimize(loss)}$$
Como você viu, os modelos focados apenas na minimização de perdas tendem a ter um ajuste excessivo.
Um algoritmo de otimização de treinamento melhor minimiza uma combinação de
perda e complexidade:
$$\text{minimize(loss + complexity)}$$
Infelizmente, a perda e a complexidade geralmente têm uma relação inversa. À medida que
a complexidade aumenta, a perda diminui. À medida que a complexidade diminui, a perda aumenta.
Você precisa encontrar um meio-termo razoável em que o modelo faça boas previsões com os dados de treinamento e reais.
Ou seja, o modelo precisa encontrar um compromisso razoável
entre perda e complexidade.
O que é complexidade?
Você já viu algumas maneiras diferentes de quantificar a perda. Como você
quantificaria a complexidade? Comece a exploração com o seguinte exercício:
Exercício: verificar sua intuição
Até agora, falamos de forma bastante vaga sobre o que é a complexidade. Quais das ideias a seguir você acha que seriam métricas de complexidade
razoáveis?
A complexidade é uma função dos pesos do modelo.
Sim, essa é uma maneira de medir a complexidade de alguns modelos.
Essa métrica é chamada de
regularização L1.
A complexidade é uma função do quadrado dos pesos do modelo.
Sim, é possível medir a complexidade de alguns modelos dessa forma. Essa métrica é chamada de
regularização L2.
A complexidade é uma função dos vieses de todos os atributos no modelo.