tÉcnicas de data mining em bioinformÁtica · a função de soma realiza a soma dos resultados da...

36
Técnicas de Data Mining em Bioinformática: material de apoio Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 1 TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA Notas de apoio ao módulo Técnicas de Data Mining em Bioinformática Instituto Superior Técnico Outubro de 2005

Upload: dangquynh

Post on 12-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 1

TÉCNICAS DE DATA MINING EM

BIOINFORMÁTICA

Notas de apoio ao módulo Técnicas de Data Mining em Bioinformática

Instituto Superior Técnico

Outubro de 2005

Page 2: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 2

Capítulo 1 - Árvores de Decisão

As Árvores de Decisão são um dos modelos mais práticos e mais usados em inferência indutiva. Este método representa funções como árvores de decisão. Estas árvores são treinadas de acordo com um conjunto de treino (exemplos previamente classificados). Posteriormente, outros exemplos são classificados de acordo com essa mesma árvore. Para a construção destas árvores são usados algoritmos como o ID3, ASSISTANT e C4.5.

Este método de classificação pode ser facilmente compreendido através de um exemplo.

Supondo que o objectivo é decidir se vou Jogar Ténis, há que ter em conta certos parâmetros do ambiente, como o Aspecto do Céu, a Temperatura, a Humidade e o Vento. Cada um destes atributos tem vários valores. Por exemplo para a temperatura pode estar Ameno, Fresco ou Quente. A decisão Sim (ir jogar ténis) ou Não (não ir jogar ténis) é o resultado da classificação.

Para construir a Árvore de Decisão de Jogar Ténis são tidos em conta exemplos (dias) passados.

Através destes exemplos é possível construir a seguinte árvore de decisão:

Page 3: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 3

A relação entre os elementos da árvore (nós e folhas) e os atributos, valores e classificações pode ser entendida na seguinte imagem:

A classificação de um exemplo de acordo com a esta árvore é feita da seguinte forma:

Page 4: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 4

O atributo Aspecto tem o valor Sol e a Humidade tem o valor Elevada. O exemplo é classificado com Nãoo que significa que quando esteve sol e humidade elevada não se jogou ténis. Os atributos Temperatura e Vento não são considerados, pois são desnecessário para classificar este exemplo.

Com Árvores de Decisão é possível representar a conjunção e disjunção de atributos. A árvore de decisão que representa a classificação para os dias em que o Aspecto é Sol e que o Vento está Fraco encontra-se na seguinte figura.

A árvore de decisão que representa os dias em que o Aspecto é Sol ou o Vento está Fraco é dada por:

Deve-se considera o uso de árvores de decisão em situações onde:

• As instâncias são descritas por pares atributo-valor; • A função objecto (alvo) é de valor discreto; • Pode ser necessário hipótese disjuntas; • Os exemplos de treino poderão ter erro (noise); • Faltam valores nos atributos;

Page 5: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 5

• Exemplos: - Diagnósticos médicos; - Análises de risco de crédito; - Classificação de objectos para um manipulador de robot (Tan1993).

Algoritmo ID3

O algoritmo ID3 (inductive decision tree) é dos mais utilizados para a construção de árvores de decisão. Este algoritmo segue os seguintes passos:

1. Começar com todos os exemplos de treino; 2. Escolher o teste (atributo) que melhor divide os exemplos, ou seja agrupar

exemplos da mesma classe ou exemplos semelhantes; 3. Para o atributo escolhido, criar um nó filho para cada valor possível do atributo; 4. Transportar os exemplos para cada filho tendo em conta o valor do filho; 5. 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 novos 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 óptima.

Dado um conjunto S, com instâncias pertencentes à classe i, com probabilidade pi, temos:

(1)

No exemplo apenas existem duas classes de classificação, ou seja, "Jogar Ténis" (positivo, +) ou "Não Jogar Ténis" (negativo, -). Assim sendo, o valor da entropia varia de acordo com o gráfico:

Page 6: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 6

Onde:

• S é o conjunto de exemplo de treino; • p+ é a porção de exemplos positivos; • p- é a porção de exemplos negativos; • A entropia é dada pelo desdobramento da equação 1

O ganho (gain) é define a redução na entropia. Ganho(S,A) significa a redução esperada na entropia de S, ordenando pelo atributo A. O ganho é dado pela seguinte equação:

Escolha do Melhor Atributo

Para responder à pergunta anterior, "Como escolher o melhor atributo" é usado o conceito ganho de informação. Em cada iteração do algoritmo é escolhido o atributo que apresente o maior ganho de informação, ou seja, a maior redução de entropia.

