• Nenhum resultado encontrado

3.1 Detecção Automática de Estresse

3.1.5 Classificação

A etapa de classificação consiste na utilização de técnicas de detecção de padrões (classificadores) com o objetivo de diferenciar os estados do indivíduo (normal e estressado) (SANSONE et al., 2013). SegundoWEBB; COPSEY(2011), o processo de classificação é realizado através da aplicação de "um algoritmo de aprendizagem para a busca através do espaço de parâmetros para encontrar o modelo que melhor descreve a relação entre as características e a classe associada"7.

Dentre os diversos tipos de classificadores, pode-se dividi-los em dois grupos (WEBB; COPSEY, 2011;DUDA; HART; STORK, 2000):

• Paramétricos: classificadores baseados na distribuição da probabilidade estatística co- nhecida das classes. Classificadores paramétricos utilizados no problema de detecção de estresse incluem a Análise Discriminante Linear (Linear Discriminant Analysis) (HEALEY; PICARD, 2005), Classificação de Bayes (GJORESKI et al., 2017;REN et al., 2014) e Redes Neurais Artificiais (Artificial Neural Network) (SANSONE et al., 2013);

• Não paramétricos: métodos que não realizam suposições sobre a distribuição das classes. Classificadores não paramétricos utilizados no problema de detecção de estresse incluem Máquina de vetores de suporte (Support Vector Machine - SVM) (AKMANDOR; JHA, 2017;

GJORESKI et al., 2017;ZHANG et al., 2017;SANSONE et al., 2013;SIERRA et al., 2011;ZHAI; BARRETO, 2006), K-vizinhos mais próximos (K-Nearest Neighbors - KNN) (AKMANDOR; JHA, 2017;GJORESKI et al., 2017;SIERRA et al., 2011), Lógica Fuzzy (Fuzzy Logic) (SIERRA et al., 2011) e Árvore de Decisão (Decision Tree - DT) (GJORESKI et al., 2017;REN et al., 2014).

As técnicas mais utilizadas nos últimos 5 anos na tarefa de detecção automática de estresse são SVM, DT e KNN, nesta ordem. Utilizando o Google Acadêmico, foi realizada uma pesquisa com os termos ["stress detection" OU "stress recognition"] E "[técnica]". Foram obtidos 1390 resultados (artigos) para SVM, 656 para DT e 580 para KNN.

3.1.5.1

Máquinas de Vetores de Suporte

Em uma situação onde é necessário dividir duas classes distintas em uma projeção de 2 dimensões, pode-se utilizar uma reta (com mais dimensões é utilizado um hiperplano) para realizar essa separação. Entretanto, pode-se criar a reta em diversos ângulos que as classes ainda

7 Texto original: we employ a learning algorithm to search through the parameter space to find the model that

best describes the relationship between the measurements and class labels for the training set

seriam separadas corretamente (Figura 11a). Neste contexto, o objetivo do SVM é encontrar o hiperplano que realize a separação das classes com a maior margem8possível entre elas (Figura 11b) (WEBB; COPSEY, 2011).

A classificação de amostras rotuladas com as classes w1 e w2 é realizada através da função linear g(x) resultando em yi = ±1, onde yi identifica de qual lado do hiperplano a amostra foi adicionada. Considere x como as novas amostras, w vetor de pesos e w0 como a constante inicial, a função linear é representada por:

g(x) = wTx + w0    > 0 w1com resultado yi = +1 < 0 w2com resultado yi = −1 (3.3)

onde o hiperplano é representado por g(x) = 0.

Figura 11: (a) Hiperplano para separação das classes (b) Hiperplano ótimo para separação das classes

Fonte: (a) Adaptado deWEBB; COPSEY(2011). (b) Adaptado deDUDA; HART; STORK(2000)

Por mais que a classificação do SVM é realizada de forma linear, existem casos em que as amostras não são linearmente separáveis. Dessa forma, para que o SVM realize a classificação e a separação das classes são realizados 2 processos (WEBB; COPSEY, 2011;DUDA; HART; STORK, 2000;JAIN; DUIN; MAO, 2000):

1. Escolha da função Kernel: quando as amostras não são linearmente separáveis, a função Kernel é responsável por projetar as características, através de n-dimensões, até que a separação seja possível por meio de um hiperplano.

As funções mais utilizadas são: polinomial, função de base radial (Radial Basis Function - RBF) e Sigmoidal. Para cada uma das funções é necessário que sejam definidos os

parâmetros conforme a Tabela 2 (THEODORIDIS; KOUTROUMBAS, 2009). Tabela 2: Funções Kernel SVM

Kernel Função K(xi, xj)) Parâmetros

Polinomial δ(xixj) + c)d δ, c = termo independente, d = grau do polinô- mio

RBF e(−σ||xi−xj||2) σ

Sigmoidal tanh(δ(xixj) + c) δ, c = termo independente

Fonte: Elaborado pelo autor (2019)

Em um problema onde os dados estão distribuídos de forma com que não é possível a separação por meio de um hiperplano (Figura 12a) pode ser utilizada, por exemplo, a função kernelpolinomial de grau 2. Dessa forma, será gerada uma nova dimensão realizando o cálculo de cada amostra com a função kernel. Após o aumento da dimensionalidade, é possível determinar um hiperplano para a separação das amostras (Figura 12b).

Figura 12: Aumento da dimensionalidade com função kernel

Fonte: Towards Data Sciencea

