Commit accca23e authored by bbguimaraes's avatar bbguimaraes
Browse files

Fixed space around figures and tables.

Moved all "vspace" commands from around to inside the "figure" and
"table" environments, to move them together when needed. Before, the
environment would be moved, but the space would remain, causing
whitespace to appear between the paragraphs.
parent 3dd20c43
......@@ -9,8 +9,8 @@ Os primeiros trabalhos basearam-se em paradigmas como o das Redes Imunológicas
Os algoritmos modernos são inspirados em três campos principais: seleção clonal, seleção negativa e redes imunológicas. Esse tipo de sistema é comummente aplicado a problemas de detecção de padrões, classificação, otimização, \emph{clustering} e outros domínios de aprendizagem de máquina.
\vspace{0.5cm}
\begin{table}[h]
\vspace{0.5cm}
\centering
\caption{Trabalhos recentes na área de Sistema Imunológico Natural}
\label{ais:recent}
......@@ -30,8 +30,8 @@ Os algoritmos modernos são inspirados em três campos principais: seleção clo
\end{tabular}
\vspace{0.5cm}
\\ Fonte: \citet{Dasgupta2010}.
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
A última década mostrou um grande aumento no interesse pelos algoritmos baseados em sistemas imunológicos por serem uma boa fonte de inspiração para novas abordagens para solução de problemas complexos. O sistema imunológico natural oferece metáforas ricas pelo fato de ser um sistema altamente distribuído, adaptativo e auto-organizável, além de suas capacidades de aprendizado, memorização, extração de características e reconhecimento de padrões. A tabela \ref{ais:recent} (inspirada em \citet{Dasgupta2010}) mostra uma lista dos algoritmos utilizados nos trabalhos recentes na área.
......@@ -193,8 +193,8 @@ A modelagem de um problema como um Sistema Imunológico Artificial requer a defi
A codificação é uma etapa essencial na definição de um Sistema Imunológico Artificial. Ela afeta toda modelagem do sistema, em especial a medida de similaridade, e pode ser responsável pelo seu sucesso ou falha. Os dois principais agentes do sistema imunológico, antígenos e anticorpos, são também os principais elementos que devem ser modelados. Eles são comumente representados da mesma forma.
\vspace{0.5cm}
\begin{table}[h]
\vspace{0.5cm}
\centering
\caption{Mapeamento das estruturas do sistema imunológico}
\label{tab:ais_map}
......@@ -213,8 +213,8 @@ A codificação é uma etapa essencial na definição de um Sistema Imunológico
\end{tabular}
\vspace{0.5cm}
\\ Fonte: \cite{Andrew2003}.
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
Um antígeno é uma parte do objetivo ou solução da aplicação, que pode ser único ou um parte de um conjunto-solução. Os anticorpos são o resto dos dados, normalmente a base de dados já existente, e geralmente existem em grande quantidade. Em uma aplicação de detecção de intrusão, por exemplo, o antígeno poderia ser o conjunto de dados que define um tráfego de dados, e os anticorpos, os conjuntos de dados que já foram identificados como transações legais. Na maioria dos problemas, a representação desses dois elementos é feita através de um vetor de números ou de características. Cada posição desse vetor representa uma característica da instância. Os tipos mais comuns de dados são números (inteiros ou reais), \emph{strings} e valores binários.
......@@ -291,8 +291,8 @@ Os formalismos do espaço de formas e topologia de afinidade são dois paradigma
Dados um anticorpo \emph{ab} e um antígeno \emph{ag} é criado um vetor onde as características relacionadas à ligação entre esses dois são discretizadas e transformadas em valores reais. Os parâmetros no trabalho original representavam características físicas, como a estrutura geométrica, carga eletrostática, entre outras. Assim, a interação \emph{ab-ag} pode ser definida como um ponto em um espaço vetorial Euclidiano \emph{S} de \emph{n} dimensões, onde \emph{n} é o número de características que compõem o vetor. Uma representação do espaço de estados, adaptada de \citet{Brownlee2007} é apresentada na Figura \ref{img:space}.
\vspace{0.5cm}
\begin{figure}[h!]
\vspace{0.5cm}
\centering
\caption{Diagrama do formalismo do espaço de estados}
\label{img:space}
......@@ -300,8 +300,8 @@ Dados um anticorpo \emph{ab} e um antígeno \emph{ag} é criado um vetor onde as
\includegraphics[width=0.75\textwidth]{img/space.png}
\vspace{0.5cm}
\\ Fonte: \cite{Brownlee2007}.
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
O espaço de formas é um hipercubo de volume V. Cada anticorpo é definido como uma área de reconhecimento nesse espaço ($\epsilon$). Na definição original, essas áreas de reconhecimento eram funções Gaussianas. A distância euclidiana entre \emph{ab} e \emph{ag} é considerada como a `afinidade' ou `medida de complementaridade'. Para isso, a natureza complementar dos anticorpos e antígenos é ignorada: uma ligação perfeita é considerada quando \emph{ab == ag}, ao contrário de \emph{ab != ag}. Anticorpos possuem uma hiper-região de reconhecimento, onde antígenos podem gerar uma resposta imune.
......@@ -360,8 +360,8 @@ Os resultados dos algoritmos apresentados nas seções anteriores foram comparad
Para os algoritmos tradicionais, foram escolhidos aqueles que são comumente usados na área de mineração de dados. Em especial, os algoritmos genéticos, que têm características semelhantes aos imunológicos, já que ambos têm inspiração na biologia.
\iffalse atualizar tabela \fi
\vspace{0.5cm}
\begin{table}[h]
\vspace{0.5cm}
\centering
\caption{Algoritmos utilizados para comparação}
\label{tbl:ais_algs}
......@@ -378,8 +378,8 @@ Para os algoritmos tradicionais, foram escolhidos aqueles que são comumente usa
Learning Vector Quantization & \\
\hline
\end{tabular}
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
Nas próximas seções, será mostrada a aplicação de três algoritmos baseados no sistema imunológico natural a conjuntos de dados de fraudes. Os resultados são então comparados com algoritmos tradicionais da inteligência artificial.
......
......@@ -94,16 +94,16 @@ A11,24,A33,A40,4870,A61,A73,3,A93,A101,4,A124,53,A143,A153,2,A173,2,A191,A201,2
Com os arquivos no formato ARFF, os conjuntos de dados podem ser importados no WEKA. A figura \ref{fig:dev_weka_arff} mostra o conjunto de dados \emph{Cr.Ger} quando importado. Um conjunto de dados importado pode ser utilizado para qualquer algoritmo que suporte os tipos de atributos contidos nele.
\vspace{0.5cm}
\begin{figure}[h!]
\vspace{0.5cm}
\centering
\caption{Conjunto de dados \emph{Cr.Ger importado no WEKA}}
\label{fig:dev_weka_arff}
\vspace{0.5cm}
\includegraphics[width=0.75\textwidth]{img/cr_ger.png}
\vspace{0.5cm}
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
\section{Utilizando o WEKA}
......@@ -224,14 +224,14 @@ Existem formas de amenizar o efeito da explosão combinatória desses métodos.
Além do módulo \emph{Explorer}, para execução de testes, o WEKA apresenta um módulo para configuração e execução de experimentos, chamado \emph{Experimenter} (figura \ref{fig:dev_weka_experimenter}). Esse módulo facilita a criação de experimentos, criando um arquivo de configuração onde são descritas as etapas, que pode ser utilizado para reproduzir o experimento usando as mesmas configurações.
\begin{figure}[h!]
\vspace{0.5cm}
\vspace{0.5cm}
\centering
\caption{Experimenter}
\label{fig:dev_weka_experimenter}
\vspace{0.5cm}
\includegraphics[width=0.75\textwidth]{img/experimenter.png}
\vspace{0.5cm}
\vspace{0.5cm}
\vspace{0.5cm}
\end{figure}
A configuração do \emph{Experimenter} pode ser dividida nas seções:
......@@ -333,8 +333,8 @@ Todos os algoritmos utilizados para comparação com os algoritmos imunológicos
\iffalse add value of default parameters \fi
\vspace{0.5cm}
\begin{figure}[h]
\vspace{0.5cm}
\centering
\caption{Algoritmos no WEKA}
\label{fig:dev_weka_algos}
......@@ -342,12 +342,11 @@ Todos os algoritmos utilizados para comparação com os algoritmos imunológicos
\includegraphics[height=0.5\textheight]{img/weka_algos_cropped.png}
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
Esses algoritmos podem ser dividos em 5 categorias de algoritmos: árvores de decisão, redes neurais artificiais, redes Bayesianas, \emph{support vector machine} e imunológicos. Na tabela \ref{tbl:dev_algs} são apresentados os mesmo algoritmos, organizados pela categoria a que pertencem.
\vspace{0.5cm}
\begin{table}[h]
\vspace{0.5cm}
\centering
\caption{Algoritmos utilizados para comparação}
\label{tbl:dev_algs}
......@@ -372,8 +371,8 @@ Esses algoritmos podem ser dividos em 5 categorias de algoritmos: árvores de de
& Seleção Clonal (CLONALG) \\
\hline
\end{tabular}
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
\subsection{Redes neurais artificiais}
......@@ -711,8 +710,8 @@ Como pode ser visto, o algoritmo não tem um número de iterações definido. Co
Utilizando o valor padrão do parâmetro (0.9), os testes demoravam um tempo proibitivo para serem executados. Foram feitos testes utilizando vários valores, para determinar um valor que fosse aceitável dado o tempo disponível para a execução dos experimentos. Os resultados desses testes são mostrados na tabela \ref{tbl:dev_airs_times}. Cada linha representa uma execução, onde o parâmetro \emph{stimulation threshold} assumiu o valor indicado e todos os outros tinham o valor padrão do algoritmo. Ao lado de cada linha, é mostrado o tempo de execução do teste.
\vspace{0.5cm}
\begin{table}[h]
\vspace{0.5cm}
\scriptsize
\centering
\caption{Tempo de execução dos testes do AIRS}
......@@ -730,8 +729,8 @@ Utilizando o valor padrão do parâmetro (0.9), os testes demoravam um tempo pro
0.89375 & 2m52.582s \\
0.896875 & 92m5.210s \\
\end{tabular}
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
O tempo de execução aumentava exponencialmente conforme o valor do parâmetro alcançava o valor padrão de 0.9. Por isso, para os testes, foi usado o valor 0.8 para esse parâmetro, que é baixo o suficiente para manter o tempo de execução em uma faixa aceitável mas alto o suficiente para não comprometer os resultados.
......@@ -739,8 +738,8 @@ O tempo de execução aumentava exponencialmente conforme o valor do parâmetro
Os testes foram executados para todos os algoritmos, usando as configurações descritas nas seções anteriores. A tabela \ref{tbl:dev_exec_summary} mostra um resumo das execuções. As colunas dessa tabela representam, da esquerda para a direita, a categoria do algoritmo, o algoritmo, o número de execuções do experimento, o número de \emph{folds} utilizado no \emph{cross-validation}, o número total de execuções do algoritmo e os parâmetros testados. Essa última coluna utiliza a sintaxe do \emph{CVParameterSelection} para descrição dos parâmetros, onde são indicados o nome do parâmetro, os valores mínimos e máximos que serão testados e o número de valores testados.
\vspace{0.5cm}
\begin{table}[h]
\vspace{0.5cm}
\scriptsize
\centering
\caption{Resumo das execuções}
......@@ -779,8 +778,8 @@ Os testes foram executados para todos os algoritmos, usando as configurações d
& & & & & B & 0.1 & 0.5 & 5 \\
\hline
\end{tabular}
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
Todos os testes foram executados em uma mesma máquina, serialmente, e a máquina não foi utilizada para nenhum outro processamento durante os testes. Isso foi feito para que não houvesse interferência externa ou interna nos resultados. As configurações da máquina relevantes para o experimento são mostradas na tabela \ref{tbl:dev_machine_specs}. É importante notar nesse tipo de experimento que é impossível isolar um sistema computacional completamente.
......@@ -788,8 +787,8 @@ Uma técnica comumente usada é executar os testes repetidas vezes, escolhendo p
Foi utilizado o código padrão presente na versão 3.6.1 do WEKA. As únicas exceções são as descritas na seção \ref{sec:dev_weka_issues}, mas essas alterações não têm impacto sobre a performance dos algoritmos.
\vspace{0.5cm}
\begin{table}[h]
\vspace{0.5cm}
\scriptsize
\centering
\caption{Configurações da máquina onde os testes foram executados}
......@@ -803,8 +802,8 @@ Foi utilizado o código padrão presente na versão 3.6.1 do WEKA. As únicas ex
Processador & Intel Pentium E2200 @2.20GHz \\
Memória & DDR2 800MHz 1024Mb \\
\end{tabular}
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
\subsection{Resultados por conjunto de dados}
......
......@@ -120,9 +120,9 @@ Como exemplo, inspirado em \citet{Bewick2004}, é apresentado nessa seção um s
Esse sistema de testes utiliza como único critério de avaliação o número de ocorrências. Um \emph{limiar de classificação} é definido: um parâmetro que o sistema de detecção utilizará para guiar a previsão da detecção. Se o limiar de classificação fosse 1, todas as instâncias que tivessem mais de uma ocorrência (nos valores de exemplo, as instâncias 0 e 2) seriam consideradas fraudulentas.
\vspace{0.5cm}
\renewcommand{\arraystretch}{1.5}
\begin{table}[h]
\vspace{0.5cm}
\centering
\caption{Exemplo de resultado}
\label{fraud:ex}
......@@ -136,8 +136,8 @@ Esse sistema de testes utiliza como único critério de avaliação o número de
\cline{2-5}
& \multicolumn{1}{c|}{Total} & 400 & 1200 & \multicolumn{1}{|c}{1600} \\
\end{tabular}
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
Um exemplo do resultado de um teste nesse sistema é mostrado na tabela \ref{fraud:ex}. As colunas sob ``Dados reais'' mostram o número de instâncias fraudulentas e legítimas; as linhas sob ``Saída'' mostram a classificação gerada pelo sistema. A partir desses dados, a avaliação dos resultados é feita usando dois conceitos: sensibilidade e especificidade.
......@@ -145,9 +145,9 @@ Um exemplo do resultado de um teste nesse sistema é mostrado na tabela \ref{fra
A avaliação dos classificadores binários é feita com base em uma \emph{matriz de confusão}, conforme mostrado na tabela \ref{fraud:confusion}. Nessa tabela são listados o número de valores (ou porcentagem) para cada combinação de saída do sistema e a classificação real. Instâncias corretamente classificadas ocupam as colunas Positivo e Negativo, enquanto instâncias cujo classificação difere da realidade ocupam as colunas ``Falsos positivos'' e ``Falsos negativos''.
\vspace{0.5cm}
\renewcommand{\arraystretch}{1.5}
\begin{table}[h]
\vspace{0.5cm}
\centering
\caption{Matriz de confusão}
\label{fraud:confusion}
......@@ -159,8 +159,8 @@ A avaliação dos classificadores binários é feita com base em uma \emph{matri
& \multicolumn{1}{c|}{Positivo} & Positivo & Falso positivo\\
& \multicolumn{1}{c|}{Negativo} & Falso negativo & Negativo\\
\end{tabular}
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
Como o conjunto de dados possui apenas duas classes, a matriz de confusão é $2 x 2$, mas o número de linhas e colunas pode ser maior, sendo igual ao número de classes. Todos os principais indicadores podem ser extraídos através da matriz de confusão, fazendo dela uma forma sucinta de apresentação dos resultados.
......@@ -213,8 +213,8 @@ Desses valores, pode-se atestar a utilidade do método para classificação. Uma
Os dados de teste do exemplo mostrados nas tabelas até agora consideraram apenas um valor como limiar de classificação. Mudanças nesse limiar afetam a precisão dos testes: caso o limiar seja seja igual a -1, todas as instâncias são classificadas como fraudulentas, já que todas possuem como número de ocorrências um número maior ou igual a zero. Por outro lado, caso o limiar seja um número maior do que qualquer uma das instâncias, todas serão classificadas como legítimas. Em sistemas reais, é comum que sejam testados diversos valores para esse limiar sobre uma mesma base de dados, para que o melhor seja identificado e usado no sistema final. A tabela \ref{fraud:youden} é um exemplo de resultados para esse tipo de teste.
\vspace{0.5cm}
\begin{table}[h!]
\vspace{0.5cm}
\centering
\caption{Exemplo de resultados para testes comparativos de limiares}
\label{fraud:youden}
......@@ -235,8 +235,8 @@ Os dados de teste do exemplo mostrados nas tabelas até agora consideraram apena
\end{tabular}
\vspace{0.5cm}
\\ Fonte: inspirado em \citet{Bewick2004}.
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
Uma medida para a avaliação dos diferentes limiares pode ser a sensibilidade e especificidade. O índice de Youden (J), que é uma derivação desses valores, é uma medida apropriada nesses casos (eq. \ref{fraud:yindex}). Esse índice é um valor normalizado na faixa [0, 1], onde 1 significa um teste perfeito, classificando todas as instâncias corretamente; e 0 significa um teste sem valor nenhum. A tabela \ref{fraud:yindex} mostra os valores para os resultados com diversos limiares. É importante notar como valores extremos maximizam a sensibilidade e a especificidade, mas apenas aqueles limiares que maximizam os dois valores recebem índices significativos.
......@@ -257,8 +257,8 @@ Uma característica importante do índice de Youden é que ele estabelece uma eq
Como pode-se observar na tabela \ref{fraud:yindex}, alterações no valor usado na classificação alteram o número de instâncias classificadas como positivas e negativas. Geralmente os resultados são distribuídos começando com um grande valor de sensibilidade e um valor baixo de especificidade; esses valores convergem até um máximo global; e então terminam em com um valor baixo de sensibilidade e um grande valor de especificidade. A variação desses três valores, e a interação entre eles, é mostrada no gráfico da figura \ref{fraud:threshold}.
\vspace{0.5cm}
\begin{figure}[h!]
\vspace{0.5cm}
\centering
\caption{Variação dos valores de avaliação conforme o limiar de detecção}
\label{fraud:threshold}
......@@ -266,19 +266,18 @@ Como pode-se observar na tabela \ref{fraud:yindex}, alterações no valor usado
\includegraphics[scale=0.5]{img/threshold.png}
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
No lado esquerdo, onde o limiar é muito baixo, a sensibilidade é 1 e a especificidade, zero; enquanto no lado direito, onde o limiar é muito alto, ocorre o oposto: a sensibilidade é zero e a sensibilidade, 1. Conforme o limiar aumenta (começando do lado esquerdo e caminhando para a direita), ocorreu uma diminuição na especificidade (algumas instâncias fraudulentas começam a ser classificadas como legítimas). No entanto, há um aumento muito maior na especificidade (instâncias legítimas começam a ser classificadas corretamente). É possível ver como o índice de Youden mostra a real proporção entre esses dois valores. Uma forma mais sucinta para apresentar esse tipo de informação é através de um gráfico dos valores de sensibilidade e 1 - especificidade, que é denominado ROC (característica operativa do receptor, \emph{receiver operating characteristic}), conforme mostrado na figura \ref{fraud:roc}.
\vspace{0.5cm}
\begin{figure}[h!]
\vspace{0.5cm}
\centering
\caption{Gráfico da curva ROC dos valores de exemplo}
\label{fraud:roc}
\vspace{0.5cm}
\includegraphics[scale=0.5]{img/roc.png}
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
No gráfico é visualmente aparente que o valor 3 como limiar de classificação oferece o melhor balanceamento entre sensibilidade e especificidade. Também é possível perceber como as alterações no limiar influenciam a distribuição desses dois valores. Um teste perfeito, que classificasse todas as instâncias corretamente, teria ambos os valores iguais a 1, tendo portanto um ponto no canto superior esquerdo do gráfico. Os pontos mais próximos dessa localização são aqueles que melhor classificam as instâncias.
......
......@@ -17,9 +17,9 @@ O primeiro trabalho a considerar necessária a auditoria automática de sistemas
A detecção de fraude é apenas uma das etapas de um sistema chamado de \emph{controle de fraude}. Nesse contexto, a detecção automática ajuda a reduzir o trabalho manual de verificação das instâncias \cite{Phua2010}. O objetivo principal desses sistemas é identificar padrões de transações suspeitas em meio às transações comuns de uma organização. O fraudador pode, por exemplo, contratar um seguro usando informações de outra pessoa ou informações falsas. O sistema procura detectar e impedir a fraude o mais cedo possível.
\vspace{0.5cm}
\renewcommand{\arraystretch}{1.5}
\begin{table}[h!]
\vspace{0.5cm}
\centering
\caption{Matriz de ameaças}
\label{fraud:and}
......@@ -35,8 +35,8 @@ A detecção de fraude é apenas uma das etapas de um sistema chamado de \emph{c
\end{tabular}
\vspace{0.5cm}
\\ Fonte: \cite{Anderson1972}.
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
Geralmente não é possível ter absoluta certeza sobre a legitimidade das transações de um negócio a partir dos dados disponíveis. Não seria possível verificar todas as entidades com as quais uma empresa mantém relações, que em algumas empresas podem ser milhares. Assim, não existe uma técnica infalível para a detecção de fraudes. Isso não significa que elas não possam ser detectadas. A melhor alternativa, na prática, é uma busca por possíveis evidências de fraude nos dados disponíveis. Métodos matemáticos e estatísticos são utilizados para comparar um banco de dados de transações existentes com as novas, com o objetivo de encontrar evidências de possíveis fraudes. Mesmo assim, geralmente há um processo de análise e revisão caso a caso por um especialista.
......@@ -67,8 +67,8 @@ Uma alternativa é a criação de um banco de dados artificial, inspirado em dad
A maioria dos sistemas de detecção de fraude opera usando listas negras (\emph{black-lists}) de dados (transações, contas, etc.), que são comparadas com as nova instâncias. Algumas utilizam regras fixas para a classificação. A figura \ref{fig:fraud_data} mostra a organização dos dados nesses sistemas. Uma parte do banco de dados é usada para o treinamento. Esses são os dados onde o sistema aprenderá os padrões e regras utilizados para a detecção. O restante das instâncias é usada para a avaliação do treinamento. Também é comum que haja bancos de dados distintos para o treinamento e avaliação.
\vspace{0.5cm}
\begin{figure}[h!]
\vspace{0.5cm}
\centering
\caption{Dados para a análise}
\label{fig:fraud_data}
......@@ -76,8 +76,8 @@ A maioria dos sistemas de detecção de fraude opera usando listas negras (\emph
\includegraphics[width=0.75\textwidth]{img/fraud-data.png}
\vspace{0.5cm}
\\ Fonte: \cite{Phua2010}.
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
A maioria dos estudos relacionados à detecção de fraude considera a detecção de \emph{outliers} como uma ferramenta principal de detecção \cite{Aral2011}. Existem muitos métodos aplicados à detecção de fraude: auditoria, sistemas especialistas, lógica nebulosa (\emph{fuzzy}), redes neurais, reconhecimento de padrões, árvores de decisão, regressão, etc \cite{Huang2010}. Considerando os dados divididos conforme a figura \ref{fig:fraud_data}, as duas técnicas mais usadas são:
......
......@@ -51,8 +51,8 @@ Modelos computacionais foram criados para tentar adaptar o funcionamento do sist
\citet{Dasgupta2010} apresentam os trabalhos recentes na área de Sistemas Imunológicos Artificiais. A tabela \ref{ais:applications} mostra as áreas onde esses sistemas foram aplicados.
\vspace{0.5cm}
\begin{table}[h!]
\vspace{0.5cm}
\centering
\caption{Aplicações recentes \cite{Dasgupta2010}}
\label{ais:applications}
......@@ -69,8 +69,8 @@ Modelos computacionais foram criados para tentar adaptar o funcionamento do sist
Reconhecimento de padrões, clustering e classificação \\
\hline
\end{tabular}
\vspace{0.5cm}
\end{table}
\vspace{0.5cm}
Uma adição ainda mais recente foi a da Teoria do Perigo, proposta por Matzinger, em 1994. A principal revolução na Teoria do Perigo é a mudança na forma como as células tomam conhecimento e reagem, introduzindo a noção de perigo e tolerância. Essa mudança não é tanto na modelagem e representação dos dados, mas sim na decisão do que deve ser modelado, e o que deve gerar respostas do sistema \cite{Aickelin2005}. A adição da Teoria do Perigo a um sistema, além das vantagens proporcionadas pela modelagem como Sistema Imunológico Artificial, restringe o domínio do problema, identificando o subconjunto de atributos mais importantes à detecção, e facilita a implementação em ambientes onde a definição de perigo muda com facilidade, características importantes em sistemas de segurança da informação.
......
......@@ -16,8 +16,8 @@ O primeiro modelo do sistema imunológico foi o da distinção entre o próprio
No modelo de disciminação do próprio e não próprio (Self Non-self Discrimination, SNSD) de Burnet, existia apenas um tipo de linfócito, o linfócito B, responsável por identificar os antígenos e produzir os respectivos anticorpos. A resposta imune adaptativa é gerada apenas pela identificação desses antígenos, sem qualquer mecanismo de controle.
\vspace{0.5cm}
\begin{figure}[h!]
\vspace{0.5cm}
\centering
\caption{SNSD: Antígeno no controle}
\label{fig:nis_antigen}
......@@ -26,14 +26,14 @@ No modelo de disciminação do próprio e não próprio (Self Non-self Discrimin
\includegraphics[width=0.75\textwidth]{img/signals1-antigen_br.png}
\vspace{0.5cm}
\\ Fonte: \citet{Aickelin2002}.
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
Em algum ponto no início da vida os linfócitos aprendem a diferenciar o próprio, células pertencentes ao corpo, do não-próprio, células estranhas ao corpo, que devem ser eliminadas. As células que geram respostas auto-imunes (reações contra as células próprias) são removidas nesse ponto, restando apenas as capazes de identificar o não-próprio.
\vspace{0.5cm}
\begin{figure}[h!]
\vspace{0.5cm}
\centering
\caption{Auxiliar no controle}
\label{fig:nis_helper}
......@@ -41,13 +41,13 @@ Em algum ponto no início da vida os linfócitos aprendem a diferenciar o própr
\includegraphics[width=0.75\textwidth]{img/signals2-helper_br.png}
\vspace{0.5cm}
\\ Fonte: \citet{Aickelin2002}.
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
Mais tarde, Bretscher e Cohn introduziram uma segunda célula, o linfócito T auxiliar, ou T$_{h}$ (T \emph{helper}), que regulava a ativação dos linfócitos B (figura \ref{fig:nis_helper}). O linfócito B apresenta o antígeno ao linfócito T e aguarda sua confirmação para iniciar a resposta. A introdução dessa célula tem o objetivo de evitar uma reação auto-imune sem controle. Lafferty e Cunningham introduziram uma terceira célula, a Célula Apresentadora de Antígeno (APC, \emph{Antigen Presenting Cell}), cuja função é decompor os antígenos e apresentá-los aos linfócitos T. Dessa forma, o funcionamento das células do modelo anterior agora depende da ativação do linfócito T pela APC (figura \ref{fig:nis_apc}).
\vspace{0.5cm}
\begin{figure}[h!]
\vspace{0.5cm}
\centering
\caption{APC no controle}
\label{fig:nis_apc}
......@@ -55,15 +55,15 @@ Mais tarde, Bretscher e Cohn introduziram uma segunda célula, o linfócito T au
\includegraphics[width=0.75\textwidth]{img/signals3-apc_br.png}
\vspace{0.5cm}
\\ Fonte: \citet{Aickelin2002}.
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
\section{Não-próprio infeccioso}
O modelo mais aceito na imunologia atualmente é o modelo não-próprio infeccioso (Infectious Non-Self, INS), que foi proposto por Janeway \cite{Janeway1989}. Nele, as APCs também têm de ser ativadas: elas só enviam o sinal dois aos linfócitos T quando tiverem reconhecido padrões patológicos no antígeno (figura \ref{fig:nis_nsinf}). Assim, da mesma forma que no modelo anterior, o funcionamento de todo o sistema depende de um fator externo. No modelo anterior, a APC ativava o sistema, no modelo de Janeway, a APC tem que ser ativada através do reconhecimento de padrões no antígeno, e então ativar o sistem.
\vspace{0.5cm}
\begin{figure}[h!]
\vspace{0.5cm}
\centering
\caption{INS: Não-próprio infeccioso no controle}
\label{fig:nis_nsinf}
......@@ -72,8 +72,8 @@ O modelo mais aceito na imunologia atualmente é o modelo não-próprio infeccio
\includegraphics[width=0.75\textwidth]{img/signals4-ins_br.png}
\vspace{0.5cm}
\\ Fonte: \citet{Aickelin2002}.
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
\section{A Teoria do Perigo}
......@@ -93,8 +93,8 @@ Além disso, alguns linfócitos T são mantidos como células de memória. Duran
Existe ainda um outro tipo de linfócito, o T \emph{killer} (T$_{k}$), que não tem receptores antígeno-específicos, mas é capaz de reconhecer células infectadas e algumas células anormais. O objetivo dessas células é atuar como a primeira defesa contra infecções, e são muito importantes nos começo da vida.
\vspace{0.5cm}
\begin{figure}[h!]
\vspace{0.5cm}
\centering
\caption{Perigo no controle}
\label{img:nis_danger}
......@@ -102,8 +102,8 @@ Existe ainda um outro tipo de linfócito, o T \emph{killer} (T$_{k}$), que não
\includegraphics[width=0.75\textwidth]{img/signals5-danger_br.png}
\vspace{0.5cm}
\\ Fonte: \citet{Aickelin2002}.
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
O comportamento dos linfócitos T e B se baseia em três regras:
......
......@@ -207,15 +207,15 @@ A16: +,- (atributo de classe)
Os algoritmos imunológicos utilizados no experimento são parte de um pacote de algoritmos desenvolvido por Jason Brownlee \cite{Brownlee2011}, na versão mais atual (1.8, maio de 2011). Esse pacote foi especialmente desenvolvido para a plataforma de aprendizagem de máquina WEKA (descrita na seção \ref{sec:prop_weka}) e são disponibilizados através de uma licença aberta (GNU GPL). Nele, são implementadas diversas categorias de algoritmos, como Redes Neurais e Sistemas Imunológicos Artificiais. A figura \ref{fig:prop_wekaais} mostra esses algoritmos conforme apresentados na interface do WEKA, nos módulos \emph{airs}, \emph{clonalg} e \emph{immunos} em \emph{weka.classifiers.immune} e no módulo \emph{lvq} em \emph{weka.classifiers.neural}.
\vspace{0.5cm}
\begin{figure}[h]
\vspace{0.5cm}
\centering
\caption{Algoritmos no WEKA}
\label{fig:prop_wekaais}
\vspace{0.5cm}
\includegraphics[width=0.75\textwidth]{img/weka_ais.png}
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
Dentre os algoritmos imunológicos, serão utilizados:
......@@ -231,15 +231,15 @@ Dentre os algoritmos imunológicos, serão utilizados:
A plataforma de testes utilizada é o \emph{software} WEKA\nomenclature{WEKA}{Waikato Environment for Knowledge Analysis} (\emph{Waikato Environment for Knowledge Analysis}, Ambiente para Aprendizagem de Máquina de Waikato), uma suite de aplicações de aprendizagem de máquina desenvolvida na Universidade de Waikato na Nova Zelândia. Essa ferramenta é largamente utilizada em projetos nessa área, devido a sua licença aberta (GNU GPL\nomenclature{GNU GPL}{GNU General Public License}), que permite que seja utilizada quase sem restrições. A figura \ref{fig:prop_weka} mostra uma captura de tela do programa em execução, mostrando a visualização de um conjunto de dados de exemplo.
\vspace{0.5cm}
\begin{figure}[h]
\vspace{0.5cm}
\centering
\caption{Janela do módulo Explorer - WEKA 3.6.4}
\label{fig:prop_weka}
\vspace{0.5cm}
\includegraphics[width=0.75\textwidth]{img/weka.png}
\vspace{0.5cm}
\end{figure}
\vspace{0.5cm}
\subsection{Arquivos ARFF}
\label{sec:prop_arff}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment