No artigo O que é Machine Learning (Aprendizado de Máquina) comentamos que a máquina irá aprender através dos dados históricos apresentados a ela.
Esses dados podem possuir diferentes características, e justamente a partir dessas características é que iremos definir nossos objetivos e abordagens.
Muitas vezes, os dados que estamos trabalhando possuem uma variável target, ou seja, nossa variável de interesse no conjunto de dados em questão.
Em outras palavras, essa é a variável que pretendemos prever os resultados finais, e para isso usaremos como parâmetro todos os seus valores no passado, juntamente com as demais variáveis.
Porém há situações onde o conjunto de dados em questão não possuirá essa variável de interesse. Nesse caso, nosso objetivo será agrupar os dados em categorias que ainda não conhecemos, com base nas semelhanças existentes nos dados, que também podemos não saber a priori quais são.
Essas diferenças nos dados e em nossos objetivos nos levam a duas possibilidades de aprendizado: supervisionado e não supervisionado.
Aprendizado Supervisionado
O aprendizado supervisionado ocorre quando o modelo aprende a partir de resultados pré-definidos, utilizando os valores passados da variável target para aprender quais devem ser seus resultados de saída.
Estes mesmos valores servem como “supervisão” destas previsões, permitindo o ajuste nas previsões com base nos erros, conforme comentamos no artigo Algoritmos de Machine Learning.
Isso é considerado aprendizado supervisionado, pois o modelo possui uma referência daquilo que está certo e daquilo que está errado.
Aprendizado não supervisionado
Ao contrário do aprendizado supervisionado que acabamos de discutir, no aprendizado não supervisionado não existem resultados pré-definidos para o modelo utilizar como referência para aprender.
Por exemplo, você apresenta para o modelo um conjunto de dados com várias informações sobre plantas (como comprimento do caule, cor da folha, espessura da raiz, etc.) e pede para o modelo separar esses dados em 5 categorias.
Nesse caso, você não especificou para o modelo o que caracteriza cada categoria, o modelo irá sozinho tentar encontrar semelhanças e diferenças entre os dados de maneira que essa separação em 5 categorias seja a melhor possível.
Como não há uma referência (ou critério específico) para o modelo seguir, define-se que esse aprendizado é não supervisionado.
Esse é apenas um exemplo de aprendizado não supervisionado, também chamado de clustering. Existem ainda outros modelos mais complexos de aprendizado não supervisionado como autoencoders, deep belief nets, GANs (Redes Adversárias Generativas), entre outros. Explicar cada um deles fugiria do propósito desse artigo, afinal estamos apenas introduzindo o assunto.
Desempenho dos aprendizados
Normalmente estamos muito interessados no desempenho que nosso modelo de machine learning terá, afinal de contas, de nada adianta um modelo extremamente complexo que não nos entregue um resultado confiável.
No aprendizado supervisionado, medir o desempenho de um modelo é muito fácil. Simplesmente separamos os dados em treino e teste e avaliamos os resultados simulando a realidade que o modelo encontrará quando estiver em uso. O desempenho do modelo pode ser verificado de forma bastante objetiva.
Já no aprendizado não supervisionado muitas vezes não temos essa mesma objetividade na avaliação do modelo criado. Afinal, se a referência para o modelo seguir não existe, também não existe uma referência para o avaliar.
Portanto, em grande parte das vezes, você (cientista de dados) será responsável por analisar o resultado apresentado, verificando (no caso de clustering, por exemplo) se os grupos criados fazem sentido e se a aplicação final será útil ou não.
Se você quiser estudar o conteúdo deste artigo em formato de vídeo, confira a aula abaixo:
Continue seu aprendizado
Estes são apenas alguns conceitos iniciais sobre o assunto. Que tal levar seu aprendizado para outro nível, utilizando machine learning na prática para resolver problemas reais?
Para aprofundar seu conhecimento, confira todos os nossos cursos! Você terá opções gratuitas e completas, do básico ao avançado, sempre com foco no aprendizado do aluno, aprendendo teoria e prática de maneira simples e didática.
Você pode trilhar sua jornada com Python ou com linguagem R, dependendo de sua preferência.
Temos cursos que vão desde o ensino dos processos básicos do machine learning e algoritmos simples até deep learning, visão computacional, aprendizado por reforço, GANs, processamento de linguagem natural e tudo que há de mais avançado nesse ramo. Imperdível!
Confira também outros artigos: