Você está na página 1de 72

Conceitos básicos de Aprendizado de Máquina

DEFINIÇÕES
- O aprendizado de máquina é “um campo de estudo que oferece aos
computadores a capacidade de aprender sem serem explicitamente programados
”. (Samuel,1959)
- “O aprendizado de máquina é uma das principais subáreas da inteligência
artificial, e é composto por uma coleção de métodos criados a partir de modelos
matemáticos baseados na teoria estatística que permitem aos computadores
automatizar tarefas com base na descoberta sistemática de padrões nos
conjuntos de dados disponíveis ou em experiências passadas.” ( Bhavsar et al.
2017; Alpaydin 2020)

APLICAÇÕES
- Reconhecimento facial
- Detecção de objetos e cenários
- Comparação facial
- Carros autonomos
- Recomendações em streamings
- Assistente pessoal (Alexa)

TIPOS DE APRENDIZADO EM MACHINE LEARNING


APRENDIZADO SUPERVISIONADO - Motivação: tarefa (prediz próximo valor)
Aprendizado supervisionado: algoritmos que fornecem às máquinas dados e seus
rótulos esperados. Após o treinamento, o modelo deve ser capaz de classificar dados
fora do conjunto de treinamento corretamente.

APRENDIZADO NÃO SUPERVISIONADO - Motivação: dado (identifica grupos)


Aprendizado não supervisionado: algoritmos em que se espera que a máquina detecte
tendências nos dados sem nenhuma identificação prévia. Eles são úteis para
identificar clusters (aglomerados) em dados
APRENDIZADO POR REFORÇO - Aprende com os erros
Aprendizado por reforço: algoritmos que ensinam o modelo, dando reforços positivos
para os resultados esperados e/ou reforços negativos para comportamentos
indesejados

VIÉS INDUTIVO

Preferência de algumas hipóteses sobre outras


Ex. Preferência de hipóteses curtas (Navalha de Occam)
ALGUMAS FERRAMENTAS DE AM
- Python Scikit learn http://scikitlearn.org/
- R Project http://www.rproject.org
- Rapid Miner http://rapidminer.com
- Keel http://www.keel.es/
- Weka http://www.cs.waikao.ac.nz/ml/weka

Alguns conjuntos de dados de AM


- Machine Learning Data Repository UC Irvine
http://www.ics.uci.edu/~mlearn/ML/Repository.html
- Kaggle: competições práticas promovidas por empresas
https://www.kaggle.com/competitions
- OpenML - https://www.openml.org/

Aprendizado para Classificação: Árvores de Decisão


MÉTODOS SIMBÓLICOS
Neste paradigma, um conceito é representado em uma estrutura simbólica e o
aprendizado é realizado através da apresentação de exemplos e contraexemplos deste
conceito. Essas estruturas possibilitam uma interpretação mais direta por seres humanos.
A vantagem principal desse tipo de método é uma maior compreensibilidade do processo
decisório.

ÁRVORES DE DECISÃO E REGRESSÃO


Uma árvore de decisão usa a estratégia dividir para conquistar, de modo a resolver um
problema de decisão. Formalmente, uma árvore de decisão é um grafo direcionado
acíclico em que cada nó ou é um nó de divisão, com dois ou mais sucessores, ou é um
nó folha.
INDUÇÃO DE ÁRVORES DE DECISÃO E REGRESSÃO

- A entrada para a função GeraÁrvore é um conjunto de dados D


- No passo 3 o algoritmo avalia o critério de parada
- Se mais divisões são necessárias é escolhido o atributo que maximiza o critério de
Divisão (passo 5)
- No passo 7, a função é recursivamente aplicada a cada partição do conjunto de
dados D

REGRAS DE DIVISÃO POR CLASSIFICAÇÃO


