Anda di halaman 1dari 8

Data Mining - Practical Machine Learning Tools and Techniques

6.7 REDES BAYESIANAS

O classificador Naive Bayes da Seo 4.2 e os modelos de regresso logstica da


Seo 4.6 produzem estimativas de probabilidade em vez de classificaes rgidas. Para
cada valor de classe, eles estimam a probabilidade de que uma determinada instncia
pertence a essa classe. A maioria dos outros tipos de classificadores pode ser coagida a
produzir esse tipo de informao, se necessrio. Por exemplo, as probabilidades podem
ser obtidas a partir de uma rvore de deciso, calculando a frequncia relativa de cada
classe em uma folha e de uma lista de decises, examinando os casos que uma regra
particular cobre.
As estimativas de probabilidade so muitas vezes mais teis do que previses simples.
Permitem que as previses sejam classificadas e o seu custo esperado seja minimizado
(ver Seco 5.7).
Na verdade, h um forte argumento para tratar a aprendizagem de classificao
como a tarefa de aprender estimativas de probabilidade de classe a partir de dados. O
que est sendo estimado a distribuio de probabilidade condicional dos valores do
atributo classe, dados os valores dos outros atributos. Idealmente, o modelo de
classificao representa est distribuio condicional de uma forma concisa e facilmente
compreensvel.
Vistos dessa maneira, os classificadores Naive Bayes, modelos de regresso
logstica, rvores de deciso, e assim por diante, so apenas formas alternativas de
representar uma distribuio condicional de probabilidade. Claro, eles diferem no poder
de representao. Naive Bayes classificadores e modelos de regresso logstica s pode
representar distribuies simples, enquanto as rvores de deciso podem representar ou
pelo menos aproximar-arbitrria distribuies. No entanto, as rvores de deciso tm
suas desvantagens: fragmentam o conjunto de treinamento em pedaos cada vez
menores, o que inevitavelmente produz estimativas de probabilidade menos confiveis e
sofrem com o problema de sub rvore replicado descrito na Seo 3.4. Conjuntos de
regras ir algum caminho para abordar essas deficincias, mas o projeto de uma boa
regra aprendiz guiado por heursticas com escassa justificativa terica.
Isso significa que temos de aceitar nosso destino e viver com essas deficincias? No!
Existe uma alternativa estatisticamente baseada: uma maneira teoricamente bem
fundamentada de representar as distribuies de probabilidade de forma concisa e
compreensvel de forma grfica; as estruturas so chamadas redes bayesianas. Eles so
desenhados como uma rede de ns, um para cada atributo, conectados por bordas
direcionadas de tal forma que no h ciclos - um grfico acclico dirigido.
Em nossa explicao de como interpretar redes bayesianas e como aprend-las a
partir de dados, faremos algumas suposies simplificadoras. Assumimos que todos os
atributos so nominais e que no h valores em falta. Alguns algoritmos avanados de
aprendizado podem criar novos atributos alm dos presentes nos dados - os chamados
atributos ocultos com valores que no podem ser observados. Estes podem suportar
modelos melhores se representarem caractersticas salientes do problema subjacente, e
as redes bayesianas fornecem uma boa maneira de us-las no tempo de previso. No
entanto, eles tornam a aprendizagem e a previso muito mais complexa e demorada, por
isso no vamos consider-los aqui.
Fazendo previses

A Figura 6.19 mostra uma rede bayesiana simples para os dados meteorolgicos. Possui
um n para cada um dos quatro atributos perspectiva, temperatura, umidade e vento e
um para o jogo de atributos de classe. Uma borda leva do n de reproduo para cada
um dos outros ns. No entanto, em redes bayesianas a estrutura do grfico apenas
metade da histria. A Figura 6.19 mostra uma tabela dentro de cada n. As informaes
nas tabelas definem uma distribuio de probabilidade que usada para prever as
probabilidades de classe para qualquer instncia.

FIGURA 6.19
Uma rede bayesiana simples para os dados meteorolgicos.

Antes de analisar como calcular essa distribuio de probabilidade, considere as


informaes nas tabelas. As quatro mesas inferiores (para a perspectiva, a temperatura, a
umidade e o vento) tm duas partes separadas por uma linha vertical. esquerda esto
os valores de jogo, e direita esto as probabilidades correspondentes para cada valor
do atributo representado pelo n. Em geral, o lado esquerdo contm uma coluna para
cada aresta que aponta para o n, neste caso apenas o atributo play. por isso que a
tabela associada ao jogo em si no tem um lado esquerdo: no tem pais. Cada linha de
probabilidades corresponde a uma combinao de valores dos atributos pai e as entradas
na linha mostram a probabilidade de cada valor do atributo do n dada esta combinao.
Com efeito, cada linha define uma distribuio de probabilidade sobre os valores do
atributo do n. As entradas em uma linha sempre somam 1.

A Figura 6.20 mostra uma rede mais complexa para o mesmo problema, onde trs ns
(vento, temperatura e umidade) tm dois pais. Novamente, h uma coluna esquerda
para cada pai e como muitas colunas direita como o atributo tem valores. Considere a
primeira linha da tabela associada com o n de temperatura.
O lado esquerdo d um valor para cada atributo pai, play e outlook; O direito d uma
probabilidade para cada valor de temperatura. Por exemplo, o primeiro nmero (0,143)
a probabilidade de a temperatura assumir o valor quente, dado que o jogo e a
perspectiva tm valores sim e ensolarado, respectivamente.
Como as tabelas so usadas para prever a probabilidade de cada valor de classe para
uma determinada instncia? Isso acaba por ser muito fcil porque estamos assumindo
que no h valores faltantes. A instncia especifica um valor para cada atributo. Para
cada n da rede, procure a probabilidade do valor do atributo do n com base na linha
determinada pelos valores dos seus atributos dos pais. Em seguida, basta multiplicar
todas essas probabilidades juntos.
Por exemplo, considere uma instncia com valores outlook = chuvoso, temperature =
cool, humidity = high e windy = true. Para calcular a probabilidade de jogo = no,
observe que a rede na Figura 6.20 fornece probabilidade de 0.367 a partir do jogo do n,
0.385 do outlook, 0.429 da temperatura, 0.250 da umidade e 0.167 do windy. O produto
0,0025. O mesmo clculo para play = yes rende 0,0077.
No entanto, estas no so claramente as respostas finais: As probabilidades finais devem
somar 1, enquanto que 0,0025 e 0,0077 no. Na verdade, elas so as probabilidades
conjuntas Pr [play = no, E] e Pr [play = yes, E], onde E denota todas as evidncias dadas
pelos valores do atributo da instncia. As probabilidades conjuntas medem a
probabilidade de observar uma instncia que exibe os valores de atributo em E, bem
como o respectivo valor de classe. Eles apenas somam 1 se esgotarem o espao de todas
as possveis combinaes de valor de atributo, incluindo o atributo de classe. Este no
certamente o caso no nosso exemplo.
A soluo bastante simples (j a encontrmos na seco 4.2). Para obter as
probabilidades condicionais Pr [play = no | E] e Pr [play = yes | E], normalizar as
probabilidades conjuntas dividindo-os pela sua soma. Isto d a probabilidade 0.245 para
o jogo = no e 0.755 para o jogo = sim.
Apenas um mistrio permanece: Por que multiplicar todas essas probabilidades juntos?
Acontece que a validade do passo de multiplicao depende de uma nica suposio - a
saber, que, dados valores para cada um dos pais de um n, conhecer os valores de
qualquer outro conjunto de no-descendentes no altera a probabilidade associada a
cada um dos possveis valores do n . Por outras palavras, outros conjuntos de no-
descendentes no fornecem qualquer informao sobre a probabilidade dos valores do
n para alm das informaes fornecidas pelos pais. Isso pode ser escrito como
Google Tradutor para empresas: Google Toolkit de traduo para apps Tradutor de sites
Global Market Finder

Pr [node | Pais mais qualquer outro no-descendente] = Pr [node | Pais]

que deve manter para todos os valores dos ns e atributos envolvidos. Na estatstica esta
propriedade chamada de independncia condicional. A multiplicao vlida desde
que cada n seja condicionalmente independente de seus avs, bisavs e
FIGURA 6.20
Outra rede bayesiana para os dados meteorolgicos.

De fato, qualquer outro conjunto de no-descendentes, dados seus pais. O passo de


multiplicao segue como um resultado direto da regra de cadeia na teoria de
probabilidade, que afirma que a probabilidade conjunta de atributos m ai pode ser
decomposta neste produto:

A decomposio vlida para qualquer ordem dos atributos. Como a nossa rede
bayesiana um grfico acclico, seus ns podem ser ordenados para dar a todos os
antepassados de um n ai ndices menores que i. Ento, por causa da suposio de
independncia condicional,

Que exatamente a regra de multiplicao que aplicamos anteriormente.


As duas redes Bayesianas nas Figuras 6.19 e 6.20 so fundamentalmente diferentes. O
primeiro (Figura 6.19) faz suposies de independncia mais fortes porque para cada
um de seus ns o conjunto de pais um subconjunto do correspondente conjunto de pais
no segundo (Figura 6.20). De fato, a Figura 6.19 quase idntica ao simples
classificador Nave Bayes da Seo 4.2. (As probabilidades so ligeiramente diferentes,
mas apenas porque cada contagem foi inicializada para 0,5 para evitar o problema de
frequncia zero).
A rede na Figura 6.20 tem mais linhas nas tabelas de probabilidade condicional e,
portanto, mais parmetros; pode ser uma representao mais precisa do subjacente
domnio.
tentador supor que os bordos direcionados em uma rede bayesiana representam efeitos
causais. Mas tenha cuidado! No nosso caso, um determinado valor do jogo pode
aumentar as perspectivas de um determinado valor de perspectiva, mas certamente no
o causa - mais provvel que seja o contrrio. Diferentes redes bayesianas podem ser
construdas para o mesmo problema, representando exatamente a mesma distribuio de
probabilidade.
Isso feito alterando a maneira pela qual a distribuio de probabilidade conjunta
fatorada para explorar as independncias condicionais. A rede que tem direcionado os
efeitos causais do modelo de bordas muitas vezes a mais simples com o menor
nmero de parmetros.
Assim, os peritos humanos que constroem redes bayesianas para um domnio particular
muitas vezes se beneficiam representando os efeitos causais por bordas direcionadas.
No entanto, quando as tcnicas de aprendizagem mecnica so aplicadas para induzir
modelos a partir de dados cuja estrutura causal desconhecida, tudo o que podem fazer
construir uma rede baseada nas correlaes observadas nos dados. Inferir causalidade
de correlao sempre um negcio perigoso.

Aprendendo Redes Bayesianas

A principal forma de construir um algoritmo de aprendizagem para redes bayesianas


definir dois componentes: uma funo para avaliar uma determinada rede com base nos
dados e um mtodo para procurar atravs do espao de redes possveis. A qualidade de
uma dada rede medida pela probabilidade dos dados, dado rede. Calculamos a
probabilidade de que a rede conceda a cada instncia e multipliquemos essas
probabilidades juntas em todas as instncias. Na prtica, isso rapidamente produz
nmeros muito pequenos para serem representados corretamente (chamados underflow
aritmtico), ento usamos a soma dos logaritmos das probabilidades em vez de seu
produto. A quantidade resultante a log-verossimilhana da rede dada os dados.
Suponha que a estrutura da rede - o conjunto de arestas - dada. fcil estimar os
nmeros nas tabelas de probabilidade condicional: Basta calcular as frequncias
relativas das combinaes associadas de valores de atributos nos dados de treinamento.
Para evitar o problema de frequncia zero, cada contagem inicializada com uma
constante como descrito na Seo 4.2. Por exemplo, para encontrar a probabilidade de
que a umidade = normal dado que play = yes e temperature = cool (o ltimo nmero da
terceira linha da tabela do n de umidade na Figura 6.20), observe a Tabela 1.2 (pgina
10) que h trs Instncias com esta combinao de valores de atributos nos dados
meteorolgicos e nenhuma ocorrncia com humidade = alta e os mesmos valores para o
jogo e a temperatura. Inicializando as contagens para os dois valores de umidade para
0,5, a probabilidade (3 + 0,5) / (3 + 0 + 1) = 0,875 para umidade = normal a seguinte.
Os ns na rede so predeterminados, um para cada atributo (incluindo a classe).
Aprender a estrutura da rede equivale pesquisa atravs do espao de possveis
conjuntos de arestas, estimar as tabelas de probabilidade condicional para cada conjunto
e calcular a probabilidade de log da rede resultante com base nos dados como uma
medida da qualidade da rede. Os algoritmos de aprendizagem da rede bayesiana diferem
principalmente na forma como pesquisam atravs do espao de estruturas de rede.
Alguns algoritmos so introduzidos abaixo.
H uma ressalva. Se a log-verossimilhana maximizada com base nos dados de
treinamento, sempre ser melhor adicionar mais arestas: A rede resultante ser
simplesmente overfit. Vrios mtodos podem ser empregados para combater este
problema. Uma possibilidade usar a validao cruzada para estimar a bondade do
ajuste. Um segundo adicionar uma penalidade para a complexidade da rede com base
no nmero de parmetros - ou seja, o nmero total de estimativas independentes em
todas as tabelas de probabilidade. Para cada tabela, o nmero de probabilidades
independentes o nmero total de entradas menos o nmero de entradas na ltima
coluna, que pode ser determinada a partir das outras colunas porque todas as linhas
devem somar a 1. Seja K o nmero de parmetros, LL A log-verossimilhana, e N o
nmero de instncias nos dados. Duas medidas populares para avaliar a qualidade de
uma rede so o Critrio de Informao Akaike (AIC):

Pontuao AIC = -LL + K


E a seguinte mtrica MDL baseada no princpio MDL:

Em ambos os casos a log-verossimilhana negada, portanto, o objetivo minimizar


esses escores.

Uma terceira possibilidade atribuir uma distribuio prvia sobre estruturas de rede e
encontrar a rede mais provvel combinando sua probabilidade prvia com a
probabilidade concedida rede pelos dados. Esta a abordagem "Bayesiana" para a
pontuao da rede. Dependendo da distribuio anterior utilizada, ela pode assumir
vrias formas. No entanto, os verdadeiros Bayesianos teriam uma mdia de todas as
estruturas de rede possveis, em vez de distinguirem uma rede particular de previso.
Infelizmente, isso geralmente requer uma grande quantidade de computao. Uma
abordagem simplificada a mdia de todas as estruturas de rede que so subestruturas
de uma determinada rede. Acontece que isto pode ser implementado muito
eficientemente alterando o mtodo para calcular as tabelas de probabilidades
condicionais de modo que as estimativas de probabilidade resultantes contenham
implicitamente informaes de todas as sub-redes. Os detalhes dessa abordagem so
bastante complexos e no sero descritos aqui.
A tarefa de procurar uma boa estrutura de rede pode ser grandemente simplificada se a
mtrica correta for usada para pontuao. Lembre-se que a probabilidade de uma nica
instncia baseada em uma rede o produto de todas as probabilidades individuais das
vrias tabelas de probabilidade condicional. A probabilidade geral do conjunto de dados
o produto desses produtos para todas as instncias. Como os termos de um produto
so intercambiveis, o produto pode ser reescrito para agrupar todos os fatores
relacionados mesma tabela.
O mesmo vale para o log-verossimilhana, usando somas em vez de produtos. Isso
significa que a probabilidade pode ser otimizada separadamente para cada n da rede.
Isso pode ser feito adicionando ou removendo bordas de outros ns para o n que est
sendo otimizado - a nica restrio que os ciclos no devem ser introduzidos. O
mesmo truque tambm funciona se uma mtrica de pontuao local, como AIC ou
MDL, for usada em vez de log-likelihood simples, porque o termo de penalidade se
divide em vrios componentes, um para cada n e cada n pode ser otimizado
independentemente.
Algoritmos Especficos
Agora passamos a algoritmos reais para o aprendizado de redes bayesianas. Um
algoritmo de aprendizado simples e muito rpido, chamado K2, comea com um
determinado ordenamento dos atributos (isto , ns). Em seguida, ele processa cada n
por sua vez e avidamente considera adicionar bordas de ns previamente processados ao
atual. Em cada etapa adiciona a borda que maximiza a pontuao da rede. Quando no
h mais melhoria, a ateno se volta para o prximo n. Como um mecanismo adicional
para evitar overfitting, o nmero de pais para cada n pode ser restrito a um mximo
predefinido.
Como somente bordas de ns processados previamente so consideradas e h uma
ordem fixa, este procedimento no pode introduzir ciclos. No entanto, o resultado
depende da ordenao inicial, ento faz sentido executar o algoritmo vrias vezes com
diferentes ordenaes aleatrias.
O Naive Bayes classificador uma rede com uma borda que leva do atributo de classe
para cada um dos outros atributos. Ao construir redes para classificao, s vezes ajuda
a usar esta rede como um ponto de partida para a pesquisa. Isso pode ser feito em K2
forando a varivel de classe a ser a primeira na ordenao e inicializando o conjunto de
arestas adequadamente.
Outro truque potencialmente til garantir que cada atributo nos dados est no cobertor
de Markov do n que representa o atributo de classe. O cobertor Markov de um n
inclui todos os pais, filhos e pais das crianas. Pode-se mostrar que um n
condicionalmente independente de todos os outros ns dados valores para os ns em sua
manta de Markov. Assim, se um n estiver ausente da manta de Markov do atributo de
classe, seu valor completamente irrelevante para a classificao. Inversamente, se o
K2 encontrar uma rede que no inclua um atributo relevante no cobertor de Markov do
n de classe, pode ajudar a adicionar uma borda que corrija essa falha. Uma maneira
simples de fazer isso adicionar uma borda do n do atributo para o n da classe ou do
n da classe para o n do atributo, dependendo de qual opo evita um ciclo.
Uma verso mais sofisticada, mas mais lenta do K2 no para ordenar os ns, mas para
greedily considerar adicionar ou excluir bordas entre pares arbitrrios de ns (todos ao
mesmo tempo garantindo acyclicity, claro). Um passo adicional considerar inverter a
direo de bordas existentes tambm. Como com qualquer algoritmo ganancioso, a rede
resultante representa apenas um mximo local da funo de pontuao: sempre
aconselhvel executar tais algoritmos vrias vezes com diferentes configuraes iniciais
aleatrias. Podem tambm ser utilizadas estratgias de optimizao mais sofisticadas,
tais como recozimento simulado, pesquisa de tabu ou algoritmos genticos.
Outro bom algoritmo de aprendizagem para classificadores bayesianos da rede
chamado rvore aumentada Naive Bayes (TAN). Como o nome indica, ele toma o
classificador Naive Bayes e acrescenta bordas a ele. O atributo de classe o nico pai
de cada n de uma rede Naive Bayes. O TAN considera adicionar um segundo pai a
cada n. Se o n de classe e todas as arestas correspondentes forem excludos da
considerao e assumindo que exista exatamente um n para o qual um segundo pai no
seja adicionado, o classificador resultante tem uma estrutura de rvore enraizada no n
sem pai - isto de onde o nome vem. Para este tipo restrito de rede existe um algoritmo
eficiente para encontrar o conjunto de arestas que maximiza a probabilidade da rede
com base na computao da rvore de cobertura mxima ponderada da rede. Este
algoritmo linear no nmero de instncias e quadrtico no nmero de atributos.
O tipo de rede aprendido pelo algoritmo TAN chamado de um estimador de
dependncia. Um tipo de rede ainda mais simples o superparente one-dependence
estimator. Aqui, exatamente um outro n, alm do n de classe, elevado ao status de
pai e torna-se pai de todos os outros ns no-classes. Acontece que um conjunto simples
desses estimadores de uma dependncia produz classificadores muito precisos: Em cada
um desses estimadores, um atributo diferente se torna o n pai extra. Ento, no tempo de
predio, as estimativas de probabilidade de classe dos diferentes estimadores de
dependncia nica so simplesmente mdias. Este esquema conhecido como AODE,
para a mdia de um estimador de dependncia. Normalmente, apenas os estimadores
com certos suportes nos dados so usados no conjunto, mas esquemas de seleo mais
sofisticados so possveis. Como nenhuma estrutura de aprendizagem est envolvida
para cada superparente one-dependncia estimador, AODE um classificador muito
eficiente.
Todas as mtricas de pontuao que descrevemos at agora so baseadas na
verossimilhana no sentido de que so projetadas para maximizar a probabilidade
conjunta Pr [a1, a2, ..., an] para cada instncia. No entanto, na classificao, o que
realmente queremos maximizar o probabilidade condicional da classe dada os valores
dos outros atributos - em outras palavras, a probabilidade condicional. Infelizmente, no
existe uma soluo de forma fechada para as estimativas de probabilidade mxima de
probabilidade condicional que so necessrias para as tabelas em uma rede Bayesiana.
Por outro lado, calcular a probabilidade condicional para uma determinada rede e
conjunto de dados simples - afinal, isso o que a regresso logstica faz. Assim,
props-se o uso da mxima verossimilhana padro
Probabilidade na rede, mas usar a probabilidade condicional para avaliar uma estrutura
de rede particular.
Outra maneira de usar redes bayesianas para classificao construir uma rede separada
para cada valor de classe, com base nos dados pertencentes a essa classe, e combinar
suas previses usando a regra de Bayes. O conjunto de redes chamado multinet
bayesiano.
Para obter uma previso para um valor de classe particular, pegue a probabilidade da
rede correspondente e multiplique-a pela probabilidade prvia da classe. Faa isso para
cada classe e normalize o resultado como fizemos anteriormente. Neste caso, no
usaramos a probabilidade condicional para aprender a rede para cada valor de classe.
Todos os algoritmos de aprendizagem de rede que introduzimos so baseados em
pontuao. Uma estratgia diferente, que no vamos explicar aqui, dividir uma rede
juntos testando afirmaes de independncia condicional individuais baseadas em
subconjuntos dos atributos. Isto conhecido como aprendizagem de estrutura por testes
de independncia condicional.

Anda mungkin juga menyukai