a <https://towardsdatascience.com/the-kernel-trick-c98cdbcaeb3f>. Acesso em: 3 de Novembro de 2019

2. Definição dos vetores de suporte e hiperplano: os vetores de suporte são as amostras de diferentes classes mais próximas, mais difíceis de serem classificadas e que definem o início da margem entre as classes (DUDA; HART; STORK, 2000). Elas são selecionadas através da análise realizada sob todas as amostras, buscando a minimização do erro de classificação e a maximização da margem. É possível definir um erro tolerável na separação das classes, tornando a margem suave (soft margin), ou realmente definir que

não é possível ter erros de classificação (Figura 13). Este problema de otimização para encontrar o hiperplano ótimo é resolvido através do sistema de otimização de Lagrange (WEBB; COPSEY, 2011). Após a seleção dos vetores de suporte o hiperplano é definido no meio entre os dois vetores.

Figura 13: Exemplo da classificação do SVM conforme a utilização do parâmetro de erro. Margem restrita representado pelo γ = 100 e margem suave representado pelo γ = 0,01.

Fonte: Towards Data Sciencea

a <https://towardsdatascience.com/understanding-support-vector-machine-part-2-kernel-trick-mercers-theorem-e1e6848c6c4d>.

Acesso em: 3 de Novembro de 2019

3.1.5.2

Árvore de Decisão

A árvore de decisão é representada por uma estrutura de dados em formato de nodos (DUDA; HART; STORK, 2000). O nodo raiz e os nodos intermediários são as características (uma única característica pode ser dividida em mais que um nodo). As ligações entre os nodos são os valores respostas, indicando para qual lado o algoritmo irá seguir conforme a resposta da característica. As folhas (ou nodos terminais) são os resultados encontrados pelo fluxo da árvore de decisão (WEBB; COPSEY, 2011). Além disso, este método possui uma seleção de características embarcada, portanto a árvore de decisão é criada apenas com as características mais discriminativas para que o resultado esperado seja obtido (JAIN; DUIN; MAO, 2000). A construção das árvores de decisão possui três etapas (WEBB; COPSEY, 2011):

1. Definir uma regra de divisão de nodos intermediários: ou seja, como será realizada a divisão das características e seus valores. Portanto, para cada nodo é realizado o cálculo de impureza e o objetivo deste cálculo é que a cada nível da árvore os nodos sejam mais puros (sem erros);

2. Definir quais nodos são terminais (ou folhas): o objetivo é definir se será realizada a divisão de mais um nodo ou será definido como nodo terminal. Essa decisão é feita através da escolha da opção que possuir a menor taxa de erro de classificação;

3. Determinar os resultados dos nodos terminais: no problema de classificação de estresse, os resultados terminais serão os estados "Estressante" e "Normal";

Assuma um problema no qual o objetivo é classificar os diferentes tipos de frutas através das variáveis que podem ser extraídas como cor, tamanho, formato e sabor (Figura 14). Primeiro, os nodos (raiz e intermediários) que correspondem as características mais discriminativas são criados. No caso da classificação de uma banana, por exemplo, sabe-se que ela possui cor amarela e formato fino então, pode-se criar uma sequência de nodos intermediários para estas duas características e um nodo terminal para a classe banana (DUDA; HART; STORK, 2000). Este processo é realizado sucessivamente para as classes e características do problema.

Figura 14: Exemplo da estrutura de uma árvore de decisão

Fonte: Adaptado deDUDA; HART; STORK(2000)

Com o objetivo de melhorar a classificação deste algoritmo, é possível utilizar diversas árvores de decisão. Neste método, conhecido como Random Forest - RF (WEBB; COPSEY, 2011), são criadas n árvores diferentes a partir de amostragens do conjunto dos dados originais (bootstrap). A decisão é realizada através dos votos da maioria das árvores.

3.1.5.3

K-vizinhos mais próximos

Esta técnica é baseada no conceito de similaridade e proximidade. Quando houver a inserção de uma nova amostra, o algoritmo irá identificá-la pertencente a classe da maioria das amostras mais próximas (conforme parâmetro de quantas amostras serão avaliadas) (TRIGUERO et al., 2016). Para o funcionamento do KNN é necessário que algumas especificações iniciais sejam realizadas (WEBB; COPSEY, 2011):

1. Medida de Distância: geralmente a distância euclidiana é utilizada para determinar o espaço entre a nova amostra e todas as amostras do modelo. Sendo N a quantidade de amostras de referência, a distância é calculada conforme fórmula:

dEuclidiana = v u u t N X i=1 (xi− yi)2 (3.4)

2. Número de vizinhos (k): define quantos pontos mais próximos conforme a medida de distância devem ser utilizados para definir a classe da nova amostra. No problema de classificação de duas classes mostrado na Figura 15, se assumirmos que k = 3, a nova amostra representada pela estrela seria classificada como estresse pois é realizada a votação da maioria através das amostras mais próximas (onde existem duas amostras da classe "estresse"). No caso da parametrização k = 6, a nova amostra seria classificada como "normal" devido a maioria das amostras próximas serem desta classe.

Figura 15: Inserção de amostra no espaço do algoritmo KNN

Fonte: Adaptado de Mediuma

a Disponível em: <https://medium.com/brasil-ai/

knn-k-nearest-neighbors-1-e140c82e9c4e>. Acesso em 13 de Junho de 2019.

Documentos relacionados