VI. KÂGİR KUBBELİ CAMİLER
VI.III. Dibekbaşı, Piyaleoğlu Cam
Como j´a mencionado, aprendizado indutivo ´e o processo de inferˆencia indutiva realizada sobre fatos, situa¸c˜oes ou casos observados, os quais s˜ao fornecidos ao aprendiz por um professor ou or´aculo. Um tipo especial de aprendizado indutivo ´e o aprendizado indutivo por exemplos, cuja tarefa ´e induzir descri¸c˜oes gerais de conceitos utilizando exemplos
Seção 2.4: Aprendizado Indutivo por Exemplos 15
espec´ıficos desses conceitos (Michalski, Carbonell & Mitchell, 1983).
Para introduzir o aprendizado indutivo por exemplos de forma informal, imagine uma tarefa de aprendizado na qual se deseja aprender a diferenciar seres humanos de outros animais, com base em apenas duas caracter´ısticas: altura e peso. Pode-se ent˜ao medir a altura e o peso de diversos animais e rotular cada um desses casos como humanos e n˜ao humanos. Por simplicidade, ´e utilizado o s´ımbolo + para identificar os seres humanos e, diz-se que esses s˜ao exemplos positivos de seres humanos; e o s´ımbolo - para identificar os exemplos de outros animais, esses exemplos s˜ao utilizados como exemplos negativos ou contra-exemplos de seres humanos.
+ + ++ ++ + + + + + + + + - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (a) (b)
Figura 2.1: Representa¸c˜ao gr´afica de um conjunto de exemplos (a) e uma poss´ıvel hip´otese para o conceito representado por esses exemplos (b).
Na Figura 2.1-a ´e ilustrada essa situa¸c˜ao na qual os exemplos positivos e negativos est˜ao dispostos conforme os seus respectivos valores de altura e peso. Torna-se necess´ario responder a seguinte pergunta
´
E poss´ıvel aprender um conceito que diferencie os seres humanos dos demais animais com base apenas nas caracter´ısticas e nos exemplos fornecidos?
Uma poss´ıvel hip´otese para o conceito representado pelos exemplos est´a ilustrada na Figura2.1-b. O retˆangulo restringe os valores das caracter´ısticas de forma que somente algumas combina¸c˜oes de altura e peso levem a concluir que se trata de um ser humano. Os exemplos internos ao retˆangulo s˜ao todos positivos e os externos negativos, dessa forma diz-se que essa hip´otese ´e consistente com os exemplos dados, pois os separa perfeitamente sem cometer enganos.
Pode-se formalizar o problema de aprendizado de conceitos utilizando exemplos da seguinte forma (Bratko, 1990):
Defini¸c˜ao 2.1 Seja U o conjunto universal dos objetos, isto ´e, todos os objetos que o aprendiz pode encontrar. N˜ao existe limite, a princ´ıpio, para a cardinalidade de U. Um conceito C pode ser formalizado como sendo um subconjunto de objetos em U, assim
C ⊂ U
Aprender um conceito C significa aprender a reconhecer objetos em C. Ou seja, uma vez que o conceito C ´e aprendido, para qualquer objeto x ∈ U, o sistema ´e capaz de reconhecer se x ∈ C.
´
E importante notar que, pela Defini¸c˜ao 2.1, o conceito aprendido deve ser ´util n˜ao apenas para reconhecer corretamente os exemplos utilizados para aprender o conceito C, mas tamb´em para reconhecer corretamente se qualquer outro exemplo pertence ou n˜ao ao conceito aprendido.
A inferˆencia indutiva e a estrutura b´asica para guiar a busca em aprendizado indu- tivo s˜ao descritas em Shaw & Gentry (1990) da seguinte forma
. . . inferˆencia indutiva ´e um processo de solu¸c˜ao de problemas que obt´em so- lu¸c˜oes — descri¸c˜oes do conceito induzido — por meio de busca e de uma seq¨uˆencia de transforma¸c˜oes. Generaliza¸c˜ao e especializa¸c˜ao s˜ao passos es- senciais quando se faz inferˆencia indutiva. Se a descri¸c˜ao do conceito Q ´e mais geral que a descri¸c˜ao do conceito P, a transforma¸c˜ao de P para Q ´e chamada generaliza¸c˜ao, e a transforma¸c˜ao de Q para P ´e chamada especi- aliza¸c˜ao. P ´e dito ser mais geral que Q se (e somente se) P cobre2 mais
exemplos que Q. Inferˆencia indutiva pode ser vista como um processo que faz itera¸c˜oes sucessivas de generaliza¸c˜ao e especializa¸c˜ao nas descri¸c˜oes do conceito, e ´e consistente com todos os exemplos. Ent˜ao rela¸c˜oes generaliza- ¸c˜ao/especializa¸c˜ao entre descri¸c˜oes de um conceito fornecem a estrutura b´asica para guiar a busca em aprendizado indutivo.
+ + + + ++ + + + + + + + + -- - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + ++ ++ + + + + + + + + + -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (a) (c) + + + + + + + - - - - - - - - - - - - - - - - - - - (e) (b) (d) + + - - +
Figura 2.2: Atualiza¸c˜ao de uma hip´otese. Hip´otese consistente (a). Falso negativo (b). Hip´otese generalizada (c). Falso positivo (d). Hip´otese especializada (e).
2
Um conceito ou uma hip´otese cobre um exemplo quando reconhece o exemplo como pertencente ao conceito.
Seção 2.4: Aprendizado Indutivo por Exemplos 17
As rela¸c˜oes de generaliza¸c˜ao e especializa¸c˜ao podem ser melhor entendidas por meio de um exemplo (Russel & Norvig, 2003). Imagine se a hip´otese apresentada na Fi- gura 2.1 na p´agina 15 precisasse ser atualizada para se tornar consistente com novos exemplos. A Figura 2.2 na p´agina anterior ilustra esse processo de atualiza¸c˜ao de uma hip´otese. A Figura2.2-a apresenta uma hip´otese consistente com todos os exemplos. Essa hip´otese ´e capaz de separar corretamente todos os exemplos rotulados como + dos exem- plos rotulados como -. Na Figura 2.2-b um exemplo falso negativo ´e adicionado. Esse exemplo ´e chamado de falso negativo, pois a hip´otese classifica esse exemplo como nega- tivo, mas na realidade ele ´e positivo. Nessa situa¸c˜ao, pode-se considerar que a hip´otese ´e muito especializada, assim, ´e necess´ario generaliz´a-la para incluir esse novo exemplo. A Figura 2.2-c ilustra uma poss´ıvel generaliza¸c˜ao para a hip´otese. Na Figura2.2-d ´e adicio- nado mais um exemplo, esse novo exemplo ´e classificado como positivo pela hip´otese, mas na realidade ele ´e negativo, portanto ele ´e chamado de falso positivo. A presen¸ca desse exemplo indica que a hip´otese ´e muito gen´erica e precisa ser especializada. A Figura2.2-e ilustra uma poss´ıvel especializa¸c˜ao para a hip´otese.
Por meio de generaliza¸c˜oes e especializa¸c˜oes ´e poss´ıvel criar um algoritmo que induz uma hip´otese de um conceito consistente com todos os exemplos. Esse algoritmo inicia induzindo uma hip´otese consistente para um ´unico exemplo positivo e adiciona novos exemplos, procurando manter a consistˆencia da hip´otese com os novos exemplos. Esse algoritmo foi primeiramente definido porMill(1943) e ´e apresentado no Algoritmo2.1 na p´agina seguinte.
Diversos sistemas de AM utilizam opera¸c˜oes de generaliza¸c˜ao e especializa¸c˜ao para criar hip´oteses a partir de exemplos. Em especial, os algoritmos capazes de representar a hip´otese do conceito a ser aprendido utilizando como linguagem de representa¸c˜ao regras de decis˜ao (F¨urnkranz, 1999; Monard & Baranauskas, 2003b). Regras podem ser espe- cializadas/generalizadas por meio da inclus˜ao/remo¸c˜ao de condi¸c˜oes no antecedente da regra.
Na pr´atica, os desafios de aprender um conceito por meio da indu¸c˜ao a partir de exemplos s˜ao muito maiores. Relembrando a Defini¸c˜ao 2.1 na p´agina anterior, uma hip´o- tese somente pode ser ´util se puder ser utilizada para reconhecer corretamente exemplos al´em dos utilizados na indu¸c˜ao da hip´otese. Portanto, deve-se ter cuidado ao induzir uma hip´otese para que ela n˜ao seja excessivamente especializada aos exemplos utilizados para cri´a-la, um problema chamado de overfitting ou overspecialization3.
3
Algoritmo 2.1 Algoritmo que procura por uma hip´otese consistente com os exemplos por meio de opera¸c˜oes de generaliza¸c˜ao e especializa¸c˜ao.
Require: E = {E1, E2, . . . EN}, um conjunto de exemplos e contra-exemplos do conceito
a ser aprendido
Ensure: h = uma hip´otese do conceito consistente com todos os exemplos em E h ← uma hip´otese consistente com um exemplo positivo qualquer Ei ∈ E
V ← ∅
for all Ei ∈ E do
V ← V S{Ei}
if Ei ´e um falso positivo para h then
h ← escolha uma especializa¸c˜ao de h consistente com V else if Ei ´e um falso negativo para h then
h ← escolha uma generaliza¸c˜ao de h consistente com V end if
if nenhuma especializa¸c˜ao/generaliza¸c˜ao consistente pode ser encontrada then fail
end if end for return h
Diretamente relacionado ao problema de overfitting est´a o problema de aprender um conceito mesmo quando os dados possuem ru´ıdo, ou seja, mesmo quando alguns dados s˜ao incorretos. Na presen¸ca de ru´ıdo, aprender uma hip´otese consistente com todos os exemplos pode fazer com que a hip´otese se especialize em alguns dados incorretos, e seja de pouco proveito para outros exemplos que n˜ao foram utilizados na indu¸c˜ao. Nessas situa¸c˜oes ´e prefer´ıvel induzir uma hip´otese mais simples e n˜ao consistente com todos os dados, mas que seja mais ´util para exemplos ainda n˜ao vistos.