As duas principais etapas em aplicações de Machine Learning
A etapa de treinamento e inferência em si são as duas etapas mais importantes
O primeiro estágio de uma aplicação de Machine Learning é a relacionada ao treinamento dos modelos com exemplo. Na programação tradicional, os sistemas aprendem através da programação explícita de regras. No aprendizado de máquina os sistemas aprendem com os exemplos, através dos dados. Os dados e especialmente os exemplos(labels) utilizados no aprendizado supervisionado são essenciais para o sucesso do modelo.
Quando nos referimos aos dados em projetos de Machine Learning, estamos nos referindo tanto aos exemplos de input quanto aos exemplos de output (labels ou rótulos de classes), para o caso do aprendizado supervisionado.
Por exemplo, vamos imaginar que nós queremos treinar um modelo de Machine Learning para olhar uma imagem e identificar o seu conteúdo. A resposta verdadeira é o rótulo de cada imagem, seria o exemplo de output. A imagem em si, com os seus pixels e valores de intensidade seria a entrada para o modelo. O modelo em si é um conjunto de funções matemáticas que podem ser aplicados a uma variedade de problemas. Existem muitas funções matemáticas diferentes que podem ser utilizadas nos modelos e os modelos em si possuem uma grande quantidade de parâmetros.
Durante o treinamento, o modelo ajusta os seus parâmetros de modo que ao receber uma nova imagem de entrada, ele tenta prever corretamente a qual classe/label aquela imagem nova pertence, tudo isso graças a análise de diversas imagens de exemplo. Quanto maior o número de imagens de exemplo e melhor a sua variabilidade (qualidade), melhor o modelo ficará e será capaz de generalizar o problema.
Após termos o modelo treinado, podemos utilizá-lo para inferência do rótulo/classe de imagens nunca vistas anteriormente. Nessa etapa entraremos com novas imagens e o modelo que já foi treinado será capaz de distinguir se a imagem é de um gato, cão, carro ou maçã, por exemplo.
Por definição, esse modelo deve ser capaz de diferenciar e classificar novas imagens, isto é, imagens que não foram utilizadas durante o treinamento. A classificação funcionará bem se o modelo conseguir generalizar quais as características dos gatos, carros e etc. O problema ocorrerá se o modelo apenas "decorar" cada uma das imagens utilizadas durante a fase de treinamento. A esse problema chamamos de overfitting.
O principal fato para construir um modelo de Machine Learning com boa capacidade de generalização é alimentá-lo no treinamento com uma grande quantidade de dados.
Conclusão
Os modelos de Machine Learning passam por duas etapas, a de treinamento e a de inferência. Há alguma discussão entre autores que utilizam o termo previsão ou predição. Será que no caso de classificação de imagens estão prevendo o "futuro" ao dizer que determinada imagem é de um gato ou cão?
Acho que não, estamos apenas inferindo que aquela imagem é de determinado objeto.
Muita gente foca na parte de desenvolver o modelo mas pouco analisa a sua performance em produção ou como colocá-lo em produção utilizando serviços como o AWS, Azure ou Google Cloud. É necessário estudar projetos de Machine Learning fim a fim, desde a concepção até colocar o modelo em produção na nuvem.
Para mais conteúdo, nos acompanhe nas redes sociais @aprendadatascience