Você está na página 1de 70

Data Science 2K20

Machine Learning
Aula 1

Prof. Genaro Dueire Lins


• Professor e Monitor
Roteiro da • Motivação

Aula • Apresentação do Curso


• Visão geral de Machine Learning
• Professor e Monitor
Roteiro da • Motivação

Aula • Apresentação do Curso


• Visão geral de Machine Learning
Quem somos…

• Genaro Dueire Lins

• Pedro Teixeira
• Professor e Monitor
Roteiro da • Motivação

Aula • Apresentação do Curso


• Visão geral de Machine Learning
Reportagens Recentes
• Reconhecimernto facial
• Modelos de crédito
• Previão de transito
• Previsão de demanda
• Mercado financeiro

Onde • Análise de sentimentos


(twitter)
machine • Previsões de resultado de
learning se ações jurídicas
• Elaboração de música
aplica hoje? • Tradução de idiomas
• Marketing digital
• Algritmos de
recomendação
• E, muito, muito, mais…
Como serão as fábricas no
futuro?
O que estas pessoas tem em
comum?
Elas Não Existem !
(https://thispersondoesnotexist.com/)
O quão
surpreendente
será o futuro?
E quais serão os limites?
Por que os economistas estão
invadindo as empresas de tecnologia?

• O repertório de habilidades do economista


• Aplicações da economia nas empresas de tecnologia

https://terracoeconomico-com-
br.cdn.ampproject.org/c/s/terracoeconomico.com.br/po
r-que-os-economistas-estao-invadindo-as-empresas-de-
tecnologia/amp/
Pilares da
Transformação

• Dados
• Tecnologia
E quão
Big são os
Dados?
Em 2010, imagine hoje!
Recursos para
o trabalho em
analytics é
imenso!
Hadoop
Cloud
Computing
Linguagens de
Programação

• Matlab
• SAS
• Stata
• E-views
Linguagens de
Programação Gratuitas

• Julia
• Gauss
• Octave
• R
• Python
Quais as razões para
Python ser tão popular ?

• Comunidade de desenvolvedores super ativa


• Grandes corporações dão suporte ao Python
• Manipula muito bem grandes bases de dados
• Tem bibliotecas fantásticas
• É confiável e eficiente
• É gratuito!
• Professor e Monitor
Roteiro da • Motivação

Aula • Apresentação do Curso


• Visão geral de Machine Learning
Proposta do Curso
Este curso apresenta os principais fundamentos de Ciência
de Dados, através do uso intensivo da linguagem de
programação Python. O objetivo do curso é dar ao aluno
ferramental teórico, e prático, para importar, explorar e
modelar bases de dados. O conjunto de técnicas exploradas
inicia com a revisão das técnicas usuais para modelagem
(regressão, loggit e probit), para focar nas técnicas mais
usuais de Machine Learning, como árvores classificação,
random forest e support vector machine (SVM).
Referência de
Programação
Livro texto
do curso
Livro para
aprofundamento
Aula Dia Plano
Apresentação do Curso
1 24 / 04 Cenário de Aprendizado de Máquina

2 25 / 04 Projeto de Aprendizado de ML de End-to-End


3 08 / 05
Avaliação de Modelos de Classificação
4 09 / 05

Roteiro do 5
6
15 / 05
16 / 05
Treinando Modelos

Curso 7
8
22 / 05
23 / 05
Support Vector Machine

9 29 / 05 Árvore de Decisão
10 30 / 05 Ensemble Learning e Random Florest
11 05 / 06
Redução de Dimensionalidade
12 06 / 06
13 19 /06
Apresentação Trabalho
14 20 /06
Além das técnica queremos
entender a forma de pensar
dos profissionais de ML

• Bate papo com profissionais que aplicam ML em


diversas áreas do conhecimento:
• Crédito
• Prevenção à Fraudes
• Prevenção à Lavagem de Dinheiro
• Finanças
• Segurança da Informação

• Todo sábado a partir de 06/05 teremos uma hora (11 às


12 hs) com um convidado externo.
E também queremos estimular a leitura e
compartilhamento de temas legais no tema

• Escolha de um artigo (não


necessariamente acadêmico)
para elaboração de uma
apresentação e debate com os
colegas.
• Grupo de 2 duas pessoas;
• Sorteio das datas, para
apresentação a partir de 08/05.
Qual a importância da monitoria neste curso?

• Praticar Python

• Apresentar a programação
das técnicas apresentadas
em cada capítulo do livro.
Avaliação

• Apresentação de artigo DS 30%

• Média dos trabalhos nas aulas de monitoria* 30%

• Trabalho de conclusão de curso 40%

* Descarta a pior nota


• Professor e Monitor
Roteiro da • Motivação

Aula • Apresentação do Curso


• Visão geral de Machine Learning
Capítulo 1

The Machine
Learning
Landscape
[Machine Learning is the] field
of study that gives computers
the ability to learn without
being explicitly programmed.

Arthur Samuel, 1959

O que é machine learning ?


A computer program is said to
learn from experience E with
respect to some task T and some
performance measure P, if its
performance on T, as measured by
P, improves with experience E.

Tom Mitchell, 1997


Exemplo:
Filtro de Spam • A tarefa é a flag spam ou
não spam

• A experiência é a base de
treino

• A medida de performance
poderia ser por exemplo o
percentual de falso positivos
Abordagem Tradicional
Vejam a similaridade com o PDCA (plan, do , check , act)
Aumentando a
complexidade,
regras
jugamentais
não serão mais
suficientes…
Ou ambientes que Exemplos:
mudam - Detecção de fraudes

constantemente… - Marketing digital


Mas, os algoritmos também nos ensinam sobre o processo
Problemas que exigem muitas regras

Machine Problemas complexos, nos quais não existe uma


boa solução usando abordagem tradicional
learning é
aplicavel para: Em ambientes que mudam rapidamente

Obter insights a cerca de problemas complexos


e um grande número de dados

Condição: performance com resposta rápida


Tipos de Sistemas de Machine
Learning
• Se ou não há treino com supervisão humana
(supervisinados, não supervisionados,
semisupervisionados, e aprendisagem por reforço)
• Se ou não eles podem aprender em tempo de execução
(online versus batch)
• Se eles funcionam simplesmente comparando novos
pontos de dados com pontos de dados conhecidos ou
detectando padrões nos dados de treinamento e
construindo um modelo preditivo
Aprendizado Supervisionados / Não Supervisionados
Supervisionados – Exige a marcarção de rótulos

Exemplo de Rótulo: marcação de Spam


Aprendizado Supervisionados / Não Supervisionados
Supervisionados – Exige a marcarção de rótulos

= Rótulo
Aprendizado Supervisionados / Não Supervisionados
Principais algoritmos Supervisionados

• k-Nearest Neighbors

• Linear Regression

• Logistic Regression

• Support Vector Machines (SVMs)

• Decision Trees and Random Forests

• Neural networks
Aprendizado Supervisionados / Não Supervisionados
Não Supervisionados – Sem necessidade de rótulos
Aprendizado Supervisionados / Não Supervisionados
Não Supervisionados – Sem necessidade de rótulos

• Clustering
o k-Means
o Clustering hierárquico Analysis (HCA)
o Maximização da Expectativa
• Visualização e redução de dimensionalidade
o Component Analysis (PCA)
o Kernel PCA
o Locally-Linear Embedding (LLE)
o t-distributed Stochastic Neighbor Embedding (t-SNE)
• Aprendizado da regra da associação
o Apriori
o Eclat
Aprendizado Supervisionados / Não Supervisionados
Não Supervisionados – Sem necessidade de rótulos
Aprendizado Supervisionados / Não Supervisionados
Não Supervisionados – Sem necessidade de rótulos

Nos ajudam na visualização da


informação
Aprendizado Supervisionados / Não Supervisionados
Não Supervisionados – Sem necessidade de rótulos

Ou no processo de detecção de
anomalias.
Semi Supervisionados

Exemplo de uso
Semi Supervisionados
Aprendizado Online & em Lote
• Em Instância
• O sistema aprende os exemplos por meio da
Aprendisado memorização e, em seguida, generaliza para
baseado em casos novos utilizando uma medida de
similaridade.
Instância vs • Em Modelo
• Constroe-se um modelo com os exemplo e
Modelo utiliza-se estes para generalizar
Em instância

• A métrica de similaridade é fundamental para o desempenho.


Em modelo

• Modelamos a relação entre as características e o fenômeno


Exemplo de
Aprendizado
por Modelo
O dinheiro nos torna felizes?
O que vocês
acham?
Podemos supor
que existe uma
relação linear
entre renda e
satisfação
Dentre as
possíveis retas,
podemos usar
como critério
de seleção a
que minimiza a
distância entre
a reta e os
pontos de
treinamento.
• Você estudou os dados
• Selecionou um modelo
• Treinou-o com os dados de treinamento
• Finalmente, você aplicou o modelo para
fazer previsões em dados novos
Principais Desafios do
Aprendizado de Máquina
Quantidade
insuficiente de dados
de treinamento

Quando temos muitos, muitos,


dados a técnica deixa de ser tão
importante
Dados de
Treinamento
não
representativos

• O viés de seleção pode acontecer por diversas razões:


• Filtros
• Auto seleção
• Erro de amostragem
Baixa
Qualidade • Dados faltantes
dos Dados • Outliers
• Erro de medição
• Mudanças de conceito das variáveis ao longo do
tempo
Características Como funciona o processo Exemplo Crédito

Irrelevantes • Seleção das características • Idade


• Extração das características • Descarte de idades
• Criação de novas irrelevantes (abaixo de 18
e acima de 80)
características
• Criação de novas
características (renda,
região, endividamento)
Sobreajuste do modelo

• Muitas variáveis leva a sobreajuste no treino,


exemplo um polinômio de alto grau ou variaveis
sem sentido… • Uma técnica muito usada é a de regulação,
• … exemplo, paises com a letra W (em inglês) são reduzindo os graus de liberdade de ajuste dos
mais felizes - New Zealand (7.3), Norway (7.4), parâmetro.
Sweden (7.2), and Switzerland (7.5).

O que dizer de Rwanda or Zimbabwe ?


Validação &
Teste
Default

90 dias de atraso
informação de significativa deterioração
na capacidade de pagamento.

Y X1 X2 X3 ⋯ x100
1
0 • Variáveis Explicativas 𝑿 = 𝒙𝟏 , ⋯ , 𝒙𝒏

Amostra de 0 Até 2017


Desenvolvimento ⋮
• Idade
• Região
0
• Status residencial
1 • Emprego
1 • Histórico de Pagamento
Amostra de 0 • Endividamento
Validação
1 • Tempo de atraso 2018
⋮ • Atraso em outros produtos
0
O que vimos até aqui

• O que é apresendizado de máquina


• Tipos de sistemas de AM
• Diferença entre o aprendizado em instância e
modelos
• Dificuldades que podemos encontrar no caminho
• A importância do teste e validação