Máquina de vetor de suporte de uma classe
Importante
O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.
A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).
- Confira informações sobre como mover projetos de machine learning do ML Studio (clássico) para o Azure Machine Learning.
- Saiba mais sobre o Azure Machine Learning.
A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.
Cria um modelo de Máquina do Vetor de Suporte de uma classe para detecção de anomalias
Categoria: detecção de anomalias
Observação
aplica-se a: somente Machine Learning Studio (clássico)
Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.
Visão geral do módulo
este artigo descreve como usar o módulo modelo de vetor de suporte de uma classe no Machine Learning Studio (clássico) para criar um modelo de detecção de anomalias.
Esse módulo é particularmente útil em cenários em que você tem muitos dados "normais" e não muitos casos das anomalias que você está tentando detectar. Por exemplo, se você precisar detectar transações fraudulentas, talvez você não tenha muitos exemplos de fraudes que poderia usar para treinar um modelo de classificação típico, mas pode ter muitos exemplos de transações boas.
Use o módulo modelo de vetor de suporte de uma classe para criar o modelo e, em seguida, treine o modelo usando o modelo de detecção de anomalias de treinamento. O conjunto de os que você usa para treinamento pode conter todos ou casos normais.
Em seguida, você pode aplicar métricas diferentes para identificar possíveis anomalias. Por exemplo, você pode usar um grande conjunto de grandes transações para identificar casos que possivelmente representam transações fraudulentas.
Mais sobre SVM de uma classe
Suporte a máquinas de vetor (SVMs) são modelos de aprendizado supervisionado que analisam dados e reconhecem padrões e que podem ser usados para tarefas de classificação e de regressão.
Normalmente, o algoritmo SVM recebe um conjunto de exemplos de treinamento rotulados como pertencentes a uma das duas classes. Um modelo de SVM baseia-se na divisão dos pontos de exemplo de treinamento em categorias separadas por uma maior lacuna possível, enquanto penaliza as amostras de treinamento que se enquadram no lado errado da lacuna. Em seguida, o modelo SVM faz previsões atribuindo pontos a um lado da lacuna ou à outra.
Às vezes, a sobreamostragem é usada para replicar os exemplos existentes para que você possa criar um modelo de duas classes, mas é impossível prever todos os novos padrões de fraude ou falhas do sistema de exemplos limitados. Além disso, a coleção de exemplos limitados ainda pode ser cara.
Portanto, em SVM de uma classe, o modelo de vetor de suporte é treinado em dados que têm apenas uma classe, que é a classe "normal". Ele infere as propriedades de casos normais e essas propriedades podem prever quais exemplos são diferentes dos exemplos normais. Isso é útil para detecção de anomalias porque o escassez de exemplos de treinamento é o que define anomalias: ou seja, normalmente há poucos exemplos de intrusão na rede, fraude ou outro comportamento anormal.
Para obter mais informações, incluindo links para pesquisa básica, consulte a seção observações técnicas .
Observação
O módulo de Modelo de vetor de suporte de uma classe cria um modelo de kernel SVM, que significa que não é muito escalonável. Se o tempo de treinamento for limitado ou se você tiver muitos dados, poderá usar outros métodos para detectores de anomalias, como a detecção de anomalias baseada em PCA.
Como configurar One-Class SVM
Adicione o módulo modelo de vetor de suporte de uma classe ao seu experimento no estúdio (clássico). você pode encontrar o módulo em Machine Learning-Initialize, na categoria detecção de anomalias .
Clique duas vezes no módulo modelo de vetor de suporte de uma classe para abrir o painel Propriedades .
Para criar modo de instrutor, selecione uma opção que indica como o modelo deve ser treinado:
Parâmetro único: use essa opção se você sabe como configurar o modelo, informe um conjunto específico de valores como argumentos.
Intervalo de parâmetros: Use essa opção se você não tiver certeza dos melhores parâmetros e quiser executar uma limpeza de parâmetro para localizar a configuração ideal.
η: digite um valor que represente o limite superior na fração de exceções. Esse parâmetro corresponde à propriedade nu descrita neste documento. A propriedade nu permite que você controle a compensação entre exceções e casos normais.
ε (Épsilon): digite um valor a ser usado como a tolerância de interrupção. A tolerância de interrupção, afeta o número de iterações usadas ao otimizar o modelo e depende do valor de critério de interrupção. Quando o valor é excedido, o instrutor para a iteração em uma solução.
Conexão um conjunto de uma de treinamento e um dos módulos de treinamento:
- Se você definir criar modo de instrutor como um único parâmetro, use o módulo treinar modelo de detecção de anomalias .
- Se você configurar Criar modo treinador como Intervalo de parâmetros, use o módulo Ajustar hiperparâmetros do modelo.
Observação
Se você passar um intervalo de parâmetros para treinar o modelo de detecção de anomalias, ele usará apenas o primeiro valor na lista intervalo de parâmetros.
Se você transmitir um só conjunto de valores de parâmetro para o módulo Ajustar hiperparâmetros do modelo, quando ele espera um intervalo de configurações para cada parâmetro, ele vai ignorar os valores e usará os valores padrão para o aprendiz.
Se você selecionar a opção intervalo de parâmetros e inserir um único valor para qualquer parâmetro, esse valor único será usado em toda a varredura, mesmo que outros parâmetros sejam alterados em um intervalo de valores.
Execute o experimento.
Resultados
O módulo retorna um modelo de detecção de anomalias treinado. Você pode salvar o modelo em seu espaço de trabalho ou pode conectar o módulo modelo de Pontuação e usar o modelo treinado para detectar possíveis anomalias.
Se você tiver treinado o modelo usando uma varredura de parâmetro, anote as configurações de parâmetro ideais a serem usadas ao configurar um modelo para uso na produção.
Exemplos
Para obter exemplos de como esse módulo é usado na detecção de anomalias, consulte o Galeria de ia do Azure:
- Detecção de anomalias: risco de crédito: Este exemplo ilustra como encontrar exceções nos dados, usando uma limpeza de parâmetro para localizar o modelo ideal. Em seguida, ele aplica esse modelo aos novos dados para identificar as transações arriscadas que podem representar fraudes, comparando dois modelos de detecção de anomalias diferentes.
Observações técnicas
As previsões da SVM de uma classe são pontuações não calibradas que podem ser possivelmente desassociadas. como o exemplo no Cortana Intelligence Gallery demonstra, não se esqueça de normalizar as pontuações se estiver comparando modelos com base em algoritmos diferentes.
Pesquisa
Essa implementação encapsula a biblioteca para computadores de vetor de suporte chamados libsvm. A teoria geral sobre a qual libsvm
se baseia, e a abordagem para computadores de vetor de suporte de uma classe, é descrita nestes documentos por B. Schӧlkopf et al.
Parâmetros do módulo
Nome | Tipo | Intervalo | Opcional | Descrição | Padrão |
---|---|---|---|---|---|
Criar modo de aprendizagem | Criar Modo de aprendizagem | Lista:Parameter Único|Intervalo de Parâmetro | Obrigatório | Parâmetro único | Especifica opções do aprendiz. Use a opção SingleParameter para especificar todos os valores manualmente. Use a opção ParameterRange para limpar os parâmetros ajustáveis. |
nu | Float | >=double.Epsilon | modo:Parâmetro Único | 0,1 | Esse parâmetro (representado pela letra grega nu) determina a compensação entre a fração de exceções e o número de vetores de suporte. |
épsilon | Float | >=double.Epsilon | modo:Parâmetro Único | 0,001 | Especifica a tolerância de interrupção. |
psnu | ParameterRangeSettings | [0.001;1.0] | modo:Intervalo de Parâmetro | 0.001; 0.01; 0.1 | Especifica o intervalo para a compensação entre a fração de exceções e o número de vetores de suporte. |
psEpsilon | ParameterRangeSettings | [1e-6; 1.0] | modo:Intervalo de Parâmetro | 0.001; 0.01; 0.1 | Especifica o intervalo para a tolerância de interrupção. |
Saídas
Nome | Tipo | Descrição |
---|---|---|
Modelo não treinado | Interface ILearner | Um modelo de detecção de anomalias de treinamento |