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
Normalmente poderemos encontrar diferentes modelos que apresentam desempenho semelhante nos treinos. Estes modelos podem ser criados com um mesmo algoritmo, tendo diferentes parâmetros aplicados na sua criação, levando a resultados diferentes, ou mesmo podem ser criados com algoritmos distintos.
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
Após estas etapas, teremos encontrado um modelo final, que poderá ou não ser utilizado na previsão de novos valores. Sua utilização dependerá do desempenho que ele apresenta.
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: