Eu estava usando uma classe SVM , implementada no scikit-learn, para o meu trabalho de pesquisa. Mas não tenho um bom entendimento disso.
Alguém pode dar uma explicação simples e boa de uma classe SVM ?
Eu estava usando uma classe SVM , implementada no scikit-learn, para o meu trabalho de pesquisa. Mas não tenho um bom entendimento disso.
Alguém pode dar uma explicação simples e boa de uma classe SVM ?
Respostas:
O problema solucionado pelo One Class SVM, como diz a documentação, é a detecção de novidades . O documento original que descreve como usar SVMs para esta tarefa é " Método de vetor de suporte para detecção de novidades ".
A idéia da detecção de novidade é detectar eventos raros, ou seja, eventos que acontecem raramente e, portanto, dos quais você tem muito poucas amostras. O problema é que a maneira usual de treinar um classificador não funcionará.
Então, como você decide o que é um novo padrão? Muitas abordagens são baseadas na estimativa da densidade de probabilidade dos dados. Novidade corresponde àquelas amostras em que a densidade de probabilidade é "muito baixa". Quão baixo depende da aplicação.
Agora, os SVMs são métodos de margem máxima, ou seja, não modelam uma distribuição de probabilidade. Aqui, a idéia é encontrar uma função que seja positiva para regiões com alta densidade de pontos e negativa para pequenas densidades.
Os detalhes são apresentados no artigo. ;) Se você realmente pretende ler o documento, entenda primeiro as configurações do algoritmo SVM básico para classificação. Tornará muito mais fácil entender os limites e a motivação do algoritmo.
Você pode usar o One Class SVM para algum pipeline do Active Learning de alguma maneira semi-supervisionada.
Ex: como o SVM lida com um método de margem máxima, conforme descrito anteriormente, você pode considerar essas regiões de margem como limites para alguma classe específica e executar a nova identificação.