Page 7: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 7

Para o primeiro passo são analisados todos os atributos, começando pela Humidade, por exemplo:

Calculando o ganho para todos os atributos, verificamos que o tem maior ganho é o Aspecto.

No próximo passo o atributo Aspecto já não é tido em conta:

Page 8: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 8

Quando todos em todos os nós a entropia for nula, o algoritmo para e obtêm-se a seguinte árvore de decisão:

Page 9: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 9

Capítulo 2 - Redes neuronais

Ao longo da história, o cérebro tem sido o tema em foco para um diverso grupo de investigadores, incluindo psicólogos, filósofos, biólogos, engenheiros e cientistas da computação. Cada tem tentado representar algum aspecto das características do cérebro num modelo formal.

A seguinte tabela, permite comparar algumas das características entre o cérebro humano e os computadores.

1011 neurónios com 1014 sinapses Processador único com circuitos complexos

Velocidade: 10-3 Velocidade: 10-9

Processamento Distribuído Processamento Central

Processamento Não Linear Processamento Linear

Processamento Paralelo Processamento Sequencial

Desde a década de 60 que se pretendeu usar este conceito para aplicações em engenharia através da introdução das Redes Neuronais (RN) artificiais. As RNs oferecem a habilidade de aprender o desconhecido usando meios convencionais. Usando RNs pode ser estabelecido um modelo de estimação do ambiente, permitindo um sistema adaptativo e robusto. Tal como no cérebro humano a unidade base de processamento de uma rede neuronal é o Neurónio.

Assim sendo, as RNs apresentam as seguintes características:

• Vários unidades de processamento • Várias ligações entre as unidades de processamento com pesos associados • Processamento altamente paralelo e distribuído • Aprendizagem realizada ajustando os pesos das ligações

As RNs são aplicadas em domínios de problemas onde:

Page 10: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 10

• A entrada é um valor discreto ou real de dimensão elevada (ex.: um linha de entrada de um sensor)

• A saída é um valor discreto ou real • A saída é um vector de valores • É desconhecida a função objectivo • Os humanos não necessitam de interpretar os resultados (modelo da caixa preta)

Neurónio - Elemento de Processamento

O cérebro controla um grande número de tarefas com relativa facilidade, mas no entanto, é o conjunto de pequenos elementos de processamento interligados (neurónios) que conferem ao cérebro a sua funcionalidade. Esta observação foi utilizada pelos proponentes das Redes Neuronais.

O processamento de resultados é obtido com a operação de um número elevado de elementos simples de processamento. É a interligação dos elementos na rede que apresenta a funcionalidade pretendia. É suposto que numa RN, o elemento de processamento receba como entrada sinais do ambiente ou de outro elemento de processamento e produza uma saída.

Na figura 1 é possivel visualizar o paralelo entre um neurónio biológico (do cérebro) e um artificial (de uma RN) e compreender a relação entre os seus respectivos componentes.

Page 11: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 11

A seguinte figura representa um perceptrão artificial:

Fig. 1: Perceptrão

Todos os perceptrões consistem em:

• uma camada de entrada X = {x1,...xn}, • uma função de soma, • uma função de activação • uma saída O.

A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de Wi × Xi, para i = {1,...n}.

A função de activação no perceptrão é a função sinal, transformando a saída em 1 se o resultado da função soma for superior a 0 ou em -1 caso contrário.

Superfície de Decisão do Perceptrão

O perceptrão pode ser visualizado como representando uma superfície de decisão hiper-plana no espaço n-dimensional das instâncias, ou seja dos pontos. A saída do perceptrão é 1 para as instâncias localizadas num dos lados do hiper-plano e -1 para as instâncias localizadas no outro lado. Tal classificação é ilustrada no seguinte figura:

Page 12: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 12

Fig. 2: Superfícies de decisão de um perceptrão. (a) exemplos linearmente separáveis. (b)

exemplos não separáveis linearmente.

A recta que separa os dois lados do hiper-plano é dada pela equação .

Por vezes alguns grupos de instâncias não podem ser separados por nenhum hiper-plano. Os que podem ser separados são chamados linearmente separáveis.

Com apenas um perceptrão é possível representar várias funções lógicas como é o caso do AND, OR, NAND e NOR. Por exemplo um AND pode ser implementado escolhendo w0=-0.8 e w1 = w2= 0.5.

No entanto existem funções lógicas que não são possíveis de representar apenas com um perceptrão. Um exemplo é o do XOR (ou exclusivo). De notar que o grupo de exemplos não separáveis linearmente que se apresenta na figura b correspondem ao XOR.

