Um modelo de machine learning é a equação final gerada através de um algoritmo de machine learning, que será utilizada para definir os valores de saída a partir de novos dados apresentados.
Mas calma, vamos entender de maneira bem detalhada e didática o que estamos falando.
É muito comum ouvirmos o termo “modelo de machine learning” quando estamos falando sobre Machine Learning, Inteligência Artificial ou Ciência de Dados.
Vamos então resumir com objetividade o significado destas três áreas, para que não exista nenhuma confusão entre elas.
- Inteligência Artificial: conceito em constante evolução, que atualmente pode ser entendido como a tentativa de uma máquina imitar ou simular uma ação inteligente humana. Lembrando que por ação inteligente entende-se aquela que requer raciocínio para tomada de decisão, e não apenas uma reação ou repetição.
- Machine Learning: é uma das principais áreas da Inteligência Artificial. No aprendizado de máquina, o computador irá aprender com base em dados históricos, para decidir qual a melhor resposta para determinado problema. Ele é muito utilizado na previsão de dados que ainda não conhecemos.
- Ciência de Dados: área que transforma dados brutos em informação valiosa para tomada de decisão. Essa transformação pode acontecer através de um simples gráfico, que resume visualmente a relação dos dados, ou mesmo através de análises complexas, inclusive com a previsão de dados futuros através do machine learning.
Assim, vemos que o machine learning pode ser utilizado em diversos contextos, porém, um modelo de machine learning sempre terá o mesmo significado e finalidade, independente do contexto em que está inserido.
Ele apresentará uma resposta, que dependerá dos dados de entrada informados. Vamos entender como esse processo acontece.
Algoritmos de Machine Learning
Como falamos, o resultado de um modelo de machine learning é dependente dos dados de entrada que o alimentam. Esses dados serão inseridos em uma equação, que retornará o resultado do modelo.
Assim, podemos ver que o que determina o desempenho de um modelo é o desenvolvimento desta equação, que acontece através do algoritmo utilizado.
O processo é muito simples. Uma base de dados, conhecida como dados de treino, será passada ao algoritmo, que então aplicará uma série de regras a estes dados, encontrando uma equação final para descrever a relação dos dados.
Normalmente estas regras serão complexas, envolvendo uma série de cálculos, com repetições e comparações, levando assim a equação que melhor se ajusta as regras, parâmetros e dados utilizados neste treinamento.
Essencialmente, o algoritmo utilizado será um algoritmo matemático, que em muitos casos poderia inclusive ser aplicado utilizando-se apenas papel e caneta. Boa parte dos algoritmos atuais foram criados por matemáticos, antes mesmo de computadores poderem fazer uso destas soluções, porém sem um computador será praticamente impossível concluirmos a tarefa.
Levaríamos milhares de anos para criar um simples modelo, dependente da base de dados utilizada.
Existem muitos algoritmos de machine learning que podem ser utilizados nesta etapa, e o sucesso do modelo que buscamos criar está diretamente relacionado a utilização de um algoritmo adequado a finalidade em questão.
Normalmente o cientista de dados que está criando o modelo irá testar diferentes algoritmos nos dados de teste que está utilizando, variando os parâmetros desses algoritmos, buscando aqueles que apresentam o melhor desempenho.
Testando o modelo
Para escolher o modelo final, aquele que será efetivamente utilizado em uma aplicação, ele precisa ser testado. Este teste irá confirmar seu desempenho, e, também, identificar aquele que deverá apresentar o melhor resultado com dados desconhecidos.
Para esta finalidade utilizaremos os dados de teste, que são dados não utilizados no desenvolvimento do algoritmo.
É importante que neste momento tenhamos clareza da métrica utilizada para avaliar o modelo, para que a escolha seja adequada a finalidade da aplicação.
Underfitting e Overfitting
Ainda com relação a escolha do modelo final a ser utilizado, é fundamental que ele não sofra de Underfitting nem de Overfitting.
- Underfitting: pode ser identificado ainda no treinamento do modelo. Acontece quando o algoritmo não encontra relações entre as variáveis, e com isso sua equação final não poderá ser utilizada. Ao inserirmos um novo dado nesta equação, seu resultado não terá significado algum, e se utilizarmos este modelo nos dados de teste, o resultado será péssimo.
- Overfitting: neste cenário o algoritmo terá criado uma réplica das relações existentes nos dados de treino. Ou seja, ele aprenderá cada detalhe existente, e sua equação final apresentará um desempenho excelente, se ajustando perfeitamente aos dados. Porém, no momento que apresentamos os dados de teste a este modelo, o resultado não é bom. O modelo irá procurar pelos mesmos valores existentes nos dados de treino, e, ao não encontrar, seu desempenho será ruim.
Modelo final
Por mais que encontremos o melhor modelo, talvez ele ainda não seja suficientemente bom para ser utilizado. Tudo dependerá dos critérios que teremos para aceitação ou não de um desempenho específico.
Caso o modelo não seja aprovado, é provável que precisemos de mais dados para treino, talvez com novas variáveis, ou, ainda, que sejam realizadas outras tarefas de pré-processamento, antes da aplicação do algoritmo.
Por mais que a criação e ajuste da base de dados utilizada seja anterior a aplicação do algoritmo utilizado, ela poderá ser determinante para o sucesso do modelo, e, portanto, merece atenção redobrada.
Criando um modelo na prática
Toda essa teoria que conversamos pode parecer um pouco complexa. É claro que existem algumas complexidades no processo, mas de maneira geral, aplicar um modelo de machine learning é algo simples. Para provar isso, deixamos dois vídeos abaixo, onde realizamos a criação prática de dois modelos distintos, com duas ferramentas diferentes, usando Python e também linguagem R.
Continue seu aprendizado
Como vimos nos vídeos, a aplicação prática de machine learning é algo muito simples, desde que devidamente apresentada. Pensando nisso criamos alguns cursos, com opções gratuitas e completas, com muita didática e objetividade, focando sempre no aprendizado do aluno. Clique aqui e confira estes cursos.
Leia também: