Máquina de Vetores de Suporte de Duas Classes

Cria um modelo de classificação binária usando o algoritmo da máquina do vetor de suporte

Categoria: Machine Learning / Initialize Model / Classification

Nota

Aplica-se a: Machine Learning Studio (clássico)

Este conteúdo diz respeito apenas ao Studio (clássico). Módulos semelhantes de arrasto e queda foram adicionados ao designer de Aprendizagem automática Azure. Saiba mais neste artigo comparando as duas versões.

Visão geral do módulo

Este artigo descreve como usar o módulo de máquina vetorial de dois classes no Azure Machine Learning Studio (clássico), para criar um modelo que é baseado no algoritmo da máquina vetorial de suporte.

As máquinas vetoriais de suporte (SVMs) são uma classe bem pesquisada de métodos de aprendizagem supervisionados. Esta implementação específica é adequada à previsão de dois resultados possíveis, baseados em variáveis contínuas ou categóricas.

Depois de definir os parâmetros do modelo, treine o modelo utilizando um dos módulosde treino e fornecendo um conjunto de dados marcado que inclua uma etiqueta ou coluna de resultados.

Mais sobre máquinas vetores de suporte

As máquinas de vetor de suporte estão entre os primeiros algoritmos de aprendizagem automática, e os modelos SVM têm sido usados em muitas aplicações, desde a recuperação de informações até à classificação de texto e imagem. Os SVMs podem ser utilizados tanto para tarefas de classificação como para regressão.

Este modelo SVM é um modelo de aprendizagem supervisionado que requer dados rotulados. No processo de treino, o algoritmo analisa dados de entrada e reconhece padrões num espaço multidimensional chamado hiperplano. Todos os exemplos de entrada são representados como pontos neste espaço, e são mapeados para categorias de saída de modo a que as categorias sejam divididas por uma lacuna o mais ampla e clara possível.

Para previsão, o algoritmo SVM atribui novos exemplos numa categoria ou noutra, mapeando-os nesse mesmo espaço.

Como configurar a máquina do vetor de suporte Two-Class

Para este tipo de modelo, recomenda-se que normalize o conjunto de dados antes de o utilizar para treinar o classificador.

  1. Adicione o módulo de máquina de vetor de suporte de duas classes à sua experiência em Studio (clássico).

  2. Especifique como pretende que o modelo seja treinado, definindo a opção modo de formação Create.

    • Parâmetro único: Se souber como pretende configurar o modelo, pode fornecer um conjunto específico de valores como argumentos.

    • Intervalo de parâmetros: Se não tiver a certeza dos melhores parâmetros, pode encontrar os parâmetros ideais especificando vários valores e utilizando o módulo Tune Model Hyperparameters para encontrar a configuração ideal. O treinador itera sobre várias combinações das configurações e determina a combinação de valores que produz o melhor modelo.

  3. Para o número de iterações, escreva um número que denota o número de iterações utilizadas na construção do modelo.

    Este parâmetro pode ser utilizado para controlar o trade-off entre a velocidade de treino e a precisão.

  4. Para lambda, escreva um valor a utilizar como peso para a regularização L1.

    Este coeficiente de regularização pode ser usado para afinar o modelo. Valores maiores penalizam modelos mais complexos.

  5. Selecione a opção, normalize as funcionalidades, se quiser normalizar as funcionalidades antes do treino.

    Se aplicar a normalização, antes do treino, os pontos de dados são centrados na média e dimensionados para ter uma unidade de desvio padrão.

  6. Selecione a opção, Projetar para a esfera da unidade, para normalizar os coeficientes.

    Projetar valores para o espaço unitário significa que antes do treino, os pontos de dados são centrados em 0 e dimensionados para ter uma unidade de desvio padrão.

  7. Em sementes de número aleatório, escreva um valor inteiro para usar como semente se quiser garantir a reprodutibilidade através de corridas. Caso contrário, um valor do relógio do sistema é usado como uma semente, o que pode resultar em resultados ligeiramente diferentes em todas as corridas.

  8. Selecione a opção, Permita a categoria desconhecida, para criar um grupo para valores desconhecidos nos conjuntos de treino ou validação. Neste caso, o modelo pode ser menos preciso para valores conhecidos, mas pode fornecer melhores previsões para novos valores (desconhecidos).

    Se o desmarcar, o modelo só pode aceitar os valores contidos nos dados de treino.

  9. Ligue um conjunto de dados rotulado e um dos módulos de treino:

    Nota

    Se passar uma gama de parâmetros para o Modelo de Comboio,utilizará apenas o primeiro valor na lista de parâmetros.

    Se passar um único conjunto de valores de parâmetros para o módulo Tune Model Hyperparameters, quando espera uma gama de definições para cada parâmetro, ignora os valores e utiliza os valores predefinidos para o aluno.

    Se selecionar a opção De Alcance de Parâmetros e introduzir um único valor para qualquer parâmetro, esse valor único especificado será utilizado ao longo da varredura, mesmo que outros parâmetros se alterem numa gama de valores.

  10. Execute a experimentação.

Resultados

Após o treino estar completo:

  • Para ver um resumo dos parâmetros do modelo, juntamente com os pesos de recurso aprendidos com o treino, clique à direita na saída do Model de Comboio ou dos Hiperparmetros tunemodel , e selecione Visualize.

  • Para utilizar os modelos treinados para fazer previsões, ligue o modelo treinado ao módulo 'Modelo de Pontuação'.

  • Para efetuar a validação cruzada contra um conjunto de dados rotulado, ligue o modelo não treinado e o conjunto de dados ao Modelo De Validação Cruzada.

Exemplos

Por exemplo, como este algoritmo de aprendizagem é usado, consulte a Galeria Azure AI:

Notas técnicas

Esta secção contém detalhes de implementação, dicas e respostas a perguntas frequentes.

Dicas de utilização

Para este tipo de modelo, recomenda-se que normalize o conjunto de dados antes de o utilizar para treinar o classificador.

Embora pesquisas recentes tenham desenvolvido algoritmos com maior precisão, este algoritmo pode funcionar bem em conjuntos de dados simples quando o seu objetivo é a velocidade sobre a precisão. Se não obter os resultados desejados utilizando o modelo de vetor de suporte de duas classes, experimente um destes métodos de classificação:

Parâmetros do módulo

Nome Intervalo Tipo Predefinição Descrição
Número de iterações >=1 Número inteiro 1 O número de iterações
Rio Lambda >=duplo. Epsilon Float 0.001 Peso para regularização L1. A utilização de um valor não zero evita a sobreajuste do modelo ao conjunto de dados de treino.
Normalizar as características Qualquer Booleano Verdadeiro Se for verdade, normalize as características.
Projeto para a esfera unitária Qualquer Booleano Falso Se Verdadeiro, projete as características para um círculo de unidade.
Semente de número aleatório Qualquer Número inteiro A semente para o gerador de números aleatórios usado pelo modelo. Deixe em branco para o padrão.
Permitir níveis categóricos desconhecidos Qualquer Booleano Verdadeiro Se verdadeiro, cria um nível adicional para cada coluna categórica. Quaisquer níveis no conjunto de dados de teste que não estejam disponíveis no conjunto de dados de formação são mapeados para este nível adicional.

Saída

Nome Tipo Descrição
Modelo destreinado Tabela de Dados Um modelo de classificação binária destreinado.

Ver também

Classificação
Lista de Módulos A-Z