- Deve se considerar o uso de árvores de decisão em situações onde:
- As instâncias são descritas por pares atributo valor;
- A função objeto (alvo) é de valor discreto
- Os exemplos de treino poderão ter erro ( noise
- Faltam valores nos atributos;

- Exemplos:
- Diagnósticos médicos;
- Análises de risco de crédito;
- Classificação de objetos para um manipulador de robot (Tan 1993)

Algoritmo ID3
O algoritmo ID3 (inductive decision tree) é um dos mais utilizados para a construção de
árvores de decisão. Este algoritmo segue os seguintes passos:
- Começar com todos os exemplos de treino;
- Escolher o teste (atributo) que melhor divide os exemplos, ou seja, agrupar
exemplos da mesma classe ou exemplos semelhantes;
- Para o atributo escolhido, criar um nó filho para cada valor possível do atributo;
- Transportar os exemplos para cada filho tendo em conta o valor do filho;
- Repetir o procedimento para cada filho não "puro". Um filho é puro quando cada
atributo X tem o mesmo valor em todos os exemplos.
Coloca se então, uma pergunta muito importante:
Como saber qual o melhor atributo a escolher?
Para lidar com esta escolha são introduzidos dois conceitos, a entropia e o ganho.
Entropia
A entropia de um conjunto pode ser definida como sendo o grau de pureza desse
conjunto. Este conceito, emprestado pela Teoria da Informação, define a medida de "falta
de informação", mais precisamente o número de bits necessários, em média, para
representar a informação em falta usando codificação ótima. Dada uma coleção S
contendo exemplos positivos (+) e negativos(negativos(-) de algum conceito alvo, a
entropia de S relativa a essa classificação boolena é:

Onde:
P+ é a proporção de exemplos positivos em S
P é a proporção de exemplos negativos em S

Exemplo:

Entropia:

Ganho de Informação: redução esperada no valor da Entropia, devido à ordenação no


conjunto de treino segundo os valores do atributo A.

Exemplo:

Para responder a pergunta: Qual o melhor atributo para iniciar a árvore?


Resposta: utiliza-se o ganho.
No exemplo dado:
Ganho(S, Perspectiva) = 0,246
Ganho(S, Umidade) = 0,151
Ganho(S, Vento) = 0,048
Ganho(S, Temperatura) = 0,029
Quando em todos os nós a entropia for nula, o algoritmo para e obtém se a seguinte
árvore de decisão:

REGRAS DE DIVISÃO POR REGRESSÃO


As árvores de regressão são usadas quando a variável dependente é contínua,
diferentemente das árvores de classificação que são usadas quando a variável
dependente é categórica. No caso da árvore de regressão, o valor obtido pelos nós de
término nos dados de treinamento é o valor médio das suas observações. Assim, a uma
nova observação de dados atribui-se o valor médio correspondente. Ambas as árvores
dividem o espaço preditor (variáveis independentes) em regiões distintas e não
sobrepostas. Para a realização das partições em uma árvore de regressão utiliza-se a
métrica de redução da variância, definida pelas fórmulas abaixo:

VALORES DESCONHECIDOS
Se o valor do atributo testado não é conhecido podemos utilizar as seguintes estratégias:
- Trocar o valor desconhecido pelo valor mais comum para o atributo encontrado no
conjunto de treinamento
- Considerar o valor desconhecido como outro valor possível
- Associa se uma probabilidade a cada um dos possíveis valores do atributo
(Algoritmo C4.5)
- Estratégia da Divisão Substituta (Algoritmo CART)
ESTRATÉGIAS DE PODA
Overfitting: Um cenário de overfitting ocorre quando, nos dados de treino, o modelo tem
um desempenho excelente, porém, quando utilizamos os dados de teste o resultado é
ruim.

Underfitting: No cenário de underfitting o desempenho do modelo já é ruim no próprio


treinamento. O modelo não consegue encontrar relações entre as variáveis e o teste
nem precisa acontecer. Este modelo já pode ser descartado, pois não terá utilidade.

Para melhorar o modelo, utilizam-se métodos de poda (pruning) na árvore, cujo objetivo
é melhorar a taxa de acerto do modelo para novas amostras que não foram utilizadas
no treinamento.

Estratégias

Pré-poda : realizada Pós-poda: realizada após a construção da árvore. Para


durante a construção da cada nó interno da árvore, é calculada a taxa de erro
árvore. Em um certo caso esse nó vire folha (e tudo abaixo dele seja
momento, se o ganho de eliminado). Em seguida, é calculada a taxa de erro
informação for menor que caso não haja a poda. Se a diferença entre essas duas
um valor preestabelecido, taxas de erro for menor que um valor preestabelecido,
então, esse nó vira folha. a árvore é podada; caso contrário, não ocorre a poda.

Vantagens Desvantagens

1.Flexibilidade 1.Replicação
2.Robustez 2.Valores ausentes
3.Seleção de atributos 3.Atributos continuos
4.Interpretabilidade 4.Instabilidade
5.Eficiência
REGRAS DE DECISÃO

Vantagens de converter uma árvore de decisão em regras antes da poda:


- Permite distinguir entre os diferentes contextos onde os nós de decisão são
utilizados
- Remove a distinção entre atributos de testes que ocorrem próximos da raiz da
árvore e aqueles que ocorrem próximos das folhas
- Melhora a leitura humana
- Regras são geralmente mais fáceis para pessoas entenderem

RESUMO
A aprendizagem de árvores de decisão fornece um método prático para a aprendizagem
de conceito e para a aprendizagem de outras funções de valor discreto.

A família de algoritmos ID3 infere árvores de decisão expandindo as a partir da raiz e


descendo, selecionando o próximo melhor atributo para cada novo ramo de decisão
adicionado à árvore.

Simplicidade para compreensão e interpretação.

Os dados não necessitam de pré-processamento.

Lidam tanto com dados numéricos quanto categóricos.

Emprega um modelo “caixa branca”.

Possibilidade de validar um modelo através de estatísticas.

Robustez.

Bom desempenho em grandes conjuntos de dados em um tempo curto.


Aprendizado de regras
REGRAS DE DECISÃO
Uma regra de decisão é uma implicação da forma: Se A então B
Parte condicional A: conjunção de condições
Cada condição é relação entre um atributo e valores
Relações: =, ≠, <, >, <=, >=,∈, ∉

Parte Consequente B: rotula os exemplos


Tal como nas árvores de decisão, o conjunto de regras é disjunto (FND)

REGRAS DE DECISÃO E ÁRVORES DE DECISÃO


Regras de Decisão e Árvores de Decisão são bastante similares em sua forma de
representação para expressar generalizações dos exemplos.

Ambas definem superfícies de decisão


similares.
As superfícies de decisão definidas pelas
regras de decisão correspondem a
híper-retângulos no espaço definido pelos
atributos.
Cada regra cobre uma região específica
do espaço de instâncias.
A união de todas as regras pode ser
menor do que o Universo.
Regras são modulares e podem ser
interpretadas isoladamente.
ÁRVORES DE DECISÃO PARA REGRAS DE DECISÃO
Cada regra corresponde a um percurso, desde a raiz da árvore até uma folha.
Existem tantas regras quanto folhas da árvore.
Alguns algoritmos utilizam um processo de otimização para simplificar o conjunto de
regras removendo condições irrelevantes.

ALGORITMO DE COBERTURA
Tipicamente o algoritmo procura regras da forma:
ESTRATÉGIAS
Top-down : inicia a busca da regra mais geral, {} → Classe, e aplica operadores de
especificação, acrescentando condições à parte condicional da regra (orientada pelo
modelo)
Bottom-up: começa pela regra mais específica (é escolhido um dos exemplos
aleatoriamente, o que implica restrições em todos os atributos) e aplica operadores de
generalização, removendo restrições (orientada a dados)

ALGORITMO TOP-DOWN
ALGORITMO BOTTOM-UP
ESTRATÉGIA TOP-DOWN
Começar com a regra mais geral (vazia).
Repetidamente, adicionar restrições ao antecedente usando características que eliminem
o máximo de negativos enquanto mantêm o maior número de positivos.
Parar quando somente positivos estiverem cobertos.
ESTRATÉGIA BOTTOM-UP
Começar com a regra mais específica (por exemplo, uma instância aleatória).
Repetidamente remover restrições do antecedente para cobrir mais positivos.
Parar quando generalização começar a cobrir negativos.
Exemplos

Exemplo CN2 (TOP-DOWN)


O objetivo é encontrar uma regra para Joga = Sim. Neste exemplo ilustrativo vamos usar
como função de avaliação de hipóteses a taxa de erro. Obviamente, queremos minimizar
essa função. A procura começa com a regra mais geral {} → Sim. A regra não tem
restrições, ou seja, tudo é da classe Sim. A taxa de erro é de 5/14

Introduzindo uma restrição, o conjunto de hipóteses é:

Como foi encontrada uma regra com taxa


de erro 0, Tempo = Nublado → Sim, o
processo de encontrar uma regra termina.
O algoritmo de cobertura remove os
exemplos cobertos pela regra2 e retorna o
processo de encontrar uma nova regra a
partir do subconjunto de exemplos.
Exemplo AQ - (BOTTOM-UP)
O algoritmo AQ segue uma estratégia bottom up , a procura é efetuada do mais
específico para o geral. Para construir uma regra para uma classe, o ponto de partida é
um exemplo dessa classe. O operador de generalização remove condições da regra
atual. No caso do sistema AQ, a função de avaliação é:

APLICANDO REGRAS
Situações particulares:
i)nenhuma regra dispara;
ii)apenas uma regra dispara; ou
iii)mais que uma regra dispara.

