Partilhar via


Componente Regressão Linear

Este artigo descreve um componente no designer do Azure Machine Learning.

Use este componente para criar um modelo de regressão linear para uso em um pipeline. A regressão linear tenta estabelecer uma relação linear entre uma ou mais variáveis independentes e um resultado numérico, ou variável dependente.

Use esse componente para definir um método de regressão linear e, em seguida, treine um modelo usando um conjunto de dados rotulado. O modelo treinado pode então ser usado para fazer previsões.

Sobre a regressão linear

A regressão linear é um método estatístico comum, que tem sido adotado no aprendizado de máquina e aprimorado com muitos novos métodos para ajustar a linha e medir o erro. Simplificando, regressão refere-se à previsão de um alvo numérico. A regressão linear ainda é uma boa opção quando você deseja um modelo simples para uma tarefa preditiva básica. A regressão linear também tende a funcionar bem em conjuntos de dados esparsos e de alta dimensão, sem complexidade.

O Azure Machine Learning dá suporte a uma variedade de modelos de regressão, além da regressão linear. No entanto, o termo "regressão" pode ser interpretado vagamente, e alguns tipos de regressão fornecidos em outras ferramentas não são suportados.

  • O problema de regressão clássico envolve uma única variável independente e uma variável dependente. Isso é chamado de regressão simples. Este componente suporta regressão simples.

  • A regressão linear múltipla envolve duas ou mais variáveis independentes que contribuem para uma única variável dependente. Problemas em que várias entradas são usadas para prever um único resultado numérico também são chamados de regressão linear multivariada.

    O componente Regressão Linear pode resolver esses problemas, assim como a maioria dos outros componentes da regressão.

  • A regressão multi-label é a tarefa de prever múltiplas variáveis dependentes dentro de um único modelo. Por exemplo, na regressão logística multi-label, uma amostra pode ser atribuída a vários rótulos diferentes. (Isso é diferente da tarefa de prever vários níveis dentro de uma única variável de classe.)

    Este tipo de regressão não é suportado no Azure Machine Learning. Para prever várias variáveis, crie um aluno separado para cada saída que você deseja prever.

Há anos que os estatísticos desenvolvem métodos de regressão cada vez mais avançados. Isto é verdade mesmo para a regressão linear. Este componente suporta dois métodos para medir o erro e ajustar a linha de regressão: método dos mínimos quadrados ordinários e descida de gradiente.

  • A descida de gradiente é um método que minimiza a quantidade de erros em cada etapa do processo de treinamento do modelo. Existem muitas variações na descida de gradiente e a sua otimização para vários problemas de aprendizagem tem sido extensivamente estudada. Se você escolher essa opção para o método Solution, poderá definir uma variedade de parâmetros para controlar o tamanho da etapa, a taxa de aprendizado e assim por diante. Esta opção também suporta o uso de uma varredura de parâmetros integrada.

  • Os mínimos quadrados ordinários são uma das técnicas mais utilizadas na regressão linear. Por exemplo, mínimos quadrados é o método usado no Analysis Toolpak para Microsoft Excel.

    Os mínimos quadrados ordinários referem-se à função de perda, que calcula o erro como a soma do quadrado da distância entre o valor real e a linha prevista, e se ajusta ao modelo minimizando o erro quadrado. Este método assume uma forte relação linear entre as entradas e a variável dependente.

Configurar regressão linear

Este componente suporta dois métodos para ajustar um modelo de regressão, com diferentes opções:

Criar um modelo de regressão usando mínimos quadrados comuns

  1. Adicione o componente Modelo de Regressão Linear ao seu pipeline no designer.

    Você pode encontrar esse componente na categoria Aprendizado de Máquina. Expanda Inicializar Modelo, expanda Regressão e arraste o componente Modelo de Regressão Linear para o pipeline.

  2. No painel Propriedades, na lista suspensa Método de solução, selecione Mínimos quadrados ordinários. Esta opção especifica o método de cálculo usado para localizar a linha de regressão.

  3. Em Peso de regularização L2, digite o valor a ser usado como peso para regularização L2. Recomendamos que você use um valor diferente de zero para evitar sobreajuste.

    Para saber mais sobre como a regularização afeta o ajuste do modelo, consulte este artigo: Regularização L1 e L2 para Machine Learning

  4. Selecione a opção Incluir termo de intercetação se quiser exibir o termo para a intercetação.

    Desmarque essa opção se não precisar revisar a fórmula de regressão.

  5. Para Semente de número aleatório, você pode, opcionalmente, digitar um valor para semear o gerador de números aleatórios usado pelo modelo.

    O uso de um valor seed é útil se você quiser manter os mesmos resultados em diferentes execuções do mesmo pipeline. Caso contrário, o padrão é usar um valor do relógio do sistema.

  6. Adicione o componente Train Model ao seu pipeline e conecte um conjunto de dados rotulado.

  7. Envie o pipeline.

