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 / Modelo de Inicialização / Classificação
Nota
Aplica-se a: Machine Learning Studio (clássico) apenas
Módulos semelhantes de arrasto e queda estão disponíveis em Azure Machine Learning designer.
Visão geral do módulo
Este artigo descreve como usar o módulo de máquina de vetor de suporte de duas classes no Machine Learning Studio (clássico), para criar um modelo que se baseia 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ódulos de treino e fornecendo um conjunto de dados marcado que inclua uma etiqueta ou coluna de resultados.
Mais sobre máquinas vetores de apoio
As máquinas vetoriais de suporte estão entre as primeiras 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 forma 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 de 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.
Adicione o módulo de máquina de vetor de suporte de duas classes à sua experiência em Studio (clássico).
Especifique como pretende que o modelo seja treinado, definindo a opção modo de formação Criar .
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.
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.
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.
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.
Selecione a opção, Project 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.
Em sementes de número aleatório, digite 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.
Selecione a opção, Permitir 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.
Ligação um conjunto de dados rotulado, e um dos módulos de treino:
Se definir Criar modo de treinador para único parâmetro, utilize o módulo Modelo de Comboio .
Se definir Criar modo de treinador para intervalo de parâmetros, utilize os Hiperparmetros do Modelo de Sintonia.
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.
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 Hiperparímetros do Modelo de Sintonização 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:
Marketing direto: Utiliza um modelo SVM para classificar os clientes por appetency.
Previsão do risco de crédito: Utiliza SVM para avaliar o risco de crédito.
Compare os classificadores multiclasses:Utiliza um modelo SVM para reconhecimento de caligrafia.
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 é acelerar sobre precisão. Se não obtém 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 | Description |
---|---|---|---|---|
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. |
Project 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-o 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 | Description |
---|---|---|
Modelo destreinado | Tabela de Dados | Um modelo de classificação binária destreinado. |