O primeiro caso pode ser evitado, acrescentando uma regra sem parte condicional e cuja
conclusão seja, por exemplo, a classe majoritária. Se mais que uma regra dispara,
podemos ter situações de conflito. As soluções mais usuais para esses casos consistem
em ordenar as regras por prevalência, ou qualquer critério de mérito.
Enquanto o método top down gera regras ordenadas pela ordem em que são induzidas, o
método bottom up gera um conjunto não ordenado de regras. Na aplicação do conjunto
de regras a exemplos não classificados, há duas estratégias básicas. No caso de
conjuntos ordenados de regras, cada exemplo é classificado pela primeira regra cuja
parte condicional é satisfeita. Neste contexto, é frequente adicionar uma regra default
sem parte condicional, que se aplica quando nenhuma das regras dispara. Como vimos, o
algoritmo de cobertura termina quando existem apenas exemplos de uma classe. A regra
default tem como conclusão essa classe. No caso de conjuntos de regras não ordenadas,
todas as regras cuja parte condicional é verificada são utilizadas para classificar o
exemplo, tipicamente por votação ponderada pela qualidade da regra.
Algoritmos de regras de classificação
REGRAS COMO REPRESENTAÇÃO DO CONHECIMENTO
Uma das maneiras de representar conhecimento é pelo uso de regras que expressem o
que deva acontecer, ou o que realmente acontece diante de certas condições. Regras
são geralmente expressas na forma de instruções SE ... ENTÃO ..., tal como:

- SE premissa
- ENTÃO conclusão

- Se o carro não ligar


- Então o problema pode estar no sistema elétrico

- Se o problema pode estar no sistema elétrico


- E a voltagem da bateria está abaixo de 10 volts
- Então a falha é uma bateria ruim

Inclusão do SENÃO
- SE você tem um alto salário
- OU suas deduções são errôneas,
- ENTÃO sua chance de sofrer auditoria da Receita Federal é alta,
- SENÃOsua chance de sofrer auditoria é baixa

SISTEMAS BASEADOS EM REGRAS


Nos sistemas baseados em regras ou sistemas baseados em conhecimento (SBC), há
uma separação clara entre conhecimento e raciocínio.
O controle do programa não se mistura com a especificação do conhecimento.
Conhecimento é um conjunto integrado de fatos e relações que, quando devidamente
interpretado, produz um desempenho eficiente.
Sistemas baseados em regras, ou sistemas de produção, são sistemas computacionais
que usam regras para fornecer recomendações, diagnósticos, ou para determinar uma
linha de ação em uma situação particular, ou para solucionar um problema específico.

TIPOS DE ENCADEAMENTO
- Encadeamento para frente (Raciocínio progressivo ou forward chaining):Parte dos
dados em direção às metas

- Encadeamento para trás (Raciocínio regressivo ou backward chaining): Parte das


metas em direção aos dados

RESOLUÇÃO DE CONFLITOS
Níveis de prioridades
- Atribui prioridades às regras garantindo que a regra de maior prioridade será
sempre a escolhida em caso de conflito.
- Considera que a regra mais longa é mais específica e, portanto, a que melhor
atende à situação de conflito.
ENCADEAMENTO PARA FRENTE
O sistema parte de um conjunto de fatos e de um conjunto de regras e tenta encontrar um
meio de usar tais regras e fatos para deduzir uma conclusão, ou traçar uma linha de ação
apropriada.

Dos dados à conclusão

Três etapas:

- Busca
- Casamento (unificação)
- Resolução de conflitos

Estratégia de inferência muito rápida

ENCADEAMENTO PARA TRÁS


Da hipótese aos dados
Parte da hipótese que se quer provar, procurando regras na Base de Regras cujo
consequente satisfaz essa hipótese. Usa as regras da BR para responder às perguntas
Busca provar se uma pergunta é verdadeira
Ex.: West = criminoso?
Só processa as regras relevantes para a pergunta
Duas etapas:
Busca e Casamento (unificação)
Utilizado em sistemas de aconselhamento trava um “diálogo” com o usuário
ex.: MYCIN
SISTEMAS ESPECIALISTAS
Sistemas que empregam o conhecimento humano para resolver problemas que requerem
a presença de um especialista.
Área de aplicação de mais sucesso da IA
faz parte dos chamados knowledge based systems
Utilidade
- Capacitar não especialistas
- servir de assistente aos especialistas
- servir de repositório de conhecimento “valioso” para a empresa

SISTEMAS ESPECIALISTAS - ARQUITETURA


SISTEMAS ESPECIALISTAS - PESSOAS

SISTEMAS ESPECIALISTAS - FUNCIONAMENTO


Considerando uma regra:

- se as premissas estão contidas na memória de trabalho,


- então aplica se a regra, adicionando as conclusões na memória de trabalho
- senão, passa para a próxima regra
- quando detecta se que um objetivo foi atingido ou que mais nenhuma regra se
aplica, o processo de raciocínio é encerrado

As variações nesse mecanismo estão relacionadas à escolha das regras


