Lista de Tabelas
Capítulo 1 Introdução
2.2 Principais Modelos
2.2.1 Modelos de Classificação
particular, trazendo então uma aproximação dos resultados mais flexível, já que determina 𝑓(𝑋𝑖) a partir de uma família de funções. Como pode-se observar por:
𝑌𝑖 =𝑓(𝑋𝑖) +𝜖𝑖 (2.2)
Percebe-se que, graças a falta de dadosa priori a função𝑓() é menos especificada, o que dificulta o ajustamento e exibição do modelo de regressão geral quando existem muitas variáveis explicativas. Em outros termos, quanto maior a parte sistemática do modelo de regressão não-paramétrico, menos explicativo e interpretativo são os parâmetros.
Outra maneira de dividir a tipologia de um modelo de regressão é em relação à escala de mensuração de sua variável resposta. Para modelos em que a variável resposta é do tipo categórica, ou seja, quando a mesma apresenta como possíveis realizações um atributo, sob o contexto de aprendizagem de máquinas, este tipo de modelo é dito como classificatório. Já, em situações na quais o modelo tem como variável resposta uma escala de mensuração quantitativa, contínua ou discreta, sob o contexto de aprendizagem de máquinas é denotado apenas como modelo de regressão, podendo assim ser utilizado para predição de resultados.
Assim, a conexão entre IA e estatística, fez surgir o Aprendizado Estatístico. Nele, os modelos são otimizados por um processo árduo de treinamento e teste sobre sua bon-dade no ajustamento dos dados. Quando, modelos de regressão e classificação são treina-dos na presença de covariáveis𝑋𝑖e repostas𝑌𝑖, dizemos que o o processo de aprendizagem foi supervisionado. Enquanto, em situações que dispomos apenas de uma amostra com covariáveis 𝑋𝑖, ou temos o interesse de comparar amostras distintas, sem treinamento prévio, diz-se que o aprendizado se deu sem supervisionamento. Neste caso, o interesse é aprender algo sobre a estrutura das covariáveis, ou da nova amostra teste.
forma mais próxima possível das situações naturais. Esse processo pode ocorrer de duas maneiras: supervisionada, que é quando o modelo de classificação é selecionado a partir da precisão em identificar os atributos de maneira correta, dado que existe uma amostra teste disponível para verificarmos essa precisão; e não supervisionada, que é quando têm-se apenas as variáveis explicativas, e detêm-sejamos fazer inferência a cerca dos grupos de resposta, com base em alguma informação a priori.
Na literatura, existem vários modelos de classificação, aos quais consideram dife-rentes níveis de abordagem, como lineares, não lineares, heurísticos, exatos, entre outros.
Neste trabalho, trabalhamos com oito modelos de classificação: KNN, LDA, QDA, Árvore de decisão, Florestas Aleatórias, SVM, Regressão Multinomial e Redes Neurais. Estes, podem ser resumidamente definidos como:
∙ KNN: Conhecido também como método dos k-vizinhos mais próximos (k Nearest Neighbor), este é o método de aprendizagem baseado em instâncias mais elementar.
O algoritmo k–NN assume que todas as instâncias correspondem a pontos em um espaço n–dimensional. Em suma, como ilustrado na Figura 3.2, KNN é um algo-ritmo simples, que agrupa ou que condensa as observações com seus vizinhos mais proximos através de medidas de similaridade a fim de realizar previsões para novas observações. O valor de k é um fator crítico aqui quanto à precisão da predição.
Ele determina o mais próximo ao calcular a distância usando funções básicas de distância como a Euclidiana.
Figura 2.2: Exemplo Modelo KNN.(Fonte: Próprio Autor)
∙ LDA: A Análise Discriminante Linear (Linear Discriminant Analysis) ou simples-mente LDA, é um modelo derivado da Análise Discriminante desenvolvida por Fisher em 1936, que visa encontrar uma transformação linear através da maximização da distância entre-classes e minimização da distância intra-classe. O LDA surge como caso especial quando é suposto que as classes tenham uma matriz de variância e covariância comum, isto é, Σ𝑖 = Σ, ∀ 𝑖. Supondo que a densidade da variável de resposta seja modelada através de uma distribuição Normal Multivariada, seu algo-ritmo busca a melhor direção de maneira que quando os dados são projetados em um plano, as classes possam ser separadas em distribuições Nomais Univariadas.
Conforme ilustrado na Figura 2.3 desta seção.
Figura 2.3: Exemplo Modelo LDA.(Fonte: Próprio Autor)
∙ QDA: considerado uma generalização ao modelo LDA, pois agora assume matrizes de variância e covariância diferentes para cada classe, temos que a Análise Discrimi-nante Quadrática (QDA) possui estimadores estáveis e assim como o LDA, Maxi-miza o log-verossimilhança baseado na densidade conjunta e tem função quadrática discriminante para a c-ésima classe é dada por:
𝐷𝑐(𝑋) = 𝑙𝑜𝑔(𝜋𝑐)−1
2𝑙𝑜𝑔|Σ𝑐| − 1
2(𝑋−𝜇𝑐)′Σ−1𝑐 (𝑋−𝜇𝑐) (2.3)
∙ Árvore de Decição: É um modelo não-paramétrico que consiste em uma estrutura e dados formadas por um conjunto de elementos que armazenam informações, cha-madas nós. Toda árvore possui um nó chamado raiz, que possui o maior nível hierárquico (o ponto de partida) e ligações para outros elementos, denominados filhos. Esses filhos podem possuir seus próprios filhos que por sua vez também pos-suem os seus. Entretanto existem nós que não pospos-suem filhos, e são conhecidos como nós folha ou terminal. Em uma árvore de decisão, as respostas são dadas através do caminhamento a partir do nó raiz até o nó folha. Em uma árvore de de-cisão o valor esperado é obtido através do somatório da ponderação dos resultados em cada alternativa considerada, multiplicado pela sua probabilidade de ocorrência.
Em outras palavras, o valor esperado de uma determinada alternativa de decisão é o produto do valor final esperado da situação pela sua probabilidade de ocorrência.
Em suma, como ilustrado na Figura 3.4, uma árvore de decisão nada mais é que um fluxograma que armazena regras em seus nós, e os nós folhas representam a decisão a ser tomada.
Figura 2.4: Exemplo Árvore de Decisão.(Fonte: Próprio Autor)
∙ Florestas Aleatórias: É uma modelo não paramétrico em que seu algoritmo de aprendizagem de máquina é flexível e fácil de usar. Apesar de não trabalhar com ajuste de hiperparâmetros, via de regra, é um método que apresenta bons resultados.
Seu algoritmo consiste em criar uma combinação (ensemble) de árvores de decisão, na maioria dos casos treinados com o método de bagging. A idéia principal do método de bagging é que a combinação dos modelos de aprendizado aumenta o resultado geral. De maneira mais simples, o algoritmo de florestas aleatórias cria várias árvores de decisão e as combina para obter uma predição com maior precisão e maior estabilidade.
Geralmente um classificador de floresta aletória contém todos os hiperparâmetros:
os de uma árvore de decisão e também os de um classificador de bagging. Ambos são utilizados para controlar a combinação de árvores. Sendo assim, ao invés de construir um classificador bagging e tranformá-lo em um classificador de árvore de decisão, pode-se utilizar a classe da floresta aleatória, que é mais conveniente e otimizada para árvore de decisões. Com isso, o algoritmo de floresta aleatória garante uma
"aleatoriedade extra"ao modelo quando está criando as árvores. Pois, em vez de procurar pela melhor característica ao fazer a partição de nós, ele busca a melhor característica em um subconjunto aleatório das características. Este processo cria uma grande diversidade, o que geralmente leva a geração de modelos melhores.
Portanto, quando se está criando uma árvore no floresta aleatória, apenas um sub-conjunto aleatório das características é considerada na partição de um nó. Essa sua simplicidade aliada ao fato de que pode ser utilizado para tarefas de classificação e também de regressão, e ainda assim ser uma boa opção para provê indicadores de importância para as características, torna o modelo bastante atrativo e usual na industria. Para ilustrar sua interpretação gráfica podemos observar a Figura 3.5 abaixo, na qual está representada uma floresta aleátoria com duas árvores:
Figura 2.5: Exemplo Floresta Aleatória.(Fonte: Próprio Autor)
∙ SVM(Support Vector Machines): é um modelo que vem recebendo crescente atenção nos últimos anos. Utilizada em diversas tarefas de reconhecimento de padrões, essa técnica é embasada em teoria de aprendizado estatístico. Introduzido por Boser, Guyon, Vapnik em 1992, os conceitos de SVM abrangem conhecimentos matemáticos básicos em áreas como o cálculo, geometria vetorial e multiplicadores de Lagrange.
Segundo Smola(1996), algumas das principais características de SVM que tornam seu uso atrativo são: Boa capacidade de generalização: ou seja, alta eficiência na classificação de dados que não pertençam ao conjunto utilizado em seu treinamento;
Robustez em grandes dimensões: ou seja, diante de objetos de grandes dimensões, seu uso minimiza a presença deoverfitting nos classificadoes; Convexidade da função objetivo: de maneira mais simples, significa que a função quadrática é otimizada, evitando mínimos locais; E por fim, teoria bem definida: as SVMs possuem uma base teórica bem estabelecida dentro da Matemática e Estatística.
O objetivo de um SVM é encontrar o hiperplano de separação ideal o qual maximiza a margem da base de treinamento. Em outras palavras, a idéia consiste em separar os pontos de dados usando uma linha. Linha esta, escolhida de tal forma, que será a mais adequada para separar, de maneira homogenea, os dados em duas categorias.
Para ilustrar esse conceito a Figura 2.6 trás um exemplo de construção do conceito de SVM, no qual a linha de separação das categorias é a linha em vermelho.
Percebe-se que entre a linha vermelha existem classificadores lineares. A
forma-ção dessa linha nem sempre é trivial, e para construí-la é necessário entender os princípios de margem de separação e fronteira de desição.
Margem de separação é o dobro da distância entre o hiperplano e o ponto próximo.
Analisando a Figura 2.6 seria duas vezes o valor de "d". Essa margem pode ser ditas como Rígidas: quando definem fronteiras lineares a partir de dados linearmente separáveis, Flexíveis: quando os dados não são linearmente separáveis.
Já, fronteira de decisão é definida através da saída de um função 𝑓(𝑥), conhecida no ponto zero , na qual:
𝑔(𝑥) = 𝑔(𝑓(𝑥)) =
⎧
⎪⎨
⎪⎩
+1, se𝑓(𝑥)>0
−1, se𝑓(𝑥)<0
(2.4) Onde, 𝑔(𝑥) é uma função capaz de predizer a classe de novos pontos (x, 𝑦) de forma exata. Para 𝑥𝑖 o vetor de observações do i-ésimo item, e 𝑦 o rótulo correspondente, que assume valores -1 ou 1. Em suma, fronteira de decisão é a função a qual define-se o limite sob o qual x passa a pertencer a uma determinada classe. No caso de SVM, a fronteira de decisão é o próprio hiperplano.
Figura 2.6: Exemplo SVM.(Fonte: Próprio Autor)
Entretanto em situações que as margens são flexíveis, a divisão dos dados de trei-namento por um hiperplano não é tão simples assim. Para realizar essa tarefa são definidas funções reais 𝜑1, 𝜑2, ..., 𝜑𝑛 no domínio do espaço de entrada. Por meio des-tas funções, mapea-se o conjunto de treinamento para um novo, denominadoespaço de características. As funções 𝜑𝑖 podem ser não lineares, porém, se escolhidas ade-quadamente, elas tornam o conjunto de treinamento linearmente separável. Com a
utilização das funções 𝜑𝑖 o algoritmo de determinação do hiperplano no espaço de características fica da seguinte forma (Haykin, 1999):
1. Para qualquer conjunto de treinamento: 𝜑(𝑆) ={(𝜑(𝑥𝑖), 𝑦𝑖)}, para i = 1,2,3...,n 2. Seja 𝛼* = (𝛼*𝑖) a solução do problema de otimização com restriçõs:
3. Maximizar ∑︀𝑛𝑖=1𝛼𝑖− 12∑︀𝑛𝑖=1∑︀𝑛𝑗=1𝑦𝑖𝑦𝑗𝛼𝑖𝛼𝑗𝜑(𝑥𝑖)𝜑(𝑥𝑗) 4. Sob as restrições:
⎧
⎪⎨
⎪⎩
∑︀𝑛
𝑖=1𝑦𝑖𝛼𝑖 = 0
∑︀𝑛
𝑗=1𝑦𝑖𝛼𝑗 = 0
5. O par (𝑤*, 𝑏*) apresentado a seguir expressa o hiperplano ótimo.
6. 𝑤* ←∑︀𝑛𝑖=1𝑦𝑖𝛼*𝑖𝜑(𝑥𝑖)
7. 𝑏* ← −12[︁𝑚𝑖𝑛{𝑖/𝑦𝑖=+1}(𝑤*𝜑(𝑥𝑖)) +𝑚𝑎𝑥{𝑖/𝑦𝑖=−1}(𝑤*𝜑(𝑥𝑖))]︁
Desta forma, percebe-se que a única informação realmente necessária para o mape-amento 𝜑 é uma definição de como o produto interno𝜑(𝑥𝑖)𝜑(𝑥𝑗) pode ser realizado, para quaisquer par (𝑥𝑖, 𝑥𝑗) pertencentes ao espaço de entradas. Para esta definição se faz necessário utilizar alguma função Kernel (Haykin, 1999).
Kernel é uma função que recebe dois pontos 𝑥𝑖e𝑥𝑗 do espaço de entradas e computa o produto escalar 𝜑(𝑥𝑖)𝜑(𝑥𝑗) no espaço de características. Ou seja: 𝐾(𝑥𝑖, 𝑥𝑗) = 𝜑(𝑥𝑖)𝜑(𝑥𝑗) (Smola, 1999).
Alguns dos Kernels mais utilizados são os polinomiais, os Gaussianos e os Sigmoidais (Logísticos), apresentados na tabela abaixo:
Tipos de Kernel Função𝐾(𝑥𝑖, 𝑥𝑗) correspondente Comentários
Polinomial (𝑥𝑇𝑖 𝑥𝑗 + 1)𝑝 A potência𝑝 deve ser especificada Gaussiano 𝑒𝑥𝑝(−2𝜎12||𝑥𝑖−𝑥𝑗||2) A amplitude 𝜎2 deve ser especificada Sigmoidal 𝑡𝑎𝑛ℎ(𝛽0𝑥𝑖.𝑥𝑗 +𝛽1) Somente em situações específicas
∙ Regressão Multinomial: Antes de definir uma regressão multinomial, deve-se pri-meiramente compreender o que é um modelo de regressão logística.
Usada no contexto em que a variável resposta representa a ocorrência ou não de um evento , ou seja, natureza binária e consequentemente essa média estaria limitada entre 0 e 1. Assim, um candidato natural é a função acumulada da distribuição logistica (função de tolerância) em sua forma padrão e relacionando-se na escala das variáveis preditoras tem-se o modelo de regressão logístico:
𝑙𝑜𝑔
{︃ 𝜋(𝑥) 1−𝜋(𝑥)
}︃
=𝛽0+𝛽𝑖X (2.5)
Onde, 𝜋(𝑥), no nosso caso, é a probabilidade de encontrar um item não-conforme dado o valor de 𝑥, e𝛽0 e 𝛽𝑖 são os parâmetros desconhecidos.
O modelo logístico tem se constituído em um dos principais métodos de modelagem estatística de dados devido sua facilidade na interpretação dos parâmetros (em ter-mos de razão de chance) e possibilidade de discriminar e classificar objetos (análise discriminante)
Considerando um conjunto de variáveis ou preditoras independente, o modelo logís-tico é:
𝐸(𝑌 /𝑋) = 𝑒𝑥𝑝(𝛽′𝑋)
1 +𝑒𝑥𝑝(𝛽′𝑋) (2.6)
De forma que percebe que para 𝛽 > 0 a chance de obter um item não conforme aumenta com o aumento de X, e em contra-partida se 𝛽 <0 a chance de obter um item não conforme diminui com o aumento de X.
Desta maneira, a regressão multinomial pode ser vista como uma extensão do modelo logístico, em situações nas quais a variável dependente tem múltiplas categorias.
De maneira análoga à equação 2.16, no modelo multinomial, as equações geram probabilidades para predizer se uma categoria está acima/abaixo da categoria de referência.
∙ Redes Neurais: É uma técnica computacional que apresenta um modelo matemático inspirado na estrutura neural de organismos inteligentes e que adquirem conheci-mento através da experiência. Uma grande rede neural artificial pode ter centenas ou milhares de unidades de processamento. Foi através de McCulloch e Pitts (1943), Hebb (1949), e Rosemblatt (1958) que os conceitos de redes neurais foram introdu-zidos. Seus trabalhos apresentaram o primeiro modelo de redes neurais simulando
“máquinas”, o modelo básico de rede de auto-organização, e o modelo Perceptron de aprendizado supervisionado, respectivamente.
Um modelo em rede neural é composto por inúmeras unidades de processamento, cuja funcionabilidade é bastante simples. Essas unidades, geralmente estão conec-tadas por canais de comunicação associados a determinado peso. As unidades exe-cutam operações apenas sobre seus dados locais, que são entradas recebidas pelas suas conexões. O comportamento inteligente de uma Rede Neural Artificial vem das interações entre as unidades de processamento da rede.
Para tornar mais claro o entendimento à respeito da operação de uma unidade de processamento, apresentamos o algoritmo da proposta de McCullock e Pitts (1943), e o ilustramos através da Figura 2.7 a seguir:
1. Sinais são apresentados à entrada;
2. Cada sinal é multiplicado por um número, ou peso, que indica a sua influência na saída da unidade;
3. É feita a soma ponderada dos sinais que produz um nível de atividade;
4. Se este nível de atividade exceder um certo limite (threshold) a unidade produz uma determinada resposta de saída.
Figura 2.7: Esquema de unidade McCullock - Pitts.(Fonte: McCullock - Pitts(1943)) A partir da Figura 2.8, sejam p sinais de entradas𝑋1, 𝑋2, .., 𝑋𝑃, com seus respectivos pesos𝑊1, 𝑊2, ..., 𝑊𝑃 e um limitador𝑡. Cada sinal emitido assume valores booleanos (0 ou 1) e à seus pesos são atribuídos valores reais. Sendo assim, o nível de atividade é medido da seguinte forma:
𝑎=𝑊1𝑋1+𝑊2𝑋2+...+𝑊𝑃𝑋𝑃 (2.7) Portanto, a saída 𝑦 do modelo é dada por:
y =
⎧
⎪⎨
⎪⎩
1, se𝑎≥𝑡 0, se𝑎 < 𝑡
A maioria dos modelos de redes neurais possui alguma regra de treinamento, onde os pesos de suas conexões são ajustados de acordo com os padrões apresentados.
Em outras palavras, elas aprendem através de exemplos (McCullock - Pitts, 1943).
Arquiteturas neurais são normalmente organizadas em camadas, com unidades que podem estar conectadas às unidades da camada posterior. Como ilustrado na Figura 2.8, as camadas são classificadas em três grupos(McCullock - Pitts, 1943):
– Camada de Entrada: onde os padrões são apresentados à rede;
– Camadas Intermediárias ou Escondidas: onde é feita a maior parte do pro-cessamento, através das conexões ponderadas; podem ser consideradas como extratoras de características;
– Camada de Saída: onde o resultado final é concluído e apresentado.
Figura 2.8: Exemplo de Organização de Camadas(Fonte: Próprio Autor)