tÉcnicas de data mining em bioinformÁtica · a função de soma realiza a soma dos resultados da...
TRANSCRIPT
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
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:
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:
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;
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:
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.
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:
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:
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:
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.
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:
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:
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)
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.
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:
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.
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.
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
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.
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:
=
=
=
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:
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
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].
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).
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
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
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
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.
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:
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.
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
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
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.
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.
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.
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.