A diferença entre sistema baseaso em Modelo e Instância

aula

Imagine que você está estudando para uma prova de geografia. Você tem duas maneiras principais de se preparar. A primeira é decorar todas as capitais do mundo exatamente como estão no mapa, ou seja, você decora os exemplos. A segunda é estudar o conceito de por que certas cidades se tornam capitais (por questões históricas, políticas ou econômicas) e, a partir dessa regra, você consegue deduzir qual deve ser a capital de um país mesmo que não tenha decorado. No mundo do Aprendizado de Máquina, essa diferença fundamental existe e separa os algoritmos em duas famílias: o Aprendizado Baseado em Instância e o Aprendizado Baseado em Modelo. Entender essa distinção é a chave para saber quando o computador está apenas “decorando” ou quando ele realmente “aprendeu a lógica” (generaliza).

Aprendizado Baseado em Instância

Como o nome sugere, esse método é extremamente “preguiçoso” (em termos técnicos, chamamos até de “algoritmos preguiçosos” ou Lazy Learners). Isso acontece porque, durante o treinamento, o sistema praticamente não faz nada além de guardar todo o conjunto de dados na memória. Sim, é isso mesmo: ele simplesmente memoriza os exemplos. Quando você faz uma pergunta nova (um novo dado) e quer uma resposta, o sistema então “acorda” e vai comparar essa nova informação com todas as instâncias (exemplos) que ele guardou. Ele procura o exemplo mais parecido que já viu e responde com base nessa semelhança.

Pense no sistema de reconhecimento facial do seu celular. Quando você cadastra seu rosto, ele tira algumas fotos e guarda aquelas referências. Depois, quando você pega o celular, ele compara o rosto ao vivo com as fotos salvas. Se forem parecidas o suficiente, ele te reconhece. Isso é aprendizado baseado em instância: o sistema nunca criou uma “regra” abstrata do que é o seu rosto; ele apenas compara a imagem atual com as imagens da gaveta. O exemplo clássico disso é o algoritmo K-Nearest Neighbors (KNN) , ou “K Vizinhos Mais Próximos”. Ele classifica um ponto novo olhando para os vizinhos mais próximos que estão na memória e “vota” no resultado mais comum entre eles.

Aprendizado Baseado em Modelo

Esse método não está interessado em guardar os exemplos. Em vez disso, ele usa os exemplos para “treinar” e extrair uma lógica, uma função ou uma regra geral. É como um aluno que estuda a fundo as fórmulas da física. Ele não precisa decorar que “a maçã caiu da árvore na terça-feira”; ele precisa entender a Lei da Gravidade. Depois que ele entende a regra (o modelo), ele pode aplicar aquela fórmula para qualquer situação nova, inclusive para prever o que aconteceria com uma caneta cainda em Júpiter, algo que ele nunca viu.

Nesse caso, o sistema consome os dados de treino, procura padrões e relacionamentos (por exemplo: “se a renda da pessoa é alta e a idade é baixa, então ela provavelmente comprará este produto”) e cria uma representação matemática dessa relação. Uma vez que o modelo está pronto, você pode descartar os dados originais se quiser. O modelo agora é auto-suficiente. O exemplo mais comum disso são as Regressões Lineares. Se você tem dados de tamanho de casa e preço, o algoritmo desenha uma reta que melhor representa essa relação. Quando chega uma casa de tamanho novo, ele não precisa procurar na memória por casas parecidas; ele simplesmente usa a fórmula da reta (o modelo) para calcular o preço.

Quando usar um ou outro?

A escolha entre um método e outro depende do seu problema e dos seus recursos.

Use o Aprendizado Baseado em Instância quando:

  • Seu problema é complexo e difícil de generalizar: Às vezes, os dados são tão específicos que criar uma regra geral é muito difícil. É mais seguro comparar com casos reais.

  • Os dados mudam rapidamente: Como o sistema só guarda os exemplos, é fácil adicionar um novo exemplo à memória sem precisar “retreinar” um modelo complexo.

  • Você quer entender o contexto local: O KNN é ótimo para problemas onde a decisão depende muito do contexto dos vizinhos, e não de uma tendência global.