primeira regra, a próxima regra etc.
SISTEMAS ESPECIALISTAS - ALGORITMO RETE
Inventado por Dr. Charles Forgy em 1979
Composto de duas partes:
- Tempo de Compilação
- Descreve como gerar uma rede de discriminação para as regras da base
que possa auxiliar a fase de casamento
- A rede de discriminação é utilizada com um “filtro de dados”

- Tempo de Execução
- A rede é utilizada para unificar a memória de trabalho com as regras da
base de forma mais eficiente

SISTEMAS ESPECIALISTAS - CLIPS


Desenvolvido no Johnson Space Center da NASA de 1985 a 1996, o C Language
Integrated Production System (CLIPS) é uma linguagem de programação baseada em
regras, útil para criar sistemas especialistas e outros programas onde uma solução
heurística é mais fácil de implementar e manter do que uma solução algorítmica. Escrito
em C para portabilidade, o CLIPS pode ser instalado e usado em uma ampla variedade
de
plataformas. Desde 1996, o CLIPS está disponível como software de domínio público.

SISTEMAS ESPECIALISTAS - EXPERT SINTA


Algoritmo One-Rule
Rule é um algoritmo para inferir regras que utiliza apenas um atributo

Pseudo Código

Para cada atributo


- Para cada valor do atributo gerar uma regra como segue:
- Contar a frequência de cada classe;
- Encontrar a classe mais frequente;
- Formar uma regra que atribui a classe mais frequente ao valor;
- Calcular a taxa de erro de classificação das regras;
Escolher as regras com a menor taxa de erro de classificação

ALGORITMO ONE-RULE - ENTRADA

ALGORITMO ONE-RULE - PYTHON


Aprendizado probabilístico
PARADIGMAS DE APRENDIZADO DE MÁQUINAS
- SIMBÓLICO
Neste paradigma, um conceito é representado em uma estrutura simbólica e o
aprendizado é realizado através da apresentação de exemplos e contraexemplos deste
conceito. As estruturas simbólicas estão tipicamente representadas em alguma
expressão lógica, como por exemplo, regras de produção. Exemplos de técnicas que
utilizam este paradigma são: Agentes Inteligentes e Árvores de Decisão

