Descrição de dados vetoriais de suporte (SVDD) é um dos métodos de limite populares usados em aprendizado de máquina para detecção de anomalias. O objetivo do SVDD é criar um modelo que capture as características dos dados normais (não anômalos) e então identifique as instâncias que se desviam dessas características como anomalias.
A detecção de anomalias é amplamente utilizada em diversas aplicações, como detecção de fraudes em cartões de crédito, seguros ou assistência médica, detecção de invasões para segurança cibernética, detecção de falhas em sistemas críticos de segurança e vigilância militar de atividades inimigas.
Imagine que você tem um conjunto de pontos de dados e a maioria deles representa um comportamento normal. O SVDD visa criar um limite em torno desses pontos de dados normais, de tal forma que a maioria dos dados fique dentro desse limite. Qualquer ponto de dados fora deste limite é então considerado uma anomalia ou um valor discrepante.
Em outras palavras, estamos ensinando um computador a reconhecer o que é “normal” com base em um conjunto de exemplos e então sermos capazes de sinalizar algo como “incomum” se não se enquadrar no padrão aprendido.
Neste artigo, nos aprofundamos nos conceitos fundamentais do SVDD, explorando a utilização de informações privilegiadas durante a fase de treinamento — uma técnica que visa aumentar a precisão da classificação em cenários de detecção de anomalias.
Como dito acima, uma abordagem clássica para detecção de anomalias é descrever o comportamento esperado ("normal") usando técnicas de classificação de uma classe, ou seja, construir uma descrição de um estado "normal" usando muitos exemplos, por exemplo, descrevendo um lugar geométrico de padrões de treinamento em um espaço de recursos. Se um novo padrão de teste não pertencer à classe “normal”, consideramos que é anômalo.
Para construir um domínio "normal", podemos usar abordagens bem conhecidas, como a Descrição do Domínio do Vetor de Suporte.
Começamos com uma breve explicação do SVDD original sem usar informações privilegiadas. Temos amostras iid (x1, . . . , xl)
A ideia principal deste algoritmo é separar uma parte significativa das amostras consideradas “normais” daquelas consideradas “anormais” em algum sentido. Denotamos por mapeamento φ(·) o ponto de dados original para algum espaço de características mais expressivo, por exemplo, adicionando algumas características polinomiais, aplicando alguma extração de características com uma rede neural profunda, ou mesmo assumindo que o mapeamento está em algum espaço de dimensão infinita.
Seja a algum ponto na imagem do mapa de características e R algum valor positivo. Um padrão x pertence a uma classe "normal" se estiver dentro da esfera ∥a − φ(x)∥ ≤ R. Para encontrar o centro a
e o raio R
resolvemos o problema de otimização:
Aqui ξ é a distância do xi, localizado fora da esfera, até a superfície da esfera. Se um ponto estiver dentro da esfera consideramos ξi = 0 A variável R só pode ser considerada como um raio se exigirmos a sua positividade. No entanto, pode ser facilmente provado que esta condição é automaticamente satisfeita se ν ∈ (0, 1), e para ν ̸ ∈ (0, 1), a solução contém todos os pontos ou nenhum deles.
Como você provavelmente já deve ter adivinhado, como temos suporte no nome do algoritmo, estaremos resolvendo o problema duplo:
Aqui substituímos o produto escalar (φ(xi) · φ(xj )) pelo kernel correspondente K(xi, xj). Podemos calcular a e R usando qualquer xi tal que αi > 0
Com base nisso poderíamos definir a função de decisão:
Se f(x) > 0, então um padrão x está localizado fora da esfera e é considerado anômalo. Também pudemos notar que f(x) valor de retorno e poderíamos ajustar o limite para atingir um nível alvo de valores verdadeiros positivos e verdadeiros negativos.
Para a Máquina de Vetores de Suporte original de duas classes, um algoritmo que cria um limite ideal entre diferentes classes de pontos de dados,
Deixe-nos fornecer alguns exemplos de informações privilegiadas. Se resolvermos um problema de classificação de imagens, então, como informação privilegiada, podemos usar uma descrição textual de imagem. No caso de detecção de malware, podemos usar um código-fonte do malware para obter recursos adicionais para a classificação.
Essas informações não estão disponíveis durante a fase de teste (por exemplo, podem ser computacionalmente proibitivas ou muito caras para serem obtidas) quando usamos o modelo treinado para detecção e classificação de anomalias. Ainda assim, pode ser utilizado durante a fase de treinamento.
Vamos supor que os dados de treinamento cheguem em pares (xi, xi*). Por exemplo, imagine que estamos tentando detectar anomalias em imagens de raios X. Temos a imagem em si e a descrição do médico. Geralmente, uma descrição de texto é mais que suficiente, mas requer assistência adicional. Eles podem ser usados durante o treinamento do modelo, mas apenas fazer previsões usando imagens? É possível usar essas informações adicionais para melhorar a detecção.
Na formulação anterior, temos um erro na forma de ξi. vamos supor que os dados privilegiados sejam tão bons que poderiam prever o tamanho de um erro:
Poderíamos pensar nisso como um professor inteligente que diz durante o treinamento que não foi possível acertar o pequeno erro com esse valor. É razoável concentrar-se em outros exemplos mais valiosos.
Agora, vamos escrever esta equação monstruosa:
Aqui γ é um parâmetro de regularização para a aproximação linear das variáveis de folga. ζi são variáveis instrumentais que evitam que os padrões pertencentes a um semiplano "positivo" sejam penalizados. Observe que se γ vai para o infinito, então a solução está próxima da solução original do SVDD.
Para evitar complicações ao mexer com a função de Lagrange, escreva a forma dupla deste problema:
Aqui substituímos o produto escalar (φ* (xi* ) · φ*(xj* )) pela função kernel correspondente K* (xi*, xj*). No final, a função de decisão tem a mesma forma que no caso do SVDD original:
Observe que apesar de ser um pouco mais assustadora que o problema original, esta tarefa é um tipo específico de otimização chamada otimização quadrática e pode ser facilmente resolvida por abordagens padrão como a função de barreira logarítmica.
A abordagem SVDD original concentra-se na construção de um limite em torno de pontos de dados normais em um espaço de alta dimensão. No entanto, a teoria SVDD+ introduz o conceito de informação privilegiada durante a fase de treinamento para aumentar a precisão da classificação.
Informações privilegiadas, não disponíveis durante os testes, podem ser utilizadas durante o treinamento para fornecer insights adicionais, melhorando a capacidade do modelo de detectar anomalias. A incorporação de informações privilegiadas envolve uma modificação do algoritmo SVDD original, permitindo considerar dados suplementares durante o treinamento, como descrições textuais que acompanham imagens na detecção de anomalias médicas.
A inclusão de informação privilegiada é enquadrada como uma forma de orientação inteligente, semelhante a um professor informado que fornece informações valiosas para melhorar a aprendizagem do modelo. A formulação SVDD+ modificada envolve uma tarefa de otimização quadrática, solucionável através de abordagens padrão como a função de barreira logarítmica. Apesar da complexidade introduzida pela inclusão de informação privilegiada, a função de decisão na teoria SVDD+ mantém uma forma semelhante à SVDD original, facilitando a implementação prática.
Em resumo, a teoria SVDD+ apresenta um caminho promissor para melhorar a detecção de anomalias, aproveitando informações privilegiadas durante a fase de treinamento, oferecendo aplicações potenciais em vários campos, incluindo classificação de imagens e detecção de malware.