Há muito tempo a humanidade flerta com a possibilidade de uma máquina que replicasse o comportamento humano. Nesse contexto diversas peças de cultura contam como a Inteligência Artificial conviveria com os humanos, como Robocop e Eu, Robô.
Ainda na época que a IA começou a se desenvolver, diversos cientistas buscaram produzir seus próprios autônomos. Turing, em 1953, lançou um paper contando como desenvolver uma máquina que jogasse xadrez. Ainda assim, programar esse tipo de comportamento pode ser muito difícil.
Foi nessa situação que o Aprendizado de Máquina (ou Machine Learning) cresceu. Com o intuito de rapidamente replicar o comportamento humano sem explicitamente programar, o ML utiliza a Ciência de Dados para alcançar a meta.
“Machine Learning: the field of study that gives computer the ability to learn without being explicitly programmed.” - Arthur Samuel, 1959
“A computer programming is said to learn from experience E with respect to some task T and some performance measure P if its performance on T, measured by P, improves with E.” - Tom Mitchell, 1998
De forma simplificada, a frase de Tom diz que queremos aproximar uma função
ML é uma área muito ampla e infelizmente não iríamos conseguir abordar todos os tópicos. Assim, vamos focar nos mais tradicionais modelos e exemplos.
Entretanto, ainda que estejamos estudando uma parte de ML, todo o processo para fazer uma aplicação envolve desde a retirada dos dados até a visualização. De forma simplificada, essas tarefas juntas formam o campo da Ciência de Dados.
Dataset é o termo em inglês para conjunto de dados. Esses são os dados completos que estaremos utilizando para treinar, testar e validar um modelo.
Features ou características são as expressões dos dados, valores numéricos vetorizados que melhor representam cada conjunto de treinamento.
No Dataset Iris, as características foram extraídas com antecedência: tamanho das sépalas e das pétalas. Cada um desses dados é rotulado com a flor correspondente: Iris Setosa, Iris Virginica e Iris Versicolor.
Vamos ver detalhes sobre a extração de características mais a fundo ao longo do grupo de estudos, então não se preocupem.
Quando treinamos um modelo de ML, esperamos que ao apresentar novos dados, ele possua a capacidade de generalizar.
Vamos exemplificar:
- treinamos um modelo para identificar se dadas imagens são de cachorro
- ao apresentar uma nova imagem de cachorro, esperamos que o modelo retorne um resultado positivo
Nem sempre possuímos a imagem que desejamos testar. Assim, é necessário separar o Dataset original entre treino e teste. Dessa forma, o modelo será treinado nos dados de treino e então será testado nos dados de teste.
O erro é uma forma de medir quão bem um modelo performou.
O trade-off Viés e Variância descreve a relação entre a complexidade de um modelo, o erro de suas predições e quão bem isso ele é capaz de generalizar.
Um modelo pode apresentar um grande viés e isso significa que há uma baixa variância.
O alto viés indica que o modelo não consegue aprender as peculiaridades do Dataset.
De forma contrária, o modelo também pode apresentar grande variância e um baixo viés. A alta variância indica que o modelo pode aprender muito bem os detalhes do Dataset.
No primeiro caso dizemos que o modelo há facilidade em ocorrer underfitting. Já no segundo há overfitting (azul).
É difícil afirmar qual a melhor forma de executar a partição do nosso Dataset entre treino e teste.
Nesse cenário, a validação cruzada é uma técnica para superar esse problema na base da força bruta.
Essa técnica 'quebra' o Dataset em
No final, o erro do modelo será a média aritmética de cada um das