- ESTATÍSTICO
No paradigma estatístico é utilizado um modelo estatístico que encontre uma hipótese
que possua uma boa aproximação do conceito a ser induzido. O aprendizado consiste
em encontrar os melhores parâmetros para o modelo. Estes modelos podem ser
paramétricos (quando fazem alguma suposição sobre a distribuição dos dados, ou
podem ser não paramétricos, quando não fazem suposição sobre a distribuição dos
dados. Dentre os modelos estatísticos utilizados em aprendizagem de máquina,
podemos destacar os modelos Bayesianos.
- BASEADO EM EXEMPLOS
Uma forma de classificar um novo padrão é lembrar se de exemplos parecidos
classificados anteriormente, e assim atribuir ao novo exemplo uma classe de um
padrão parecido. Esta é a ideia central deste paradigma. A técnica de raciocínio
baseada em casos é um exemplo de técnica que utiliza este paradigma.

- CONEXIONISTA
O nome conexionista vem da área de pesquisa de Redes Neurais Artificiais (RNA).
Uma rede neural artificial é um modelo computacional inspirado no funcionamento do
cérebro humano.
Uma RNA possui três componentes principais: unidade de processamento “os
neurônios”, conexões “sinapses” e uma topologia.
As redes neurais possuem como principal característica aprender através de exemplos
e
poder de generalização.
As redes Multi Layer Perceptron (MLP) e Self Organizing Map (SOM) são exemplos de
técnicas que utilizam este paradigma de aprendizado.

- EVOLUTIVO
Este paradigma foi inspirado na teoria da evolução das espécies de Charles Darwin. O
algoritmo inicia com uma população de indivíduos, onde cada indivíduo representa uma
possível solução. Os indivíduos competem entre si, os indivíduos com menor
desempenho são descartados, e os indivíduos com melhores desempenhos são
selecionados para reprodução (Crossover); os novos indivíduos gerados podem ou não
sofrer mutação. A população evolui através de várias gerações, até que uma solução
ótima seja encontrada. Algoritmos genéticos e Programação genética são exemplos de
técnicas que utilizam este paradigma.

MÉTODOS BAYESIANOS
Fornece algoritmos práticos de aprendizagem
Aprendizagem de Redes Bayesianas
Combina conhecimento a priori (probabilidade a priori ou incondicional) com dados de
observação.
Assumem que a probabilidade de um evento A (que pode ser uma classe), dado um
evento B (que pode ser o conjunto dos atributos de entrada) não depende apenas da
relação entre A e B mas também da probabilidade de observar A, independentemente de
observar B. (Mitchell, 1997)
TEOREMA DE BAYES

Considere o exemplo de dados:

Os objetos podem ser classificados em vermelho ou verde


Como há mais objetos verdes que vermelhos, a probabilidade, a priori, é que um novo
objeto seja verde
Probabilidade a priori de verde = número de objetos verdes/ número total de objetos =
40/60 = 4/6
Probabilidade a priori de vermelho = número de objetos vermelhos / número total de
objetos = 20/60 = 2/6
Queremos classificar um novo objeto X (ponto branco)

P(novo objeto ser verde)=4/6 . 1/40 = 1/60


P(novo objeto ser vermelho)=2/6 . 3/20 = 1/20

Como os objetos estão agrupados, é razoável considerar que quanto mais objetos de
uma classe “parecidos” com X, maior a chance de X ser daquela classe.
Vamos considerar o “parecido” pelo círculo na figura (estar dentro do círculo) e calcular a
probabilidade:
Probabilidade de “parecido” dado que é verde = número de objetos verdes no círculo/
número total de verdes= 1/40
Probabilidade de “parecido” dado que é vermelho = número de objetos vermelhos no
círculo/ número total de vermelhos= 3/20
NAIVE BAYES: ANÁLISE DO ALGORITMO
Aspectos positivos: Aspectos negativos:
- Todas as probabilidades da - O impacto das variáveis
equação podem ser calculadas a irrelevantes deve ser levado em
partir de um conjunto de conta em consideração ao
treinamento em uma única desempenho do NB;
passagem; - O tratamento de atributos com
- De fácil implementação valores contínuos não é direto
- Algoritmo Naive Bayes tem bom (sendo necessário discretizar los);
desempenho em uma grande
variedade de domínios;
- É robusto à presença de ruídos e
atributos irrelevantes;
- Teorias aprendidas são de fácil
compreensão pelos especialistas
do domínio;

Redes Bayesianas para classificação


CONCEITO
Estrutura de dados para representar as dependências entre variáveis e fornecer uma
especificação concisa de qualquer distribuição de probabilidade conjunta total.
Composição:
- um conjunto de nós, um para cada variável aleatória
- grafo direcionado e acíclico (seta = "influência direta")
- cada nó tem uma distribuição condicional P(X i | Pais (X i )) que quantifica o efeito
dos pais sobre o nó
No caso mais simples, a distribuição condicional é representada como uma tabela de
probabilidade condicional (TPC), dada uma distribuição sobre Xi para cada combinação
de valores dos pais.
EXEMPLO
“Você possui um novo alarme contra ladrões em casa. Este alarme é muito confiável na
detecção de ladrões, entretanto, ele também pode disparar caso ocorra um terremoto.
Você tem dois vizinhos, João e Maria, os quais prometeram telefonar-lhe no trabalho caso
o alarme dispare. João sempre liga quando ouve o alarme, entretanto, algumas vezes
confunde o alarme com o telefone e também liga nesses casos. Maria, por outro lado,
gosta de ouvir música alta e às vezes não escuta o alarme.”
A topologia da rede reflete conhecimento
"causal":
- Um roubo pode ligar o alarme
- Um terremoto pode ligar o alarme
- O alarme faz Maria telefonar
- O alarme faz João telefonar

Se conhecemos a probabilidade da ocorrência de um ladrão e de um terremoto e ainda, a


probabilidade de João e Maria telefonarem.
Podemos Calcular P(Alarme|Ladrão,Terremoto):

Roubos e terremotos afetam diretamente a probabilidade do alarme tocar; mas o fato de


João e Maria telefonarem só depende do alarme. Desse modo, a rede representa nossas
suposições de que eles não percebem quaisquer roubos diretamente, não notam os
terremotos e não verificam antes de ligar!
Considere que se deseja calcular a probabilidade do alarme ter tocado, mas, nem um
ladrão nem um terremoto aconteceram, e ambos, João e Maria ligaram, ou
P(J^M^A^¬L^¬T).
REDES BAYESIANAS - MÉTODO DE CONSTRUÇÃO
Escolha um conjunto de variáveis Xi que descrevam o domínio.
Escolha uma ordem para as variáveis.
Enquanto existirem variáveis:
- Escolha uma variável Xi e adicione um nó n a rede.
- Determine os nós Pais(Xi) dentre os nós que já estejam na rede e que tenham
influência direta em Xi.
- Defina a tabela de probabilidades condicionais para Xi
MariaLig: raiz.
JoãoLig: Se Maria ligou, então, provavelmente, o alarme tocou. Neste caso, MariaLig
influencia JoaoLig. Portanto, MariaLig é pai de JoãoLig.
Alarme: Claramente, se ambos ligaram, provavelmente o alarme tocou. Portanto, Alarme
é influenciado por JoãoLig e MariaLig.
Ladrão: Influenciado apenas por Alarme.
Terremoto: Se o alarme tocou, provavelmente, um terremoto pode ter acontecido.
Entretanto, se existe um Ladrão, então as chances de um terremoto diminuem. Neste
caso, Terremoto é influenciado por Ladrão e Alarme.

REDES BAYESIANAS - TIPOS DE CONHECIMENTO


- Causal
- Refletem a direção conhecida de causalidade no mundo: para algumas
propriedades do mundo percepções são geradas.
- Exemplo: P(DorDeDente|Cárie), P(MariaLiga|Alarme)
- Diagnóstico
- Infere a presença de propriedades escondidas diretamente da percepção.
- Produzem conclusões fracas.
- Exemplo: P(Cárie|DorDeDente), P(Alarme|MariaLiga)
REDES BAYESIANAS - TIPOS DE INFERÊNCIA
REDES BAYESIANAS - APRENDIZAGEM
A aprendizagem Bayesiana pode ser vista como uma forma de obter a representação
interna da rede que define um dado domínio, de modo a facilitar a extração do
conhecimento.

O processo de aprendizagem é dividido em duas partes:


- aprendizagem da estrutura (e relações entre as variáveis);
- aprendizagem dos parâmetros numéricos (distribuição de probabilidade);

Formas de aprendizagem:
- Especialista
- Indutiva

Aprendizagem dos parâmetros:


- podem ser estimados através das frequências relativas, caso exista uma
quantidade de dados significativa de uma amostra aleatória

Aprendizagem de estrutura:
- Métodos de Verossimilhança Máxima;
- Métodos de Teste de Hipóteses;
- Métodos de Verossimilhança Estendidos;
- Métodos ”Minimum Information Complexity“;
- Métodos ”Resampling”;
- Métodos Bayesianos, destacando o clássico algoritmo K2 (COOPER;
HERSKOVITS, 1992).

REDES BAYESIANAS - CLASSIFICADORES


Classificadores bayesianos com k-dependências são aqueles em que cada atributo tem
no máximo k nós atributos como pais.
REDES BAYESIANAS - CONSIDERAÇÕES
- Redes bayesianas constituem uma forma natural para representação de
informações condicionalmente independentes
- Boa solução para problemas onde conclusões não podem ser obtidas apenas do
domínio do problema
- Combina conhecimento a priori com dados observados
- O impacto do conhecimento a priori (quando correto) é a redução da amostra de
dados necessários
- Inferências sobre redes bayesianas
- Podem ser executadas em tempo linear
- NP hard para maioria dos casos
- Aplicação de técnicas

Aplicação do algoritmo Naive Bayes


Hipótese principal: variáveis para identificação de uma dada classe são independentes
umas das outras.

CONJUNTO DE DADOS UTILIZADO IRIS


O conjunto de dados de flores de iris é muito famoso e consiste em 3 classes de flores.
Existem 4 variáveis independentes:
sepal_length, sepal_width, petal_length e petal_width
A variável dependente é a espécie que vamos prever usando as quatro características
independentes das flores.
Existem 3 classes de espécies:setosa, versicolor e virginica
Máquinas de Vetores de Suporte (SVMs)

TEORIA DE APRENDIZADO ESTATÍSTICO (TAE)

Condições matemáticas que auxiliam na escolha de um classificador h

H: conjunto de possíveis classificadores de um algoritmo AM para um conjunto de


treinamento X

Condições:
- Desempenho de h
- Complexidade

Minimizar o risco esperado (erro) de classificação

Objetivo: generalização dos resultados

Conjuntos de dados grandes: Risco empírico tende a convergir para o risco esperado
Conjuntos de dados pequenos: Pode ocorrer a escolha de um h super ajustado

Solução: Limitar o risco esperado

Funções de decisão lineares: Podemos usar o conceito de margens para limitar o risco
esperado
MÁQUINAS DE VETORES DE SUPORTE (SVMs)
Aplicação da Teoria de Aprendizado Estatístico
Classificador : separador de margem máxima
- Fronteira linear
Separação linear em hiperplano
- Espaço de dimensão superior
Opção quando não há conhecimento prévio do domínio
Muito usadas para classificação binária
- Podem ser usadas em domínios com mais classes
EXEMPLO
TIPOS DE SVMs
TRUQUE DE KERNEL
Função Kernel:
- Aplicada a pares de dados de entrada
- Determina produtos escalares no espaço

O truque de Kernel é usado para encontrar separações lineares em espaços de


dimensões variadas
ALGORITMO*
Entrada: Conjunto de dados de treinamento T
Saída: Modelo SVM treinado
1.Para cada solução possível classificador h
2.Encontre os vetores de suporte T
3.Calcule a margem do classificador h
4.Escolha h que maximiza a margem entre as classes
* SVM linear

CONSIDERAÇÕES
VANTAGENS:
Capacidade de generalização
Objetos de grandes dimensões
Determinístico
Robusto a ruídos

DESVANTAGENS:
Modelo de difícil interpretação caixa preta
Sensibilidade à escolha dos parâmetros
Computacionalmente custoso

APLICAÇÕES
Classificação de imagens
Classificação textual
Reconhecimento facial
Reconhecimento de escrita manual
Classificação de genes
Análise de séries temporais
Aprendizado para Agrupamento

MODELOS DESCRITIVOS
- Não há um elemento externo para guiar o aprendizado
- Utiliza-se as propriedades intrínsecas dos objetos para decidir suas semelhanças e
diferenças
- Aprendizado não supervisionado
- Agrupamento de dados
- Métodos de análise de dados com o objetivo de descobrir grupos homogêneos

SUMARIZAÇÃO

- Descrever as características dos dados


- Medidas estatísticas:
- Média, mediana, moda, desvio padrão...
- Técnicas de visualização mais simples:
- Histograma, gráfico de dispersão, gráfico de setores…

ASSOCIAÇÃO

- Identificar padrões frequentes de associações entre atributos


- Mineração de padrões frequentes
- Regras de associação
- Ex: produtos frequentemente comprados juntos
- Apriori, FP-Growth

AGRUPAMENTO

- Identificação de grupos de acordo com as similaridades entre os objetos

USOS DE AGRUPAMENTO DE DADOS


Medicina:identificar categorias de diagnósticos
Biologia: taxonomia de animais e plantas
Marketing:identificar grupos de clientes
Análise de imagens: detecção facial
CLUSTER
Grupo de objetos similares
- Cluster bem separado: Objetos similares mais próximos do que objetos distintos
- Cluster baseado em centro: Objeto que representa o conjunto (real ou calculado)
- Cluster contínuo ou encadeado: Objetos similares mais próximos do que objetos
distintos
- Cluster baseado em densidade: Regiões mais densas com objetos similares
- Cluster baseado em similaridade: Conjunto de pontos similares

CRITÉRIOS DE AGRUPAMENTO

Compactação
- Critério de homogeneidade , compactação
- Clusters esféricos ou bem separados
- Ex: k médias

Encadeamento ligação
- Critério local, de vizinhança
- Clusters com formatos arbitrários
- Ex: hierárquico de ligação simples

Separação espacial
- Distância natural entre os clusters
- Simples
- Uso em conjunto com os demais critérios
REFINAMENTO
Quantidade de clusters

Parâmetros de ajuste

Etapas da análise de agrupamento


Objetos Conjuntos de dados a serem analisados

Conhecimento Ajuda a guiar as escolhas técnicas


do especialista

Preparação - Pré-processamento
- Normalização dos dados
- Magnitude
- Matriz de similaridade

Proximidade - Escolher a medida de distância


- Atributos quantitativos
- Métrica de Minkowski
- Distância de Manhattan: Dados binários
- Distância euclidiana: Dados gerais
- Distância de Chebyschev: Distância máxima entre
atributos

Agrupamento - Etapa central do processo


- Escolha do algoritmo de agrupamento

Validação - Avaliar se os clusters formados são representativos

Interpretação - Examinar e rotular os clusters

Clusters - Analisar os resultados obtidos


validados / - Uso dos dados para os fins desejados
Significados
dos clusters
Algoritmos de agrupamento

Categorias de agrupamento

Hierárquicos
- Aglomerativos
- Cada objeto pertencendo a um grupo
- Objetos são agrupados até um critério de parada
- Divisivos
- Todos os objetos pertencem ao mesmo grupo
- Objetos são divididos até um critério de parada

Particionais
- Exclusivos
- Cada objeto pertence a um único grupo
- Não exclusivos
- Cada objeto pode pertencer a mais de um grupo
- Agrupamento fuzzy

Monotéticos ou politéticos
- Número de atributos usados para calcular a distância

Hard ou fuzzy
- Pertencimento integral ou parcial de um objeto aos grupos

Determinístico ou estocástico
- Resultado do agrupamento

Tipos de algoritmos de agrupamento


HIERÁRQUICOS HIERÁRQUICOS

PARTICIONAIS BASEADOS EM ERRO QUADRÁTICO

BASEADOS EM DENSIDADE

BASEADOS EM GRAFOS

BASEADOS EM REDES NEURAIS

BASEADOS EM GRID
HIERÁRQUICOS
Métricas de ligação
- Distância entre clusters
Nível de granularidade flexível
Critério de parada indeterminado
Não melhora os clusters
PARTICIONAIS BASEADOS EM ERRO QUADRÁTICO
Agrupamento é feito de forma iterativa
- Partição inicial aleatória
Critério de agrupamento
- Erro quadrático
- Minimizar distância intracluster
- Maximizar distância intercluster
Conjunto de clusters k definido pelo usuário
Pode se escolher diferentes medidas de similaridade
Critério de parada
- Centroide não é mais alterado
PARTICIONAIS BASEADOS EM DENSIDADE

Consideram que os clusters são regiões de alta densidade de objetos


A separação dos clusters ocorre em regiões de baixa densidade
Gera clusters de formas arbitrárias
Não é necessário definir o número de clusters
Exemplo: DENCLUE:DENsity CLUstEring
- Modela a densidade global de um conjunto de pontos
- Soma das funções de influência de cada ponto•
- Ex: distância euclidiana
- Picos locais são atratores de pontos
- Formação de clusters
- Pré agrupamento
- Mapeamento do espaço
- Agrupamento
- Identifica os atratores de densidade picos locais
- Identifica os pontos atraídos

PARTICIONAIS BASEADOS EM GRAFOS


- Grafo de proximidade
- Representa um conjunto de dados
- Cada nó é um objeto conectado aos outros nós
- Aresta representa similaridade ou distância
- Agrupamento
- Remoção ou inclusão de nós

Exemplo: CLICK:CLuster Identification via Connectivity Kernels


- Dados são representados por um grafo de similaridade
- Partição recursiva em dois subconjuntos
- Critério de parada determina os subconjuntos finais
- Clusters
PARTICIONAIS BASEADOS EM REDES NEURAIS
- Redes neurais auto organizáveis
- Camada de entrada
- Matriz de pesos
- Acionam determinados neurônios em uma única camada

Exemplo: SOM: Self Organizing Maps


- Camada única de neurônios mapa
- Para cada objeto
- Neurônio vencedor e seus vizinhos têm seus pesos ajustados
- Objetos distintos acionam regiões distintas do mapa
- Saída Vetores de referência que representam clusters
PARTICIONAIS BASEADOS EM GRID
- Subdivisão do espaço dos objetos em grades
- Eficientes para grandes conjuntos de dados
- Funcionam bem para clusters arbitrários
- Bons para identificar outliers
Exemplo:CLIQUE:CLustering In QUEst
- Determina as grades com base em densidade
- Particiona o espaço em células
- Células adjacentes formam clusters
- Dados podem ser agrupados por diferentes perspectivas atributos
- Bom desempenho computacional
Algoritmos Genéticos
MÉTODOS DE BUSCA

Busca Cega ou Exaustiva: Não sabe qual o melhor nó da fronteira a ser expandido.
Apenas distingue o estado objetivo dos não objetivos.

Busca Heurística:Estima qual o melhor nó da fronteira a ser expandido com base em


funções heurísticas.

Busca Local: Opera em um único estado e move se para a vizinhança deste estado.

ALGORITMOS EVOLUCIONÁRIOS
Os algoritmos evolucionários, dos quais os algoritmos genéticos fazem parte, procuram
se inspirar na forma como a natureza funciona.
Os algoritmos evolucionários funcionam mantendo uma população de estruturas que
evoluem de forma semelhante à evolução das espécies.
Nestas estruturas são aplicados operadores genéticos, como a recombinação e mutação.
Cada indivíduo recebe uma avaliação (fitness) que é uma quantificação da sua qualidade
como solução do problema em questão.
Baseados nesta avaliação são aplicados operadores genéticos de forma a simularem a
sobrevivência do mais apto.

ALGORITMOS GENÉTICOS - PASSOS


Definir uma maneira de codificar a população de indivíduos.
Definir uma função de avaliação.
Definir um método de seleção dos pais.
Definir os operadores genéticos:
- Recombinação
- Mutação
ALGORITMOS GENÉTICOS - POPULAÇÃO INICIAL
A representação dos cromossomos é fundamental para a codificação do algoritmo
genético.
Consiste em uma maneira de traduzir a informação do problema em uma maneira viável
de ser tratada pelo computador.
Cada pedaço indivisível desta representação é chamado de um gene, por analogia aos
genes que compõem um cromossomo biológico.
Cromossomos podem ser:
Strings de bits (0101 ... 1100)
Números reais (43.2 -33.1 ... 0.0 89.2)
Listas de regras (R1 R2 R3 ... R22 R23)
Qualquer estrutura de dados imaginável!

ALGORITMOS GENÉTICOS - APTIDÃO


A função de avaliação é a maneira utilizada pelos algoritmos genéticos para determinar a
qualidade de um indivíduo como solução do problema em questão.
A função de avaliação deve ser escolhida cuidadosamente. Ela deve embutir todo o
conhecimento que se possui sobre o problema a ser resolvido.
Exemplo: Encontrar o máximo da função f(x)=x2 no intervalo [0,31].
A função de avaliação, para este caso, consiste simplesmente em converter o número de
binário (utilizado para representar o cromossomo) para inteiro e depois elevá-lo ao
quadrado.
Indivíduos que tiverem maiores valores na função de avaliação são os mais aptos.

ALGORITMOS GENÉTICOS - SELEÇÃO DOS PAIS


O método de seleção dos pais deve tentar simular o mecanismo de seleção natural que
atua sobre as espécies biológicas.
Os pais mais capazes geram mais filhos, mas os menos aptos também podem gerar
descendentes.
Temos que privilegiar os indivíduos com função de avaliação alta, sem desprezar
completamente aqueles indivíduos com função de avaliação extremamente baixa.
Isto ocorre pois até indivíduos com péssima avaliação podem ter características genéticas
que sejam favoráveis à criação de um super indivíduo”.
Método mais comum de seleção de pais: Roleta.
Cria-se uma roleta (virtual) na qual cada cromossomo recebe um pedaço proporcional à
sua avaliação.
Roda-se a roleta para sortear os indivíduos que serão pais de um novo indivíduo.
ALGORITMOS GENÉTICOS - CRUZAMENTO
Cada indivíduo com n genes possui n-1 pontos de corte.
Em um indivíduo com codificação binária, cada bit é um gene.

Também chamado de reprodução ou crossover


Combina as informações genéticas de dois indivíduos (pais) para gerar novos indivíduos
(filhos)
Versões mais comuns criam sempre dois filhos para cada operação

ALGORITMOS GENÉTICOS - MUTAÇÃO


Depois de compostos os filhos, entra em ação o operador de mutação.
O operador atua com base em uma probabilidade extremamente baixa (da ordem de 5%)
de alteração aleatória do valor de um gene ou mais genes dos filhos.
O valor da probabilidade que decide se o operador de mutação será ou não aplicado é
um dos parâmetros do algoritmo genético que pode alterar o resultado alcançado pelo
algoritmo.
ALGORITMOS GENÉTICOS - PARADA
Existem duas condições de parada normalmente utilizadas:
Quando uma solução particular tiver sido alcançada
Quando o nível mais alto de aptidão na população tiver alcançado um valor específico

EXEMPLO: ENCONTRAR O PONTO MÁXIMO DE F(X) = X²


Objetivo: Utilizar AG para encontrar o ponto máximo da função f(x) = x²
Com f(x) sujeita às seguintes restrições:
0 <= x <= 31
x é inteiro
Representação dos cromossomos (números binários de 5 bits):
0=00000
31 = 1 1 1 1 1
Função aptidão:
Por simplicidade será a própria função objetivo (f(x) = x²)
Exemplo: aptidão(00111) = f(3) = 9
População Inicial: é aleatória mas quando possível, o conhecimento da população inicial
pode ser utilizado para definir a população inicial
Crossover de um ponto: O crossover é aplicado com uma dada taxa de probabilidade,
denominada taxa de crossover (60% a 90%). Se o crossover é aplicado os pais trocam
suas caudas gerando dois filhos, caso contrário, os dois filhos serão cópias exatas dos
pais.

Mutação: inverte os valores dos bits


A mutação é aplicada com uma dada probabilidade denominada taxa de mutação, (~1%)
em cada um dos bits do cromossomo
A taxa de mutação não deve ser nem alta nem baixa, mas o suficiente para assegurar a
diversidade dos cromossomos na população
Antes da mutação: 0 1 1 0 1
Depois da mutação: 0 0 1 0 1
QUESTÕES IMPORTANTES
Representação dos indivíduos
Parâmetros do sistema (tamanho da população,taxa de mutação...)
Políticas de seleção e eliminação de indivíduos
Operadores genéticos (recombinação e mutação)
Critérios de parada
Função de avaliação (a mais importante e mais complicada de ser definida)

VANTAGENS DOS ALGORITMOS GENÉTICOS


Sempre oferece uma resposta que tende a ser melhor com o tempo
Conforme ganhamos conhecimento sobre o problema podemos melhorar a função de
avaliação
Usado em diversos tipos de aplicações

APLICAÇÕES DOS ALGORITMOS GENÉTICOS


Alocação de tarefas
Configuração de sistemas complexos
Seleção de Rotas
Problemas de Otimização e de Aprendizagem de Máquina
Problemas cuja solução seja um estado final e não um caminho
São especialmente interessantes em problemas difíceis de otimizar de forma
convencional
Técnicas tradicionais são mais difíceis de empregar
Se uma técnica tradicional puder ser empregada, normalmente acha a melhor solução
mais rápido
Existem muitos problemas práticos aos quais técnicas determinísticas tradicionais não
podem ser aplicadas
Técnicas tradicionais têm natureza serial
Algoritmos Genéticos têm natureza paralela
Modelos Preditivos
Não existe um único algoritmo melhor em todos os casos
Características do conjunto de dados
Características do problema
Parâmetros dos algoritmos

MÉTRICAS DE ERRO - CLASSIFICAÇÃO


C : classificador
n : total de objetos (
I : função de comparação
- I (verdadeiro ) = 1
- I (falso ) = 0
y i : classe verdadeira
x i : classe predita
i : objeto avaliado
MÉTRICAS DE ERRO - REGRESSÃO
O erro é a distância entre o valor conhecido (yi) e o valor predito (xi)
CLASSIFICAÇÃO - DUAS CLASSES

Classe predita
Matriz de confusão
Positiva Negativa

Positiva VP FN
Classe original
Negativa FP VN

CLASSIFICAÇÃO - ERRO E ACURÁCIA

CLASSIFICAÇÃO - MEDIDAS DE DESEMPENHO


ANÁLISE ROC
Receiving Operating Characteristics
Comparação de desempenho de classificadores
Gráfico bidimensional: X (TFP), Y (TVP)
TESTE DE HIPÓTESES
Comparação de dois ou mais algoritmos
Igualdade de condições
- Mesmas partições dos dados ( validação cruzada
Média da taxa de erro
Nem sempre as diferenças entre os algoritmos são significativas
Teste Wilcoxon signed rank
Comparação de dois algoritmos (teste pareado
Não paramétrico
Calcula a diferença no desempenho dos algoritmos
Ordena em ordem crescente de diferença
Compara as posições das diferenças positivas e negativas

Avaliação de Modelos Descritivos


MODELOS DESCRITIVOS
Não existe resultado correto
Não existe um único algoritmo melhor em todos os casos
Características do conjunto de dados
Características do problema
Parâmetros dos algoritmos

OBJETIVOS DE VALIDAÇÃO
Avaliação e comparação de algoritmos
Validação das estruturas encontradas

CRITÉRIOS DE VALIDAÇÃO
Relativos Internos Externos

- Comparam diversos Dados - Estrutura previamente


agrupamentos com algum originais. Ex: estabelecida. Ex:
aspecto. Ex: estabilidade, matriz de agrupamento sugerido por
número de clusters similaridade um especialista, número de
- Comparar algoritmos clusters
diferentes - Testes de hipóteses
- Comparar parâmetros do
mesmo algoritmo

NOTAÇÃO
CRITÉRIOS RELATIVOS
CRITÉRIOS INTERNOS
CRITÉRIOS EXTERNOS

Você também pode gostar