No entanto, ele tem desvantagens claras: ele exige que você guarde todos os dados históricos (o que consome muita memória) e, além disso, a resposta pode ser lenta porque, a cada nova pergunta, ele precisa comparar com toda a base de dados.

Por outro lado, use o Aprendizado Baseado em Modelo quando:

  • Você quer fazer previsões rápidas: Depois que o modelo está treinado, a resposta é quase instantânea, pois é só aplicar uma fórmula.

  • Você busca entender as relações entre os dados: O modelo geralmente nos dá “insights”. Por exemplo, em um modelo de vendas, você descobre que a propaganda tem 3x mais impacto que o preço. Isso não é possível no método por instância, que é uma “caixa preta” de exemplos.

  • Você tem limitação de memória: O modelo ocupa pouquíssimo espaço, enquanto a base de dados original pode ser gigantesca.

Conclusão
Pense no Aprendizado Baseado em Instância como um detetive que resolve um caso novo folheando livros de casos antigos para encontrar o mais parecido. Já o Aprendizado Baseado em Modelo é um cientista que, depois de estudar vários casos, cria uma teoria geral e a aplica para resolver qualquer mistério. Ambos resolvem crimes, mas um depende da biblioteca e outro depende da teoria. Na prática, os melhores sistemas de Inteligência Artificial muitas vezes combinam os dois, mas entender essa diferença já coloca você um passo à frente na jornada do Machine Learning.

Roteiro para estudantes Business Inteligence

estudante com escadaria a frente

Business Inteligence

Machine Learning

PlantUML Syntax:</p>
<p>@startmindmap</p>
<p>title Metodos de Aprendizado de Maquina \n</p>
<p>* Aprendizado de Maquina;<br />
** 1 – Supervisionado;<br />
*** 1.1 – Regressao;<br />
**** 1.1.1 – Linear;<br />
***** 1.1.1.1 – Simples;<br />
***** 1.1.1.2 – Multipla;<br />
**** 1.1.2 – Polinomial;<br />
**** 1.1.3 – Ridge, Lasso, Elastic Net;<br />
**** 1.1.4 – Logistica;<br />
**** 1.1.5 – Arvore de Decisao;<br />
**** 1.1.6 – Redes Neurais (Deep Learning);<br />
*** 1.2 – Classificacao;<br />
**** 1.2.1 – Binaria;<br />
**** 1.2.2 – Multiclasse;<br />
**** 1.2.3 – Multirotulo;</p>
<p>** 2 – Nao Supervisionado;<br />
*** 2.1 – Clustering (Agrupamento);<br />
*** 2.2 – Reducao de Dimensionalidade;<br />
*** 2.3 – Regras de Associacao;<br />
*** 2.4 – Deteccao de Anomalias;</p>
<p>** 3 – Semi Supervisionado;<br />
*** 3.1 – Autoencoders;<br />
*** 3.2 – Propagacao de Rotulos;<br />
*** 3.3 – Modelos Hibridos;</p>
<p>** 4 – Por Reforco;</p>
<p>@endmindmap</p>
<p>

Modelos de Machine Learning

Regressão

Classificação

  • 1.2.1 Classificação Binária
  • 1.2.2 Classificação Multiclasse
  • 1.2.3 Classificação Multirotulo

Não Supervisionado

  • 2.1 Não Supervisionado – Clustering (Agrupamento)
  • 2.2 Não Supervisionado – Reducao de Dimensionalidade
  • 2.3 Não Supervisionado – Regras de Associação
  • 2.4 Não Supervisionado – Detecção de Anomalias

Semi Supervisionado

  • 3.1 Semi Supervisionado – Autoencoders
  • 3.2 Semi Supervisionado – Propagacao de Rotulos
  • 3.3 Semi Supervisionado – Modelos Hibridos

Por Reforço

  • 4 Por Reforço