Regra de Treino do Perceptrão

Apesar do objectivo final ser a aprendizagem de redes neuronais com muitas unidades interligadas, há que começar por compreender como funciona a aprendizagem dos pesos para apenas um perceptrão. O problema foca-se agora, em determinar a combinação de pesos (vector de pesos) para o qual o perceptrão produz a saída correcta (±1) para cada um dos exemplos de treino.

Uma forma de encontrar este vector poderá começar por inicializá-lo com valores aleatórios e depois, iterativamente aplicar o perceptrão a cada um dos exemplos e ajustar os pesos do vector sempre que o perceptrão classifique erroneamente esse exemplo. O processo de treino termina quando todas os exemplos de treino forem bem classificados pelo perceptrão.

Assim sendo, cada peso Wi associado à entrada Xi é ajustado de acordo com a regra de

treino do perceptrão:

Page 13: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 13

(1)

onde

(2)

Temos que:

• é o valor objectivo, ou seja o valor real do exemplo de treino • O é a saída do perceptrão para uma dado exemplo de treino

• é uma constante de baixo valor (ex.: 0.1) denominada por taxa de

aprendizagem

A regra do perceptrão converge correctamente se:

• os exemplos de treino são linearmente separáveis • e a taxa de aprendizagem é suficientemente pequena

Descida do Gradiente e Regra Delta

Para os casos em que o grupo de exemplos de treino não é linearmente separável usa-se uma outra regra de treino, denominada por regra delta. Para melhor perceber esta regra, é necessário começar com um caso muito simples, um perceptrão linear. A técnica descida

do gradiente é usada para fazer a procura, no espaço de hipóteses, dos vectores de pesos que melhor se ajustam aos exemplos de treino.

Nesta regra são usadas unidades lineares, ou seja perceptrões sem threshold e função de

activação. A saída será agora calculada da seguinte forma:

(3)

Os pesos Wi são ajustados por forma a minimizar o erro quadrático. Este erro de treino é dado por:

(4)

Page 14: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 14

onde D é o conjunto de exemplos de treino a utilizar.

Derivação da Descida do Gradiente

Por forma a facilitar a compreensão da descida do gradiente, apresenta-se uma iteração deste algoritmo.

Na figura 1 é possível ver todo o espaço de hipóteses dos possíveis vectores de pesos e o respectivo erro E associado.

Fig. 3: Visualização da descida do gradiente no espaço de hipóteses

O gradiente é dado por:

(5)

e a regra de treino é:

(6)

ou seja temos que:

(7)

O algoritmo é iniciado colocando valores aleatórios no vector de pesos e este é alterado sucessivamente em pequenos passos.

Page 15: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 15

A superfície de erro a vermelho corresponde aos valores dos pesos W mais desajustados com os exemplos de treino e por isto apresenta o maior erro. Em cada iteração, o algoritmo converge para as zonas a azul escuro onde o erro é menor, o que representa uma maior aproximação na classificação correcta dos exemplos de treino. Tal convergência é clarificada na passagem do Passo 1 para Passo 2 presente na figura.

O processo continua até que o mínimo global seja encontrado, ou seja, até que seja atingido o menor erro possível. Este mínimo local é único e é alcançado independentemente de os exemplos de treino serem linearmente separáveis ou não. No entanto tem de ser usada um taxa de aprendizagem suficientemente pequena. Caso contrário a procura corre o risco de ultrapassar o mínimo em vez de aproximar dele.

=

=

=

=

=

então obtêm-se:

=

onde xi,d representa a entrada xi do exemplo de treino d, td é a classificação do exemplo de treino d e od é a saída da unidade linear para o exemplo d em cada iteração.

Cada um dos passos do algoritmo encontra-se pormenorizado no seguinte pseudo-código:

Page 16: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 16

DESCIDA-DO-GRADIENTE( exemplos_de_treino, )

Cada exemplo de treino é uma par do tipo , onde é o vector

de valores de entrada, e t é o valor objectivo da saída. é a taxa de

aprendizagem (ex.: .05).

• Inicializar cada wi com um valor aleatório • Até que a condição de paragem seja encontrada, FAZER

o Inicializar cada a zero.

o Para cada dos exemplos_de_treino , FAZER

� Colocar a entrada na unidade e calcular a saída o � Para cada peso wi da unidade linear, FAZER

o Para cada peso wi da unidade, FAZER

Regra do Perceptrão Vs Regra da Descida do Gradiente

A regra do perceptrão converge correctamente se:

• os exemplos de treino são linearmente separáveis • e a taxa de aprendizagem é suficientemente pequena

A regra da descida do gradiente converge:

• para um solução com menor erro quadrático • usando um taxa de aprendizagem suficientemente pequena • mesmo quando os exemplos de treino contêm perturbações • mesmo quando os exemplos de treino não são separáveis pela hipótese H.

Page 17: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 17

Redes Multi-Camada

Ao contrário de um neurónio individual, uma rede neuronal de multi-camadas tem a capacidade de exprimir uma enorme variedade de superfícies não lineares. Este tipo de RN permite resolver problemas de complexidade elevada. Em contrapartida, são exigidas RN complexas. Naturalmente, que o tempo de treino da RN aumentará com a sua complexidade e por vezes poder-se-á tornar demasiado demorado treinar uma RN como desejado.

A figura 1 representa uma RN multi-camadas:

Fig. 1: Rede Neuronal Multi-Camadas

Cada Rede Neuronal deste tipo possui:

• 1 camada de entrada • 1 ou mais camadas escondidas • 1 camada de saída

Quanto maior fôr o número de camadas escondidas na RN, maior é a sua capacidade de resolução de problemas.

Page 18: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 18

A tabela 1 clarifica esta relação.

Superfície de Decisão Esquema Neuronal Exemplo1 : Um neurónio

Exemplo2: RN - uma camada escondida (RN1CE)

Exemplo3: RN - duas camadas escondidas

Tabela 1: Relação entre o tipo de RN e a respectiva superfície de decisão.

Tal como visto anteriormente, com um neurónio (ex. 1) apenas é possivel separar exemplos linearmente. No entanto quando se adiciona uma camada escondida (ex. 2) à RN é possivel realizar um região convexa onde cada nó escondido é responsável por uma das fronteiras da região. Uma rede neuronal com duas camadas escondidas (ex. 3) realiza a reunião de três regiões convexas. Cada caixa a castanho representa uma rede neuronal

Page 19: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 19

com uma camada escondida (RN1CE) que realiza uma região convexa. Este último exemplo é demonstrativo do potencial que várias RN interligadas podem representar.

Unidade com saídas sigmoidais

Para as RN Multi-camada não se vai poder usar a unidade linear nem o perceptrão. Várias camadas de unidades lineares em cascata apenas produzirão funções lineares e a saída do perceptrão não é diferenciáve não se podendo aplicar a descida do gradiente. Neste tipo de redes em que o objectivo é conseguir representar funções complexas não lineares, é necessário uma unidade cuja saída seja uma função não linear e diferenciável das entradas.

A unidade sigmóide apresentada na figura 2 preenche estes requisitos.

Fig. 2: Unidade Sigmóide com threshold

onde é a função sigmóide

Variações à função sigmóide poderão ser introduzidas pela seguinte fórmula:

A influencia da variável a pode ser entendida interpretando o gráfico da figura 3.

Page 20: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 20

Figura 3: Variações do gráfico da função sigmóide em função de a

Os valores de saída situam-se no intervalo [0,1] e aumentam monotonicamente com a entrada (ver figura 3).

É possível derivar regras da descida do gradiente para treinar:

• uma unidade sigmóide • um rede multi-camadas constituída por unidades sigmóides

Gradiente do Erro para a Unidade Sigmóide

Tal como na regra delta, é necessário derivar uma forma de calcular o gradiente do erro, para actualizar os pesos W em cada passo. Para a unidade sigmóide o gradiente do erro é calculado da seguinte forma:

=

=

=

Page 21: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 21

=

=

Mas sabe-se que:

Então ficamos com:

=

e finalmente temos para actualizar W que:

=

Algoritmo de Retropropagação do Erro

O Algoritmo de Retropropagação do Erro (backpropagation) é o método usado para aprender os pesos de uma rede multi-camadas. Este método, tal como a regra delta, aplica a descida do gradiente para minimizar o erro quadrático entre os valores de saída da rede e os valores objectivo e correctos para estes valores de saída. Como agora poderão existir várias unidades de saída há que considerar o erro E sobre todas as unidades de saída:

Page 22: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 22

O algoritmo de retropropagação do erro apresenta-se seguidamente:

RETROPROPAGAÇÃO-DO-ERRO( exemplos_de_treino, , nentrada, nsaída, nescondidos)

Cada exemplo de treino é uma par do tipo , onde é o vector

de valores de entrada, e t é o valor objectivo da saída. é a taxa de

aprendizagem (ex.: .05).nentradas é o número de entradas da rede, nsaídas é o

número de saídas da rede e nescondidos é o número de unidades na camada

escondida. A entrada da unidade i vindo da unidade j é representado por

xi,j e o peso dessa entrada é denominado por wi,j

• Criar a rede com nentradas entradas, nsaídas saídas e nescondidos • Inicializar cada wi com um valor aleatório (ex. 0.05) • Até que a condição de paragem seja encontrada, FAZER

o Para cada dos exemplos_de_treino , FAZER

� Colocar a entrada na rede e calcular a saída o, para cada unidade da rede

� Para cada unidade de saída k:

� Para cada unidade escondida h:

� Actualizar cada peso wi,j da rede

onde

Relativamente a este algoritmo as principais considerações que podem ser feitas são:

• A descida do gradiente é aplicada sobre todo o vector de pesos da rede

Page 23: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 23

• É facilmente generalizado para gráficos arbitrários direccionados. • Encontra um erro mínimo local, que não é necessariamente o global

o Na prática, funciona frequentemente bem (algoritmo pode ser chamado várias vezes)

o Treinar várias redes com valores iniciais diferentes para os pesos • Normalmente inclui o momentum do peso:

• Minimiza o erro sobre os exemplos de treino

o Será que generaliza bem para instancias futuras desconhecidas (problema do over-fitting)?

• O treino poder-se-á tornar muito lento para casos com mais de 1000 iterações. o Usar o método de Levenberg-Marquardt em vez da descida do gradiente.

• Natureza da convergência o Inicializar o vector de pesos com valores perto de zero. o Rede inicial praticamente linear no início. o Não linearidade da rede aumenta à medida que o processo de treino

avança • Utilizar a rede depois de treinada é muito rápido

Resumindo, as capacidades expressivas das RNs são:

Funções Lógicas

• Qualquer função lógica pode ser representada por uma rede com apenas uma camada escondida.

• Poderá, no entanto, necessitar de ter um número de unidades escondidas de ordem exponencial em relação às entradas.

Funções Contínuas

• Qualquer função contínua limitada pode ser aproximada com erro arbitrário e reduzido, por uma rede com uma camada escondida [Cybenko 1989; Hornik et al. 1989]

• Qualquer função pode ser aproximada até uma exactidão arbitrária, por uma rede neuronal com duas camadas escondidas. [Cybenko 1988].

Page 24: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 24

Capítulo 3 - Agrupamento

A análise por agrupamento (clustering) é uma ferramenta fundamental e importante na análise estatística de informação. No passado técnicas de agrupamento têm sido amplamente usadas em numerosas áreas cientificas, como reconhecimento de padrões, recuperação de informação, análise microbiológica e outras.

Um grupo (cluster) é um conjunto de objectos de informação onde cada objecto é:

• Semelhante a outro objecto do mesmo grupo. • Disemelhante de outros objectos de grupos diferentes.

O método de agrupamento consiste em agregar um conjunto de informação em diferentes grupos. O número total de grupos é usualmente predefinido e cada grupo é representado por uma classe diferente. O problema de encontrar o número adequado de grupos está relacionado com a procura da complexidade correcta do modelo, dado a informação conhecida.

Este método de classificação não é supervisionado, o que significa que não existem classes predefinidas.

Como aplicações típicas, este método pode ser utilizado como:

• Ferramenta individual: para recolher informações sobre a distribuição da informação.

• Passo do processamento: como complemento a outros algoritmos.

A figura 1 apresenta um exemplo da aplicação do método de agrupamento. Neste exemplo é feita a classificação de genes tendo em conta três condições.

Condições possíveis são por exemplo:

• a percentagem de uma dada base azotada ou sequência de bases, existentes no gene

• quanto esse gene difere de um dado gene de referência (útil para descobrir potenciais doenças).

Page 25: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 25

Fig. 1: Classificação de genes por agrupamento usando três condições diferentes (3-Dimensões)

Existem várias técnicas de agrupamento, mas as mais comuns são baseadas em métodos de partição, que funcionam da seguinte forma:

• Construir uma partição de um base de dados D, com n objectos em k grupos. • Dado um k, encontrar uma partição de k grupos que optimiza o critério de partição

escolhido. Pode ser usado: o Procura por óptimo global: exige enumerar todas as partições o que torna

o processo exaustivo o Métodos Heuristicos: algoritmos k-médias e k-medianas

