2.2 Descoberta de Conhecimento em Banco de Dados
2.2.2 Classificação
Neste trabalho, a classificação foi utilizada para criar um método capaz de identificar estados de novos pontos amostrais coletados pelo sistema de monitoramento. A partir das classes definidas na fase de agrupamento e validadas pelo especialista ou a partir de inspeções padronizadas, um método de classificação com alta precisão pode prever em tempo real o estado das colmeias, permitindo a emissão de alertas.
A seguir, os algoritmos de classificação usados neste trabalho são descritos. Cinco abordagens foram escolhidas: Naive Bayes (NB) (MARON, 1961), um classificador probabi- lístico que funciona com base no teorema de Bayes; o k-Vizinhos mais Próximos ou k-Nearest Neighbor(kNN) (COVER; HART, 1967), que define os exemplos de treinamento mais próximos k; as Florestas Aleatórias ou Random Forest (RF) (HO, 1995), que usa uma coleção de árvores de decisão e as Redes Neurais ou Neural Networks (NN) (MCCULLOCH; PITTS, 1943), que é baseado em uma metáfora do comportamento do cérebro; e as Máquinas de Vetores de Suporte ou Support Vector Machine (SVM) (CORTES; VAPNIK, 1995).
2.2.2.1 Naive Bayes
O classificador NB é baseado no Teorema de Bayes (2.6) para gerar as previsões para cada observação, classificando um ponto amostral em um grupo com maior probabilidade de ter seus atributos.
P(Y | X) = P(X | Y ) × P(Y )
P(X) . (2.6)
Formalizando o problema de classificação em termos estatísticos, a variável X indica o conjunto de pontos amostrais e Y a variável de classe. Assumindo uma relação não determinística entre essas variáveis, a probabilidade condicional P(Y |X ) é conhecida como probabilidade posterior de Y e P(Y ) como sua probabilidade anterior.
A probabilidade anterior P(Y ) pode ser avaliada a partir do conjunto de treinamento, calculando a fração de registros pertencentes a cada classe. Supondo que os atributos sejam con- dicionalmente independentes, um classificador Bayes simples avalia a probabilidade condicional da classe P(Xi), dada a etiqueta de classe y (2.7), na qual cada conjunto X = {X1, X2, ..., Xd}
consiste em d atributos. P(X | Y = y) = d
∏
i=1 P(Xi| Y = y). (2.7)Assim, em vez de calcular a probabilidade condicional da classe para cada combina- ção de X , basta estimar apenas a probabilidade condicional de cada Xi, dado Y . Portanto, para
classificar um novo registro, basta calcular a probabilidade posterior para cada classe Y (2.8).
P(Y | X) = P(Y ) ∏
d
i=1P(Xi| Y )
P(X) . (2.8)
Considerando que P(X) é fixo para cada Y , basta escolher a classe que maximiza o termo numerador, P(Y ) ∏di=1P(Xi| Y ).
2.2.2.2 k-Vizinhos mais Próximos
O classificador k-Vizinhos mais Próximos, ou em inglês kNN é baseado no recebi- mento de um conjunto de treinamento, aprendendo com esse conjunto, validando o aprendizado com um conjunto de testes e, ao receber novas observações, classificando-os de acordo com os
conhecidos (TAN et al., 2005). Cada nova observação tem sua distância calculada com cada observação já conhecida. A classificação é realizada de acordo com o maior número de vizinhos mais próximos de k pertencentes à mesma classe. Uma aproximação inicial ao valor de k pode ser dada pela raiz quadrada do número de observações presentes no conjunto de dados. A Figura 4 apresenta uma ilustração do processo de classificação com o kNN.
Figura 4 – Modelo básico do k-Vizinhos mais Próximos
Fonte: Elaborada pelo autor (2020)
No exemplo da Figura 4, o ponto amostral de teste (quadrado) deve ser classificado em triangulo (y1) ou em circulo (y2). Se k = 1 (círculo interno), o quadrado, então, é atribuído
à classe triângulo (y1) porque existe 1 triângulo dentro do círculo interno. Se k = 3 (círculo
externo), ele é atribuído ao circulo (y2), pois, nesse caso, tem-se 2 círculo vs. 1 triângulo dentro
do círculo externo.
A escolha final do valor de k, por sua vez, não é tão simples. Se um k muito pequeno for escolhido, as previsões podem ser distorcidas por alguns vizinhos e podem gerar classificações incorretas. Por outro lado, se k for muito grande, a classificação poderá acabar invadindo regiões de outras classes e também gerar classificações incorretas. Para superar essa dificuldade, a técnica validação cruzada será usada para selecionar um valor justo de k.
2.2.2.3 Florestas Aleatórias
O classificador RF baseiam-se em árvores de decisão para gerar suas classificações. Árvores de decisão são estruturas que baseiam-se em regras de decisão para se ramificarem em possibilidades e criar um “caminho”. No final do caminho está a classificação atribuída à entrada.
As árvores de decisão têm como desvantagem a sua instabilidade, pois uma pequena alteração no conjunto de treino pode gerar uma árvore totalmente diferente e, consequentemente, predições equivocadas. Para aumentar a acurácia e diminuir a instabilidade das árvores de decisão, o algoritmo do RF utiliza várias árvores em conjunto, criando uma espécie de floresta. Uma floresta é mais estável e menos suscetível a pequenas alterações. A Figura 5 apresenta uma ilustração do processo de classificação com o algoritmo de árvores de decisão.
Figura 5 – Modelo básico de uma árvore de decisão
Fonte: Elaborada pelo autor (2020)
No processo de aprendizagem do algoritmo, são criadas as regras que definem os ramos da árvore, e a partir daí desenvolve-se uma floresta com várias árvores. O processo de criação das árvores acontece de forma que elas possuam baixa correlação, a fim de reduzir o custo computacional e aumentar a eficácia do classificador. Para tal, cada árvore é montada
usando um número m de preditores escolhidos aleatoriamente entre os n preditores originais (m é o mesmo para todas as árvores). No processo de classificação de novos pontos amostrais, cada árvore irá realizar a classificação individualmente do ponto amostral X. Então, através de um processo de votação, escolhe-se para X a classe mais votada entre as árvores.
2.2.2.4 Redes Neurais
O classificador NN baseiam-se em uma metáfora do comportamento do cérebro. São formadas por unidades de processamento simples denominados neurônios que são responsáveis pelo cálculo de determinadas funções matemáticas. Essa abordagem foi proposta inicilmente por McCulloch e Pitts (1943). Os neurônios ficam organizados em uma ou mais camadas e interligados por conexões (sinapses) com pesos. Das diversas topologias existentes para os neurônios, uma bastante conhecida é a rede Perceptron Simples (PS) (ROSENBLATT, 1958), onde multiplas entradas são totalmente conectadas a uma única camada, cujos neurônios determinam a saída da rede.
A rede Perceptron Multicamadas, do inglês, Multi Layer Perceptron (MLP), utilizada nesse trabalho, é obtida a partir da rede PS e pode ser usada em problemas de classificação não-lineares. Na MLP, é possível destacar (i) as unidades de entrada, responsáveis pela simples passagem dos valores de entrada para os neurônios das camadas seguintes, (ii) a(s) camada(s) oculta(s), que contêm neurônios responsáveis pelo processamento não-linear da informação de entrada e (iii) a camada de saída, que contêm neurônios responsáveis pela geração da saída da rede neural. A Figura 6 ilustra as camadas supracitadas.
Na utilização das MLP’s em tarefas de classificação de padrões, deve-se associar a cada padrão de entrada (ponto amostral X, Figura 6) uma das classes predefinidas. Assim, uma MLP com uma camada oculta pode representada por: MLP(p, q, m), onde, p é o número de variáveis de entrada, q é o número de neurônios ocultos, m é o número de neurônios de saída. A depender a quantidade de camadas ocultas que uma rede MLP possui, defini-se a arquitetura da rede. Por exemplo, a arquitetura 8:2:5:6 possui 8 neurônios na camada de entrada, duas camadas ocultas (com 2 e 5 neurônios) e uma camada de saída com 6 neurônios. O processamento de cada neurônio se dá através da função de ativação, que é responsável por analisar o sinal gerado pela combinação linear das unidades de entrada e dos pesos das sinapses (w), para gerar o sinal de saída do neurônio.
Figura 6 – Modelo básico de uma rede perceptron multicamadas
Fonte: Elaborada pelo autor(2020)
2.2.2.5 Máquinas de Vetores de Suporte
O classificador SVM é uma extensão dos classificadores de vetores de suporte, onde o espaço real dos dados é “aumentado” pela utilização dos kernels. O “Truque do Kernel” ou o chamado “kernel trick” é a generalização de um produto interno de dois vetores ha, bi na obtenção da equação final do algoritmo. Com um kernel linear o produto é o mesmo, porém, com os kerneis Radial Basis Feature (RBF) e Polynomial, por exemplo, sobre esse produto interno é aplicado uma função g, levando a um espaço aumentado e, consequentemente, adicionando de caracteristicas não-lineares ao hiperplano de decisão. Para predizer a qual classe uma determinada observação x0pertence, o classificador efetua o produto interno aplicado à função g e atribui a
classe tomando como base o hiperplano de decisão.