Sei sulla pagina 1di 5

Universidade Federal do Ceará

Departamento de Estatı́stica e Matemática Aplicada


Introdução à Mineração de Dados (CC0101), perı́odo 2019.2
Professor: Tibérius O. Bonates (tb@ufc.br).
Escriba1 : Kennedy Anderson G. de Araújo (kennedyanderson94@gmail.com).

Roteiro de Aula sobre Aprendizado de Monômios e de Disjunções de Grau


Limitado
Por gentileza, não distribua este material. Ele é para uso exclusivo na disciplina identificada
neste documento.

Este material é baseado no livro [1].

1 Introdução
Dando continuidade ao aprendizado de conceitos definidos sobre dados booleanos (i.e., que
consistem apenas de valores 0 ou 1) particionados em duas classes, veremos duas estratégias
de aprendizado eficientes para certos tipos de conceitos.

Uma função booleana φ é uma função que mapeia {0, 1}n para {0, 1}. A notação padrão
para representação de funções booleanas através de fórmulas envolve a noção de literal. Para
cada i ∈ {1, . . . , n}, existem dois literais:

• o literal positivo yj , cujo valor no ponto (x1 , . . . , xn ) ∈ {0, 1}n é 1 se e somente se


xj = 1;

• o literal negativo yj , cujo valor no ponto (x1 , . . . , xn ) ∈ {0, 1}n é 1 se e somente se


xj = 0.

Definimos como monômio uma das mais simples funções booleanas, formada apenas do
produto (ou da chamada “conjunção”) de certo conjunto de literais. Representaremos um
monômio da seguinte forma:
Y Y
µ= yj yj ,
j∈A j∈B

onde A, B ⊆ {1, . . . , n}. Note que, se A ∩ B 6= ∅, então a função µ é identicamente igual a


zero. Portanto, via de regra, teremos A ∩ B = ∅. Entendemos como o grau do monômio µ
o número de literais presentes em µ.

Exemplo 1. Considere uma situação em que objetos são descritos por intermédio de n = 3
caraterı́sticas binárias, Considere também o monômio µ = y2 y3 . Suponha que nossa amostra
{(x1 , b1 ), . . . , (xm , bm )} consiste de m = 4 objetos e que a classe de cada objeto é dada por µ.
Uma possı́vel amostra seria dada por {((1, 0, 1), 1), ((0, 0, 1), 1), ((1, 1, 1), 0), ((0, 0, 1), 1)}.

Por fim, note que nesta representação de uma função booleana na forma de produto de
literais, podemos considerar yj = 1 − yj .
1
Responsável pela preparação das notas de aula.

1
2 Algoritmo de Aprendizado de Monômios
Voltamos agora ao nosso cenário de aprendizado discutido anteriormente, em que temos
uma amostra, obtida a partir de um espaço de exemplos, e na qual cada exemplo possui
uma informação de classe. A classe de cada exemplo é obtida a partir do conceito, que é
o fenômeno que classifica cada ponto do espaço de exemplos como pertencente à classe 0
ou à classe 1. Nossa tarefa consiste em encontrar uma hipótese que “explique” os dados da
amostra.

Se assumirmos que o espaço de conceitos é formado por todos os monômios


em n caracterı́sticas binárias, então podemos propor um algoritmo simples para encon-
trar um monômio consistente com a amostra, isto é, um monômio µ que satisfaça µ(xi ) = bi ,
para i = 1, . . . , m. O Algoritmo 1 possui tal propriedade.

Algorithm 1: Algoritmo Padrão de Aprendizado de Monômios


Entrada: Amostra S = {(x1 , b1 ), (x2 , b2 ), . . . , (xm , bm )}
Saı́da : Hipótese hU (monômio formado pelo conjunto de literais em U )
1 begin
2 Seja U = {y1 , y1 , y2 , y2 , . . . , yn , yn }
3 for i = 1, . . . , m do
4 if bi = 1 then
5 for j = 1, . . . , n do
6 if xij = 1 then
7 Remova yj de U (se estiver presente)
8 else
9 Remova yj de U (se estiver presente)

10 return hU

O algoritmo sistematicamente remove literais de U que estejam em conflito, isto é, se-
jam incompatı́veis, com os exemplos positivos da amostra. Lembramos que consideramos
positivos aqueles exemplos cuja classe é 1.

Alguns fatos sobre o Algoritmo 1:

• O algoritmo é online, já que só consulta cada exemplo de S uma única vez;

• Apenas os exemplos positivos da amostra são efetivamente avaliados pelo algoritmo;

• Seja j o ı́ndice do primeiro exemplo positivo da amostra, isto é, bj = 1 e bk = 0, para


1 ≤ k < j. Ao final da j-ésima iteração do algoritmo, o conjunto U tem seu tamanho
igual a n: exatamente n literais incompatı́veis com xj são removidos do conjunto U ,
que contem inicialmente 2n literais;

2
• O monômio hU resultante não possui nenhum literal que assume valor 0 em algum
exemplo positivo (todos os literais deste tipo são removidos em alguma iteração do
algoritmo; veja o Lema 1 a seguir). Dentre todos os monômios com essa propriedade,
hU possui grau máximo.

No restante desta seção, chamaremos de t o monômio que representa o conceito-alvo,


isto é, o conceito real que determina a classe de cada exemplo da amostra. Não conhecemos
o monômio t explicitamente, mas podemos fazer afirmações sobre o monômio hU retornado
pelo Algoritmo 1 em relação a t.

Lema 1. O conjunto de literais presentes na hipótese hU retornada pelo Algoritmo 1 é um


superconjunto dos literais presentes no conceito-alvo t.

Demonstração. O conjunto U é inicializado com todos os literais possı́veis. Logo, a afirmação


é verdadeira no inı́cio do algoritmo. Perceba que, cada vez que um exemplo positivo é avali-
ado pelo algoritmo, U pode sofrer a remoção de um ou mais literais. Esta é a única situação
em que U é alterado ao longo do algoritmo. Por definição, nenhum literal de t está em con-
flito com algum exemplo positivo da amostra: caso contrário, o exemplo não seria positivo.
Como a remoção de literais no algoritmo acontece apenas quando há conflito entre o literal
e o valor de um exemplo positivo x (xij = 1 causa a remoção de yj e xij = 0 causa a remoção
de yj ), nenhum literal de t e removido do conjunto U .

Teorema 1. O Algoritmo 1 é consistente.

Demonstração. Seja x um exemplo negativo arbitrário da amostra. Por definição, t(x) = 0.


Logo, x e t conflitam em um ou mais literais. Com base no Lema 1, sabemos que literais em
t não são removidos pelo algoritmo. Consequentemente, todos os exemplos x ∈ {0, 1}n que
satisfazem t(x) = 0 também satisfazem hU (x) = 0 ao final do algoritmo. Em particular,
todos os exemplos negativos da amostra satisfazem hU (x) = 0.

Por outro lado, depois que cada exemplo positivo x em S é avaliado pelo algoritmo,
qualquer possı́vel conflito entre x e hU é removido, assegurando que hU (x) = 1 ao final
daquela iteração. Além disso, se hU (x) = 1 e V ⊆ U então hV (x) = 1, o que nos garante
que hU (x) = 1 continuará a valer face a remoções que ocorram em iterações subsequen-
tes. Portanto, a hipótese final hU satisfaz hU (x) = 1 para todos os exemplos positivos da
amostra, o que conclui a prova.

O seguinte exemplo ilustra o funcionamento do algoritmo aplicado a uma amostra con-


creta.

Exemplo 2. Seja a amostra dada por S = {((0, 1, 0), 0), ((1, 0, 0), 1), ((1, 0, 1), 1)}.

A sequência de conjuntos de literais U gerada pelo algoritmo é

3
Inicialmente :
U = {y1 , y1 , y2 , y2 , y3 , y3 }
Após iteração i = 1 :
U = {y1 , y1 , y2 , y2 , y3 , y3 }
(Não há mudança porque bi = 0)
Após iteração i = 2 :
U = {y1 , y2 , y3 }
Após iteração i = 3 :
U = {y1 , y2 }

Hipótese final: hU = y1 y2 .

É importante destacar novamente que o funcionamento do Algoritmo 1 baseia-se na


premissa de que o conceito-alvo é um monômio, e de que o espaço de hipóteses é igual ao
espaço de conceitos. Este é um espaço de conceitos não muito grande, uma vez que o número
de monômios em {0, 1}n é 3n : para cada caracterı́stica j, podemos ter no monômio o literal
yj , a sua negação yj , ou ambos podem estar ausentes. Já o número total de conceitos em
n
{0, 1}n , como vimos anteriormente, é 2(2 ) .

3 Algoritmo de Aprendizagem para Disjunções de Monômios


Curtos
Um espaço de conceitos mais amplo do que o estudado anteriormente é o que consiste de
disjunções de monômios. De forma geral, a disjunção de duas funções booleanas φ e ψ,
representada por (φ ∨ ψ)(x), ou φ(x) ∨ ψ(x), tem valor 1 se ψ(x) = 1, ou φ(x) = 1, ou
φ(x) = ψ(x) = 1. A disjunção de um número arbitrário de monômios é feita de maneira
natural, aplicando-se essa definição recursivamente.

Dizemos que uma fórmula está na chamada “forma normal disjuntiva” se ela é uma
disjunção de monômios. Toda função booleana admite uma representação na forma normal
disjuntiva. Para ver isso, basta tomar os monômios correspondentes aos pontos em que a
função assume valor 1 e tomar a disjunção destes monômios: a fórmula resultante representa
perfeitamente a função.

Nesta seção, iremos assumir que o espaço de conceitos consiste de todas as


fórmulas na forma normal disjuntiva cujos monômios possuem grau máximo k.
Assim como na seção anterior, iremos trabalhar com um espaço de hipóteses igual do espaço
de conceitos.

4
O Algoritmo 2 constrói uma hipótese na forma normal disjuntiva, envolvendo monômios
de grau máximo k, onde k é um inteiro positivo dado.

Algorithm 2: Aprendizado de Disjunções de Monômios Curtos


Entrada: Amostra S = {(x1 , b1 ), (x2 , b2 ), . . . , (xm , bm )}, inteiro k ≥ 1
Saı́da : Hipótese h
1 Seja h a hipótese na forma normal disjuntiva com todos os monômios que contêm até
k literais
2 begin
3 for i = 1, . . . , m do
4 if bi = 0 e h(xi ) = 1 then
5 Remover de h os monômios µ em que µ(xi ) = 1

6 return h

O Algoritmo 2 também é online, já que cada exemplo de S é consultado uma só vez.
Neste caso, no entanto, são os exemplos negativos que são efetivamente avaliados pelo
algoritmo. De inı́cio, a hipótese h é identicamente igual a 1. Quando o algoritmo avalia
um exemplo negativo x de S, os monômios existentes em h que assumem valor 1 em x são
removidos de h, simplificando a hipótese e evitando que exemplos negativos do conceito-alvo
sejam avaliados (classificados) como positivos pela hipótese.

Teorema 2. O Algoritmo 2 é consistente.

É possı́vel demonstrar esse resultado de maneira semelhante àquela da demonstração do


Teorema 1 e esta prova é sugerida como exercı́cio. A remoção de monômios sem conflito
com exemplos negativos assegura que a hipótese final classifica corretamente os exemplos
negativos da amostra. Além disso, todo exemplo positivo satisfaz um ou mais monômios
do conceito-alvo, os quais não são removidos pelo algoritmo.

Referências
[1] M.H.G. Anthony and N. Biggs. Computational Learning Theory. Cambridge Tracts in
Theoretical Computer Science. Cambridge University Press, 1997.