� k-médias (MacQueen '67): cada grupo é representado pela centro do grupo.

� k-medianas (Kaufman & Rousseeuw’87): cada grupo é representado por um objecto do grupo

Page 26: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 26

K-médias

O K-médias é um algoritmo de agrupamento iterativo que:

• Classifica objectos num determinado número prédefinido K de grupos (clusters). • Tem como função de classificação a distância do objecto ao centro do grupo

(centróide). • Minimiza a soma J de todas as distâncias euclidianas entre cada objecto e o seu

centróide, segundo o critério dos mínimos quadrados dado por:

O algoritmo pode ser descrito na seguinte forma, onde os três passos mais importantes se encontram numerados entre parênteses:

K-MÉDIAS( exemplos_de_treino, k)

Cada exemplo de treino é um vector de dimensão N, com os valores de

cada condição. k é o número de grupos/centróides a usar no algoritmo.

• (1) Escolher k centróides aleatoriamente (ex.: k pontos escolhidos aleatoriamente dos exemplos_de_treino)

• Enquanto os centróides são modificados , FAZER

o Para cada centróide c, FAZER

� (2) Actualizar o centróide com a média dos pontos que lhe pertence, ou seja, que pertencem ao seu grupo.

onde :

é o número de objectos que pertence ao grupo cj

Page 27: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 27

ci,j é a dimensão i do centróide j, para i = {1,...n}, j = {1,...k} xn,i é a dimensão i do exemplo_de_treino xn. xn pertencente ao centróide j, para i = {1,...n}, j = {1,...k}

o Para cada exemplo_de_treino d, FAZER

� (3) Atribuir o centróide c que se encontra mais perto de d.

A figura 1 ajuda a compreender o funcionamento deste algoritmo.

Fig. 1: Passos de aplicação do algoritmo K-médias

Page 28: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 28

Capítulo 4 - Introdução ao Sistema de Data Mining SAS

O espaço de trabalho do SAS é composto por várias janelas, cada uma das quais

cumprindo determinadas tarefas. Estas janelas são acompanhadas por um conjunto de

outros objectos tais como menus e toolbars, como se pode ver na seguinte figura.

Exercício 1

De modo a definir a directoria onde são colocados os ficheiros por si produzidos durante

a utilização do SAS, faça:

1. Clique duas vezes na zona “Current Working Folder”.

2. Seleccione uma nova directoria.

Page 29: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 29

As zonas que merecem alguma atenção são:

• Programming Window – janela principal, onde se pode encontrar 3 zonas

particulares.

Log Apresenta as mensagens enviadas pelo sistema.

Output Apresenta o resultado da execução de programas. É possível explorar os resultados através da janela Results.

Program Editor Permite a escrita, edição e submissão de código SAS.

• Explorer Window – o ponto central de gestão das várias tarefas disponíveis no

SAS. Nomeadamente a criação de bibliotecas (Libraries) e seus elementos

(Tabelas, Catálogos, etc)

• Results Window – permite a navegação sobre os resultados obtidos.

Biblitotecas

Uma biblioteca SAS é uma espécie de ponteiro para a localização dos ficheiros criados

pelo utilizador. Uma vez criada, o SAS consegue aceder aos ficheiros existentes na

biblioteca. Quando uma biblioteca é apagada, os ficheiros mantém-se em disco, mas

ficam inacessíveis a partir do SAS.

Exercício 2 – Criação de Bibliotecas

1. Seleccione na janela Explorer o ícone Libraries.

2. Crie uma nova biblioteca, seleccionando o menu File � New. Surgirá a

seguinte janela:

Page 30: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 30

Nota: É fundamental seleccionar a opção Enable at startup. Deve designar a nova biblioteca por “Labs” ou algo semelhante.

O SAS representa os conjuntos de dados em obejctos do tipo Table, que constituem os

membros de uma biblioteca.

Exercício 3 – Importação de Dados

1. Entre na nova biblioteca.

2. Crie um conjunto de dados por importação do ficheiro “promotores.csv”.

Para tal:

3. No menu File � Import Data. Seleccione Standard Data Source, e Comma

Separated Values (*.csv).

4. Introduza a localização do ficheiro “promotores.csv”.

5. Na janela que se segue, seleccione a biblioteca que acabou de criar, e

designe por PROMOTORES o novo membro da biblioteca.

6. Depois de encerrar a janela, surge um novo objecto (membro) dentro da

biblioteca. Ao clicar sobre ele pode analisar os dados registados no ficheiro.

7. Proceda de igual forma para o ficheiro ecoli.csv.

Page 31: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 31

Enterprise Miner O Instituto SAS define data mining como “o processo de Seleccionar (Sample), Explorar

(Explore), Modificar (Modify), Modelar (Model) e Avaliar (Assess) – SEMMA grandes

quantidades de dados, para descobrir padrões previamente desconhecidos”

O pacote Enterprise Miner é um pacote integrado de data-mining, que fornece uma

interface amigável ao processo SEMMA:

• A Selecção dos dados é efectuada com a criação de tabelas. Estas devem conter

dados suficientes e significativos, mas ter um tamanho que não inviabilize o

processo de descoberta (por o tornar demasiado lento ou inoperante).

• A Exploração dos dados consiste na análise manual dos dados, de forma a

adquirir algum conhecimento prévio que ajude na definição dos objectivos do

processo.

• A Modificação dos dados é realizada pela criação, selecção e transformação das

variáveis envolvidas no problema, de modo a ajudar a escolher o melor modelo a

usar no processo.

• A Modelação dos dados é concretizada pela aplicação das ferramentas de análise

disponíveis no pacote, nomeadamente árvores de decisão, redes neuronais, entre

outros. É esta a etapa responsável pela descoberta de informação, propriamente

dita.

• A Avaliação consiste em analisar os resultados obtidos no passo anterior, de

modo a determinar a sua utilidade e confiabilidade.

O processo é conduzido por um fluxograma, que pode ser modificado e gravado. Este é

desenhado de forma a que o analista do negócio, que tem poucos conhecimentos de

estatística, o possa utilizar para descobrir informação face a novos dados.

Enterprise Miner contém um conjunto de ferramentas de análise que podem ser

combinadas de modo a criar e comparar múltiplos modelos. Para além destas existem

ferramentas para preparação dos dados, nomeadamente para detecção de ponts isolados,

transformação de variáveis, amostragem e partição dos dados em conjuntos de treino,

teste e de validação. As suas ferramentas avançadas de visualização permitem uma

Page 32: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 32

análise rápida e fácil dos dados e resultados obtidos.

Exercício 4 – Enterprise Miner

1. Seleccione o menu Solutions � Analysis � Enterprise Miner.

2. A janela Enterprise Miner é aberta e deve corresponder a

A janela lançada é composta por três áreas principais:

Enterprise Miner Tools

Bar

Toolbar com os nós que representam alguns dos tipos de ferramenta disponíveis para o processamento dos dados.

Project Navigator

Usado para gerir projectos, diagramas e relatórios.E está dividido em três tabs • Diagrams – Apresenta o projecto actual e a lista de diagramas

pertencentes ao projecto. Ao seleccionar um diagrama, o Diagram Workspace é ocupado pelo fluxograma associado ao digrama escolhido.

• Tools – Contém uma lista de todos os nós / ferramentas disponíveis no Enterprise Miner, organizados pelo tipo de função dos nós (de acordo com o processo SEMMA descrito).

• Reports – Contém os relatórios (em formato HTML) criados e associados ao projecto.

Diagram Workspace

Usado para construir, editar, executar e gravar fluxogramas. É aqui que são graficamente manipulados os nós de forma a criar os diagramas.

No fundo da janela existem três pequenos painéis:

• Progress Indicator – indica o estado de execução da tarefa activa;

• Message Panel – apresenta o nome da tarefa activa e mensagens do sistema;

• Connection Status Indicator – apenas está activa durante o processamento de

projectos cliente-servidor. Apresenta o nome do servidor remoto e indica se a

ligação está ou não activa.

Projectos

Um projecto é um conjunto de diagramas e informação a eles associadas. Normalmente

os projectos distinguem-se pelo tipo de dados envolvidos na análise. Por outras palavras,

deve criar-se um projecto novo para cada problema diferente a analisar

Page 33: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 33

Exercício 5 – Criação de Projectos

1. A partir da janela Enterprise Miner, seleccione o menu File � New

�Project.

2. Introduza o nome do novo projecto, por exemplo Lab.

3. Juntamente com o novo projecto é criado um novo diagrama vazio,

designado Untitled.

DIAGRAMAS

Os diagramas são criados por combinação dos vários nós necessários à tarefa em mãos, e ordenados de acordo com o processo SEMMA. Os nós podem ser criados por drag and

drop.

Exercício 6 – Criação de Diagramas

1. A partir da janela Enterprise Miner, seleccione o menu File � New

�Diagram. Altere o nome do novo diagrama, por exemplo Lab1a.

2. Com o botão direito do rato seleccione a opção Move and Connect*, de

modo a conseguir mover e ligar os vários nós.

3. Seleccione o nó Input Data Source (1º ícone da toolbar) e arraste-o para a

Diagram Window

a. Seleccione o nó do novo diagrama e com o botão direito do rato

abra o nó (Open).

b. Seleccione a tabela de dados promotores criada na biblioteca Labs.

c. Seleccione a linha referente ao atributo Target. Seleccione a coluna

Model Role, clique no botão direito do rato e escolha Set Model

Role � Target. Acabou de seleccionar o atributo com o conceito a

aprender.

d. Indique que quer usar todo o conjunto e não apenas uma amostra.

4. Adicione um nó Data Partition ao diagrama. Escolha 60% dos dados para

treino, 20% para validação e 20% para teste.

5. Crie um nó Tree (8º ícone da toolbar). Ligue-o ao nó Data Partition criado

anteriormente. Na configuração do nó, escolha como medida de avaliação

do modelo (secção Advanced)a opção Proportion correctly classified.

Page 34: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 34

Escolha ainda como critério de separação dos atributos a redução da

entropia.

6. O seu diagrama está terminado e deve assemelhar-se ao diagrama da figura

seguinte:

Exercício 7 – Avaliação dos Resultados

1. Execute o nó Tree (Run no pop-menu).

2. Se tiver gerado os resultados com sucesso, analise-os:

a. Analise a matriz de confusão para o menor modelo descoberto, e

guarde-a (árvore de decisão com apenas uma folha).

b. Proceda de igual modo para os maior (árvore de decisão com mais

folhas) e melhor (conforme seleccionado pela ferramenta) modelos.

c. O que pode concluir acerca da relação entre o tamanho do modelo e

a precisão de classificação no conjunto de treino? E no conjunto de

validação?

d. De acordo com os modelos obtidos, qual é a posição do nucleótido

mais relevante para a decisão?

3. No nó Data Partition, altere as percentagens usadas para treino, validação e

teste.

Page 35: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 35

a. Volte a analizar os resultados obtidos.

b. A que se deve a diferença de resultados?

Exercício 8 – Comparação de Modelos

1. Crie um novo diagrama designado Lab1b.

a. Crie um nó Input Data Source (1º ícone da toolbar) a partir da tabela de

dados ecoli.csv criada na biblioteca Labs, e apto a ser usado com

partições.

b. Seleccione a linha referente ao atributo localizacao. Seleccione a coluna

Model Role, clique no botão direito do rato e escolha Set Model Role �

Target.

c. Indique que quer usar todo o conjunto e não apenas uma amostra.

2. Crie um nó Data Partition (3º ícone da toolbar) e ligue-o ao nó anterior. Altere

os valores da partição dos dados para 60%, 30% e 10%, para os conjuntos de

treino, validação e teste, respectivamente.

3. Adicione uma árvore de decisão com uma configuração semelhante à árvore do

exercício anterior.

4. Adicione ainda um nó Neural Network usando a seguinte configuração:

a. Em General utilize:

i. O critério de selecção Misclassification Rate.

ii. A interface avançada.

iii. E a opção de acumulação de treino. Não se esqueça de apagar o

que tenha sido acumulado anteriormente.

b. Em Advanced:

i. Em Network utilize apenas uma unidade escondida (hidden unit).

ii. Em Initialization: escolha as estimativas actuais para valores

iniciais. Desta forma será possível acumular aprendizagem, em

diferentes execuções da rede.

iii. Em Train: altere a técnica de treino para Standard

Backpropagation e tempo máximo de CPU para 5 minutos,

mantendo os valores de omissão para o restante.

Page 36: TÉCNICAS DE DATA MINING EM BIOINFORMÁTICA · A função de soma realiza a soma dos resultados da aplicação dos pesos às entradas, ou seja, a soma de todos os resultados de W

Técnicas de Data Mining em Bioinformática: material de apoio

Arlindo L. Oliveira, Paulo Franco, Ana Teresa Freitas,Cláudia Antunes, Orlando Anunciação 36

c. A partir da opção Model Manager do nó Neural Network seleccione o

conjunto de teste, de forma a conseguir avaliar o desempenho do modelo

num conjunto de dados independente. Para tal seleccione o modelo

Neural Network, o que activa a página de Opções, onde poderá

seleccionar o conjunto de Teste.

5. Adicione ainda um nó Assessment e um nó Reporter. A figura seguinte mostra o

diagrama final.

6. Execute e compare os resultados obtidos por ambos os algoritmos tendo em

conta a precisão obtida, interpretabilidade, velocidade de aprendizagem e

facilidade de afinação do modelo.