250 likes | 397 Views
Classifica çã o Redes Neurais. AULA 11 DATA MINING Sandra de Amo. Redes Neurais. I 1. Conjunto de unidades. I 2. 2. input. output. w 3 2. I 3. 3. Conceito de Neurônio Artificial. Camada de Input. Camada Intermediária. Camada de Output.
E N D
ClassificaçãoRedes Neurais AULA 11 DATA MINING Sandra de Amo Mestrado em Ciencia da Computacao
Redes Neurais I1 Conjunto de unidades I2 2 input output w32 I3 3 Conceito de Neurônio Artificial Camada de Input Camada Intermediária Camada de Output Cada vértice de uma camada é ligado a todos os vértices da camada seguinte. Mestrado em Ciencia da Computacao
Como definir a topologia da rede ? • Topologia: número de camadas intermediárias, número de neurônios nas camadas intermediárias e inicialização dos pesos e tendências. • Topologia ideal : Processo de tentativa e erro • Número de camadas intermediárias pode ser maior do que 1 • Mais comum: uma única camada intermediária • Se a rede treinada é julgada não confiável, repete-se o processo de treinamento com outra topologia e outros pesos e tendências iniciais • Diversas técnicas automáticas foram propostas para se encontrar a topologia ideal da rede (produzindo os resultados com maior acuracia). Mestrado em Ciencia da Computacao
Camadas de Input e de Output • Input • Se atributos não são categorizados • Um neurônio para cada atributo • Valores dos atributos são normalizados entre 0 e 1. • Se atributos são categorizados • NAi = número de valores do atributo Ai • Total de neurônios da camada inicial = • NA1 + NA2 + NA3 + ... + NAm onde {A1, A2, ..., Am} = conjunto dos atributos Mestrado em Ciencia da Computacao
Camadas de Input e de Output • Output • Número de neurônios = número de classes • Se número de classes = 2 • número de neurônios = 1 • Basta um único neurônio na camada de output para o treinamento da rede. • Supõe-se que este neurônio corresponde à classe 1 • Se a amostra está na classe 0, então o output correto deveria ser 0. Se a amostra está na classe 1, o output correto deveria ser 1. Mestrado em Ciencia da Computacao
Rede Neural e Classificação w0j x0 + θj w1j INPUT Ij na unidade j ∑ x1 tendência w2j x2 Pesos Média ponderada dos outputs recebidos Função de Ativação Outputs da Camada precedente Output Oj Mestrado em Ciencia da Computacao
Função de Ativação • Serve para normalizar os outputs que são calculados em cada neurônio. • É uma função não-linear, diferenciável. • Normalmente, utiliza-se a função: f(x) = 1/(1+ex) cuja derivada satisfaz f ’(x) = f(x) (1 – f(x)) Mestrado em Ciencia da Computacao
Backpropagation – Fase de IDA δ1 1 ? I1 C1 I2 δ2 0 ? C2 δ3 0 ? I3 C3 Classe C1 Mestrado em Ciencia da Computacao
Backpropagation – Fase de Volta I1 C1 w12 w12 w12 w12 w22 w22 w22 I2 w22 C2 w32 w32 w32 w32 I3 C3 Ajusta pesos Ajusta pesos Mestrado em Ciencia da Computacao
Condições de Parada • Epoca = tempo necessário para que todas as amostras sejam analisadas. • Processo se repete até que: • Os reajustes dos pesos são “muito pequenos”. • Só uma “pequena” porcentagem de amostras foi mal classificada pela rede. • Um número “máximo” de épocas foi atingido. Mestrado em Ciencia da Computacao
Backpropagation • Objetivo: obter uma rede neural treinada • Centenas de milhares de épocas são necessárias para a convergência dos pesos. • Teoricamente, convergência não é garantida. • Na prática, os pesos convergem depois de um grande número de épocas. Mestrado em Ciencia da Computacao
Ida : Como são calculados os outputs I1 w1i Oi w2i I2 i w3i I3 Oi = F( w1i*I1 + w2i*I2 + w3i*I3 +θi) F(x) = 1/(1+e-x) Mestrado em Ciencia da Computacao
Volta:Cálculo dos Erros Compara com Ti = classe verdadeira 0, 1, 2 ..? • Erro em unidade da última camada i δi Ei= δi(1- δi)(Ti – δi) • Erro em unidade da camada intermediária wi1 1 wi2 i E’i = Oi(1- Oi)(E1*wi1+E2*wi2+E3wi3) 2 wi3 3 Mestrado em Ciencia da Computacao
Reajustes dos pesos e tendências Novo peso wij wij i j Novo-wij = Velho-wij + λ EjOi Nova Tendência θj Novo-θj = Velho- θj + λEj λ = Taxa de Aprendizadoλ(t) = 1/t t = iteração atual Evita que o processo fique parado num “mínimo local” Mestrado em Ciencia da Computacao
Exemplo 1 1 w14 Amostra classificada na classe C = 1 4 w24 w46 6 2 0 w34 w56 5 1 3 w14 Mestrado em Ciencia da Computacao
Exemplo • Ida • Volta Mestrado em Ciencia da Computacao
Exemplo : Erros • E6 = (0.474)(1-0.474)(1-0.474) = 0.1311 • E5 = (0.525)(1-0.525)(0.1311)(-0.2) = -0.0065 • E4 = (0.332)(1-0.332)(0.1311)(-0.3) = -0.0087 Mestrado em Ciencia da Computacao
Ex: Ajustes dos Pesos e Tendênciasλ = 0.90 Mestrado em Ciencia da Computacao
Ajustes dos pesos e tendências : Modo Padrão • Modo Padrão (ou case updating) • A cada nova amostra analisada é feito o ajuste dos pesos e tendências na fase de volta. • Os pesos e tendências atualizados são utilizados na fase da ida para a amostra seguinte. • Em cada época os pesos e tendências são ajustados N vezes, onde N = total de amostras. Mestrado em Ciencia da Computacao
Ajustes dos pesos e tendências : Modo Batch • Modo Batch (ou epoch updating) • Para cada amostra armazena-se os erros Ej obtidos na fase da volta, para cada neurônio Nj (das camadas de output e intermediárias). • No final da época (quando todas as amostras foram analisadas), calcula-se para cada neurônio intermediário ou da camada de output a média dos erros calculados em cada iteração. • Utiliza-se estes erros médios dos neurônios para ajustar os pesos e tendências no final da época. • Assim em cada época os pesos e tendências são ajustados uma única vez. • Análise: O modo padrão é o mais utilizado na prática, produz resultados mais acurados do que o modo batch. Mestrado em Ciencia da Computacao
Classificação por Backpropagation • Input: um banco de dados de treinamento (amostras) • Output: uma rede neural treinada • Problema: Como extrair “regras de classificação” de uma rede neural treinada ? Mestrado em Ciencia da Computacao
Vantagens e Desvantagens • Fase de treinamento demorada • Muitos parâmetros, determinados empiricamente • Fraca interpretabilidade • Alta tolerância a ruídos • Resultados Confiáveis Mestrado em Ciencia da Computacao
Redes Neurais como classificadores • Classificadores robustos – boa acurácia mesmo em presença de ruídos. • Acurácia muito superior à acurácia de classificadores baseados em árvores de decisão. • Problemas • Processo lento, exige diversas tentativas para encontrar topologia adequada. • Resultados da classificação = uma rede treinada. • Pouca utilidade num ambiente de grande volume de dados • Importante que o resultado seja em forma de regras Busca de tuplas satisfazendo as condições de uma regra pode ser feita usando SQL. Mestrado em Ciência da Computação
Poda de um rede neural – por que ? • Uma rede treinada é totalmente conectada • Muitos nós e muitos links ! • Impossível de extrair regras concisas que • sejam úteis e significativas para os usuários • possam facilmente ser transformadas em consultas de uma linguagem de banco de dados • Fase da Poda: Objetivos • remoção de links e nós sem afetar a taxa de erro da rede. • obtenção de uma rede com um número pequeno de nós e links, dos quais é possível extrair-se regras concisas e compreensíveis para o usuário final. Mestrado em Ciência da Computação
Referências • S.M.Weiss, C.A. Kulikowski: Computer Systems that Learn: Classification and Prediction Methods from Statistics, Neural Nets, Machine Learning and Expert Systems. San Mateo, CA, Morgan Kaufmann, 1991. • H. Lu, R. Setiono, H. Liu: NeuroRule: A Connectionist Approach to Data Mining. VLDB 1995, pp. 478-489. http://www.vldb.org/conf/1995/P478.PDF • Rudy Setiono - A Penalty-function Approach for Pruning Feedforward Neural Networks (1997). NeuralComputation, 1997, Vol. 9, pages 185-204. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.5249 Leitura interessante: Rede Neural simula o modelo de aprendizagem do cérebro humano ?? • Asin Roy: Artificial Neural Networks: A Science in Trouble. SIGKDD Explorations, Vol. 1, Issue 2, Jan. 2000, 33-38. http://www.sigkdd.org/explorations/issues/1-2-2000-01/roy.pdf Mestrado em Ciência da Computação