Você está na página 1de 4

INTRODUÇÃO A MACHINE

LEARNING COM R

1. MENSAGEM PRINCIPAL
A. Aprendizado de máquina pode revolucionar a forma com que fazemos nossas
análises
B. Temos que estar preparados para tornar nossas aplicações inteligentes

2. APRESENTAÇÃO
A. Boa noite, eu me chamo Fernando Paiva, sou arquiteto de soluções na Guiando um
empresa de gestão de custos. Nós ajudamos grandes empresas gerenciarem melhor
suas despesas de maneira automática. Para isso, nós temos uma suíte de softwares
desenvolvidos internamente para capturar e processar faturas, criar visualizações
dos custos e análises para tomadas de decisão.
B. É uma excelente empresa para quem inspira tecnologia 24h por dia, pois temos
desafios gigantescos uma visão ousada de transformar a forma que as empresas do
mundo gerenciam custos.

3. INTRODUÇÃO
A. Gostaria de começar essa conversa com vocês contando uma história de quando eu
estava para escolher qual curso fazer na faculdade. Nessa época eu comecei a
pesquisar sobre cada curso que me interessava. E olhando o livro da UFJF que falava
de computação eu li sobre inteligência artificial. Eu já ficava imaginando eu fazendo
um software capaz de se comportar como se fosse uma mente humana, programar
um agente da matrix, um software que aprende sozinho a dar a solução para um
problema, um programa com personalidade.
B. Mas não foi bem assim que aconteceu. Quando eu fui cursar inteligência artificial
começaram a me ensinar algoritmos de busca em largura, busca em profundidade,
como resolver torre de hanoi… cara! O que existe de inteligente nisso? É um
programa igual qualquer outro! Uma sequência de algoritmos que são executados
passo a passo de acordo com o que programador escreveu.
C. Aí depois, até mesmo depois de ter cursado a disciplina que eu fui descobrir que
existia a inteligência artificial clássica ou simbólica e a inteligência artificial
moderna ou coneccionista. E realmente a inteligência artificial clássica é essa coisa
sem graça mesmo, segundo eles a inteligência está no fato de automatizar um
raciocínio humano. Por isso é que a gente aprende a resolver sokoban, torre hanói,
problema dos missionários e canibais.
D. Mas, então nesse momento você já deve estar imaginando, ok para a clássica, mas
existe a inteligência artificial moderna! Essa então deve ser do caralho você deve
estar pensando! E é legal! É legal para caramba! Mas, eu como pessoa que se
frustrou um dia com esse nome inteligência artificial tenho o deve de lhe informar
não dá para construir um robô inteligente que vai dominar a terra e implantar a
skynet. Ainda!
E. E ai nessa parte eu acho que vale abrir um parenteses sobre algumas coisas que
algumas pessoas tem dito sobre os perigos da inteligência artificial. Pode num ter
quase nada a ver com essa palestra, mas eu vou contar para vocês por que é muito
legal e quero que vocês saiam daqui dizendo que essa palestra foi legal. Em 2013 um
camarada deu uma palestra no intercon chamada Suicídio por Inteligência Artifical e
uma das coisas que ele comentou foi sobre a energia nuclear e segundo ele a melhor
coisa que aconteceu é que com energia nuclear o negócio deu merda e deu merda
cedo e então o pessoal viu que não dava para brincar sem muita atenção com aquele
negócio. Daí logo viram que os fogos de artifício em hiroshima e nagasaki não foram
lá as mil marivilhas do universo e então mundo resolveu que deveria parar de usar
tanto assim essa coisa, criaram tratado de não proliferação nuclear, bla bla bla… mas
essa história podia ter sido diferente. E a inteligência artificial também pode ser o
prenúncio do mal, pois as coisas podem se tornar complexas muito rapidamente e
perder o controle, pois nós estamos falando de sistemas que podem se auto
desenvolver. “Ahh! Fernando, para de falar merda nada a vê!” Então eu te pergunto,
você sabe o que é essa notícia? Mas, em fim, fecha parenteses.
i. Slide da notícia do bot nazista
F. Vamos voltar para falar aonde está machine learning. Temos que focar em learning.
O que significa de fato aprender? Alguém pode dar palpite sobre uma boa definição
de aprender? Aprender se refere muito a capacidade que o ser humano tem de dada
suas experiências aprender como tomar decisões melhores. Em machine learning a
ideia é a mesma. Queremos que um software também possa aprender com suas
experiências. Isso significa que diferentemente da abordagem clássica de
desenvolvimento, onde explicitamente programamos o que desejamos com aquele
programa, neste caso o programa é construído com base nos dados que fornecemos.
Meio abstrato ainda, eu sei. Mas vai começar a fazer sentido.
G. Existem ao menos dois tipos de apredizado em machine learning: supervisionado e
não supervisionado. No aprendizado supervisionado, nós estamos falando que há
uma relação onde alguém ensina e outro aprende, existe professor e aluno. No nosso
caso, o analista é o professor que treina um modelo.
H. Dentro de aprendizado supervisionado nós temos algumas categorias de problemas,
regressão linear, regressão logística, muito utilizados para predições de séries
2
temporais. E classificação que significa categorizarmos algo no grupo certo, então
por exemplo identificação de spams, sistemas de recomendações… Vou abordar a
classificação, por eu achar uma dos mais interessantes, mais computacional e menos
“estatístico”.
I. Então por exemplo, imaginemos que temos um conjunto de informações que
representam peças de xadrez, no caso de um aprendizado supervisionado nós
passamos para o modelo um conjunto de informações de treinamento contendo as
classificações corretas, para que esse modelo possa aprender como tratar isso.
J. Então podemos por exemplo rotular nossos dados como por exemplo: Isso é um rei,
isso é um peão, essa peça é preta…etc.
K. Ok, vamos ver alguns algoritmos para fazer isso. Um dos algoritmos se chama árvore
de decisão. Vamos ver como funciona uma árvore de decisão, imagine que temos um
conjunto de dados, aqui representado por essas bolinhas. Cada cor representa um
tipo de dado, ou seja, seriam classificados em classes diferentes. Nesse caso, olhando
um histograma ao lado vemos que dado um elemento aleatório temos 25% de
chance dele pertencer a uma classe específca. Então vamos supor que criemos um
critério para dividir esse conjunto de dados. Para fins didáticos, não vamos nos
preocupar com qual critério é esse, mas percebemos que ao dividir dessa forma
nossos dados, sabemos que se um elemento for para esquerda, ele tem 100% de
chance de ser vermelho. E a direita temos 33% de chance de acertar qual a cor.
Perceba que a medida que descemos na árvore nós sabemos mais sobre como
classificar esses dados. Isso nós chamos de ganho de informação.
L. Mas, esse exemplo é muito abstrato vamos pegar um exemplo real e fazer algo mais
prático. Aqui temos um conjunto de dados que representam os arquivos de
faturamento de vários fornecedores. Esse é um cenário real que temos na Guiando,
dado um arquivo precisamos saber qual é o fornecedor para escolher uma
configuração de importação adequada.

3
EXEMPLO DECISION TREE

LIBRARY('RPART')

LIBRARY('RPART.PLOT')

READ.CSV(‘DADOS_ARQUIVO.CSV’)

DECISIONTREE <- RPART(MAPEAMENTO ~ ., MINSPLIT=2, DATA =


DADOS_ARQUIVO, METHOD = "CLASS")

RPART.PLOT(DECISIONTREE, TYPE = 3, EXTRA = 2)

Você também pode gostar