Computador de vetor de suporte de duas classes

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

categoria: Machine Learning/inicializar modelo/classificação

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 de máquina de vetor de suporte de duas classes no Machine Learning Studio (clássico), para criar um modelo baseado no algoritmo máquina de vetor de suporte.

As máquinas de vetor de suporte (SVMs) são uma classe amplamente pesquisada de métodos de aprendizado supervisionado. Essa implementação específica é adequada à previsão de dois resultados possíveis, com base em variáveis contínuas ou categóricas.

Depois de definir os parâmetros do modelo, treine o modelo usando um dos módulos de treinamentoe fornecendo um conjunto de um DataSet que inclui um rótulo ou uma coluna de resultado.

Mais sobre as máquinas de vetor de suporte

O suporte às máquinas de vetor estão entre os mais recentes dos algoritmos de aprendizado da máquina e modelos SVM e tem sido usado em muitos aplicativos, da recuperação de informações até a classificação de texto e imagem. As SVMs podem ser usadas para tarefas de classificação e de regressão.

Essa SVM é um modelo de aprendizado supervisionado que requer dados rotulados. No processo de treinamento, o algoritmo analisa os dados de entrada e reconhece padrões em um espaço de recursos multidimensionais chamado de hiperplano. Todos os exemplos de entrada são representados como pontos neste espaço e são mapeados em categorias de saída, de modo que as categorias sejam divididas pela maior e mais limpa lacuna possível.

Para fazer previsões, o algoritmo da SVM atribui novos exemplos em uma categoria ou em outra, mapeando-os nesse mesmo espaço.

Como configurar Two-Class computador de vetor de suporte

Para este tipo de modelo, é recomendável que você normalize o conjunto de dados antes de usá-lo para treinamento do classificador.

  1. Adicione o módulo máquina de vetor de suporte de duas classes ao seu experimento no estúdio (clássico).

  2. Especifique de que modo você quer que o modelo seja treinado ao definir a opção Criar modo de treinador.

    • Parâmetro Único: se você sabe como deseja configurar o modelo, é possível fornecer um conjunto específico de valores como argumentos.

    • Intervalo de parâmetros: se você não tiver certeza dos melhores parâmetros, poderá encontrar os parâmetros ideais especificando vários valores e usando o módulo ajustar hiperparâmetros de modelo para localizar a configuração ideal. O instrutor itera em várias combinações das configurações e determina a combinação de valores que produz o melhor modelo.

  3. Para número de iterações, digite um número que denota o número de iterações usadas durante a criação do modelo.

    Este parâmetro pode ser usado para controlar o compromisso entre a precisão e a velocidade de treinamento.

  4. Para Lambda, digite um valor para usar como peso na regularização L1.

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

  5. Selecione a opção Normalizar recursos se deseja normalizar os recursos antes do treinamento.

    Caso aplique a normalização, antes do treinamento, os pontos de dados são centralizados na média e escalados para conter uma unidade de desvio padrão.

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

    A projeção de valores para o espaço da unidade significa que, antes do treinamento, os pontos de dados são centralizados em zero e escalados para conter uma unidade de desvio padrão.

  7. Em Seed numérico aleatório, insira um valor inteiro se deseja garantir a reprodutibilidade nas execução. Caso contrário, um valor de relógio do sistema é usado como um seed, o que pode resultar em resultados ligeiramente distintos nas execuções.

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

    Se você desmarcá-la, o modelo pode aceitar apenas os valores que estão contidos nos dados de treinamento.

  9. Conexão um dataset rotulado e um dos módulos de treinamento:

    Observação

    Se você passar um intervalo de parâmetros para treinar o modelo, ele usará apenas o primeiro valor na lista intervalo de parâmetros.

    Se você passar um único conjunto de valores de parâmetro para o módulo ajustar hiperparâmetros de modelo , quando ele esperar um intervalo de configurações para cada parâmetro, ele 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 especificado será usado em toda a varredura, mesmo que outros parâmetros sejam alterados em um intervalo de valores.

  10. Execute o experimento.

Resultados

Após a conclusão do treinamento:

  • Para ver um resumo dos parâmetros do modelo, junto com os pesos de recursos aprendidos do treinamento,, clique com o botão direito do mouse na saída do modelo de treinamento ou ajuste hiperparâmetros de modeloe selecione Visualizar.

  • Para usar os modelos treinados para fazer previsões, conecte o modelo treinado ao módulo modelo de Pontuação .

  • Para executar a validação cruzada em relação a um conjunto de dados rotulado, conecte o modelo não treinado e o DataSet ao modelo de validação cruzada.

Exemplos

Para obter exemplos de como esse algoritmo de aprendizado é usado, consulte o Galeria de ia do Azure:

Observações técnicas

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

Dicas de uso

Para este tipo de modelo, é recomendável que você normalize o conjunto de dados antes de usá-lo para treinamento do classificador.

Embora uma pesquisa recente desenvolveu algoritmos que têm maior precisão, esse algoritmo pode funcionar bem com conjuntos de dados simples quando sua meta for a velocidade por precisão. Se você não obtiver os resultados desejados usando o Modelo de vetor de suporte de duas classes, tente um dos seguintes métodos de classificação:

Parâmetros do módulo

Nome Intervalo Type Padrão Descrição
Número de iterações >=1 Integer 1 O número de iterações
Lambda >=double.Epsilon Float 0,001 Peso para regularização L1. Usando um valor diferente de zero evita o sobreajuste do modelo para o conjunto de dados de treinamento.
Normalizar recursos Qualquer Booliano verdadeiro Se Verdadeiro, normaliza os recursos.
Projeto para a esfera da unidade Qualquer Booliano Falso Se Verdadeiro, projete os recursos para um círculo unitário.
Propagação de número aleatório Qualquer Integer A propagação para o gerador de número aleatório usado pelo modelo. Deixe em branco para o padrão.
Permitir níveis categóricos desconhecidos Qualquer Booliano verdadeiro Se True, cria um nível adicional para cada coluna categórica. Quaisquer níveis no conjunto de dados teste que não estão disponíveis no conjunto de dados de treinamento são mapeados para este nível adicional.

Saída

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

Confira também

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