Resultados para o modelo de mínimos quadrados ordinários

Após a conclusão da formação:

  • Para fazer previsões, conecte o modelo treinado ao componente Modelo de pontuação, juntamente com um conjunto de dados de novos valores.

Criar um modelo de regressão usando a descida de gradiente online

  1. Adicione o componente Modelo de Regressão Linear ao seu pipeline no designer.

    Você pode encontrar esse componente na categoria Aprendizado de Máquina. Expanda Inicializar Modelo, expanda Regressão e arraste o componente Modelo de Regressão Linear para o pipeline

  2. No painel Propriedades, na lista suspensa Método de solução, escolha Descida de gradiente online como o método de computação usado para localizar a linha de regressão.

  3. Para Criar modo de treinador, indique se deseja treinar o modelo com um conjunto predefinido de parâmetros ou se deseja otimizar o modelo usando uma varredura de parâmetros.

    • Parâmetro único: Se você souber como deseja configurar a rede de regressão linear, poderá fornecer um conjunto específico de valores como argumentos.

    • Intervalo de parâmetros: selecione esta opção se não tiver certeza dos melhores parâmetros e quiser executar uma varredura de parâmetros. Selecione um intervalo de valores para iterar e o Tune Model Hyperparameters itera sobre todas as combinações possíveis das configurações fornecidas para determinar os hiperparâmetros que produzem os resultados ideais.

  4. Para Taxa de aprendizagem, especifique a taxa de aprendizagem inicial para o otimizador de descida de gradiente estocástico.

  5. Em Número de épocas de treinamento, digite um valor que indique quantas vezes o algoritmo deve iterar através de exemplos. Para conjuntos de dados com um pequeno número de exemplos, este número deve ser grande para alcançar a convergência.

  6. Normalizar recursos: Se você já tiver normalizado os dados numéricos usados para treinar o modelo, poderá desmarcar essa opção. Por padrão, o componente normaliza todas as entradas numéricas para um intervalo entre 0 e 1.

    Nota

    Lembre-se de aplicar o mesmo método de normalização aos novos dados usados para pontuação.

  7. Em Peso de regularização L2, digite o valor a ser usado como peso para regularização L2. Recomendamos que você use um valor diferente de zero para evitar sobreajuste.

    Para saber mais sobre como a regularização afeta o ajuste do modelo, consulte este artigo: Regularização L1 e L2 para Machine Learning

  8. Selecione a opção Diminuir a taxa de aprendizagem se quiser que a taxa de aprendizagem diminua à medida que as iterações progridem.

  9. Para Semente de número aleatório, você pode, opcionalmente, digitar um valor para semear o gerador de números aleatórios usado pelo modelo. O uso de um valor seed é útil se você quiser manter os mesmos resultados em diferentes execuções do mesmo pipeline.

  10. Treine o modelo:

    • Se você definir Create trainer mode como Single Parameter, conecte um conjunto de dados marcado e o componente Train Model .

    • Se você definir Criar modo de treinamento como Intervalo de parâmetros, conecte um conjunto de dados marcado e treine o modelo usando Ajustar hiperparâmetros do modelo.

    Nota

    Se você passar um intervalo de parâmetros para Train Model, ele usará apenas o valor padrão na lista de parâmetros únicos.

    Se você passar um único conjunto de valores de parâmetro para o componente Ajustar Hiperparâmetros do Modelo, quando ele espera um intervalo de configurações para cada parâmetro, ele ignora os valores e usa os valores padrão para o aluno.

    Se você selecionar a opção Intervalo de parâmetros e inserir um único valor para qualquer parâmetro, esse único valor especificado será usado durante toda a varredura, mesmo que outros parâmetros sejam alterados em um intervalo de valores.

  11. Envie o pipeline.

Resultados para descida de gradiente on-line

Após a conclusão da formação:

  • Para fazer previsões, conecte o modelo treinado ao componente Modelo de pontuação, juntamente com novos dados de entrada.

Próximos passos

Consulte o conjunto de componentes disponíveis para o Azure Machine Learning.