Skip to content

Latest commit

 

History

History
96 lines (67 loc) · 5.48 KB

README.md

File metadata and controls

96 lines (67 loc) · 5.48 KB

Introdução a Machine Learning

Vítor Fróis, Miller Anacleto e Gabriel Merlin

Introdução

Uma breve história

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.

venn

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 $g(x)$ utilizando uma $f(x)$. E para isso, utilizamos um conjunto de dados que nos permite aproximar bem o suficiente a função $g(x)$.

Categorias

ml_tasks

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.

A Engenharia de Machine Learning

image

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.

Fundamentos de ML

Conjunto 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.

Características (Features)

Features ou características são as expressões dos dados, valores numéricos vetorizados que melhor representam cada conjunto de treinamento.

iris

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.

Treino e Teste

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.

Erro

O erro é uma forma de medir quão bem um modelo performou.

Viés e Variância

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).

overfitting

Validação Cruzada

É 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 $n$ partes e realiza $n$ iterações de treinamento com os pedaços para treinar e testar o modelo.

No final, o erro do modelo será a média aritmética de cada um das $n$ iterações de treinamento.

image

Referências