Componente Regressão Linear
Este artigo descreve o 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, treinar um modelo usando um conjunto de dados rotulado. O modelo treinado pode então ser usado para fazer previsões.
Sobre regressão linear
A regressão linear é um método estatístico comum, que foi adotado no aprendizado de máquina e aprimorado com muitos métodos novos para ajustar a linha e medir o erro. Em síntese, regressão refere-se à previsão de um destino numérico. A regressão linear ainda é uma boa opção quando se deseja um modelo simples para uma tarefa de previsão básica. A regressão linear também tende a funcionar bem em conjuntos de dados esparsos, altamente dimensionais 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 livremente e alguns tipos de regressão fornecidos em outras ferramentas não têm suporte.
O problema de regressão clássica envolve uma única variável independente e uma variável dependente. É a chamada regressão simples. Esse componente dá suporte à 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 nos quais são usadas múltiplas entradas 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, como a maioria dos outros componentes de regressão.
Regressão de multi-rótulo é a tarefa de prever múltiplas variáveis dependentes em um único modelo. Por exemplo, na regressão logística de multi-rótulo, um exemplo pode ser atribuído para vários rótulos diferentes. (Isso é diferente da tarefa de prever ´múltiplos níveis dentro de uma única variável de classe.)
Não há suporte para esse tipo de regressão no Azure Machine Learning. Para prever múltiplas variáveis, crie um aprendiz separado para cada saída que deseja prever.
Há anos os estatísticos desenvolvem métodos cada vez mais avançados de regressão. Isso é verdadeiro mesmo para a regressão linear. Esse componente dá suporte a dois métodos para medir o erro e ajustar a linha de regressão: método de mínimos quadrados ordinários e gradiente descendente.
O gradiente descendente é um método que minimiza a quantidade de erro em cada etapa do processo de treinamento do modelo. Há muitas variações do espaço descendente do gradiente e a otimização para vários problemas de aprendizado tem sido muito estudada. Ao escolher essa opção como Método de solução, é possível definir vários parâmetros para controlar o tamanho da etapa, a taxa de aprendizado e assim por diante. Essa opção também dá suporte ao uso de uma varredura de parâmetro integrada.
Os mínimos quadrados ordinários são uma das técnicas mais usadas na regressão linear. Por exemplo, o método usado nas ferramentas de análise do Microsoft Excel é o de mínimos quadrados ordinários.
Os quadrados mínimos comuns se referem à 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 ao quadrado. Este método assume que há uma relação linear muito forte entre as entradas e a variável dependente.
Configurar Regressão Linear
Esse componente dá suporte a dois métodos para ajustar um modelo de regressão, com opções diferentes:
Ajustar um modelo de regressão usando mínimos quadrados ordinários
Para pequenos conjuntos de dados, é melhor selecionar os mínimos quadrados ordinários. Isso deve dar resultados muito semelhantes para o Excel.
Criar um modelo de regressão usando o gradiente descendente
O espaço descendente do gradiente é uma função de perda melhor para modelos que são mais complexos, ou que têm muito poucos dados de treinamento, dado o número de variáveis.
Criar um modelo de regressão usando mínimos quadrados ordinários
Adicione o componente Modelo de Regressão Linear ao pipeline no designer.
Esse componente pode ser encontrado na categoria Machine Learning. Expanda Inicializar Modelo, expanda Regressãoe arraste o componente Modelo de Regressão Linear para seu pipeline.
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 computação usado para localizar a linha de regressão.
Em Peso de regularização L2, digite o valor a ser usado como o peso para regularização L2. Recomendamos o uso de um valor diferente de zero para evitar o sobreajuste.
Para saber mais sobre como a regularização afeta o ajuste do modelo, consulte este artigo: Regularização de L1 e L2 para Machine Learning
Selecione a opção Incluir termo de interceptação, se quiser exibir o termo para a interceptação.
Desmarque esta opção se não precisar revisar a fórmula de regressão.
Para a Semente de número aleatório, é possível, opcionalmente, digitar um valor para propagar o gerador de número aleatório usado pelo modelo.
O uso de um valor de propagação é útil se quiser manter os mesmos resultados através de execuções diferentes do mesmo pipeline. Caso contrário, o padrão é usar um valor do relógio do sistema.
Adicione o componente Treinar Modelo ao pipeline e conecte um conjunto de dados rotulado.
Envie o pipeline.
Resultados para o modelo de mínimos quadrados ordinários
Após a conclusão do treinamento:
- Para fazer previsões, conecte o modelo treinado ao componente Modelo de Pontuação, juntamente com um conjunto de dados com os novos valores.
Criar um modelo de regressão usando o gradiente descendente
Adicione o componente Modelo de Regressão Linear ao pipeline no designer.
Esse componente pode ser encontrado na categoria Machine Learning. Expanda Inicializar Modelo, expanda Regressãoe arraste o componente Modelo de Regressão Linear para seu pipeline
No painel Propriedades, na lista suspensa método de solução, escolha descendente de gradiente online como o método de computação usado para localizar a linha de regressão.
Para Criar Modo de Aprendizagem, indique se deseja treinar o modelo com um conjunto predefinido de parâmetros ou se deseja otimizar o modelo usando uma varredura de parâmetro.
Parâmetro Único: se já sabe como configurar a rede de regressão linear, é possível 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âmetro. Selecione um intervalo de valores para iteração e o Ajustar os Hiperparâmetros do Modelo itera sobre todas as combinações possíveis das configurações fornecidas para determinar os hiperparâmetros que produzem os resultados ideais.
Para a Taxa de aprendizagem, especifique a taxa de aprendizagem inicial para o otimizador de deslocamento do gradiente descendente estocástico.
Para o Número de épocas de treinamento, digite um valor que indique quantas vezes o algoritmo deve iterar por meio de exemplos. Para conjuntos de dados com um pequeno número de exemplos, esse número deverá ser grande para alcançar convergência.
Normalizar recursos: se 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.
Observação
Lembre-se de aplicar o mesmo método de normalização aos novos dados usados para pontuação.
Em Peso de regularização L2, digite o valor a ser usado como o peso para regularização L2. Recomendamos o uso de um valor diferente de zero para evitar o sobreajuste.
Para saber mais sobre como a regularização afeta o ajuste do modelo, consulte este artigo: Regularização de L1 e L2 para Machine Learning
Selecione a opção Diminuir taxa de aprendizadocaso queira que a taxa de aprendizagem diminua conforme as iterações progridem.
Para a Semente de número aleatório, é possível, opcionalmente, digitar um valor para propagar o gerador de número aleatório usado pelo modelo. O uso de um valor de propagação é útil se quiser manter os mesmos resultados através de execuções diferentes do mesmo pipeline.
Treinar o modelo:
Se você definir Criar modo treinador como Parâmetro Único, conecte um conjunto de dados marcado e o componente Treinar Modelo.
Se definir Criar modo de aprendizagem como Intervalo de parâmetros, conecte um conjunto de dados marcado e treine o modelo usando Ajustar hiperparâmetros do modelo.
Observação
Se você passar um intervalo de parâmetros para Treinar modelo, ele usará apenas o valor padrão na lista de parâmetros únicos.
Se você passar apenas um conjunto de valores de parâmetro para o componente Ajustar Hiperparâmetros do Modelo, quando ele espera receber um intervalo de configurações para cada parâmetro, ele ignorará os valores e usará os valores padrão para o aprendiz.
Se escolher a opção Intervalo de Parâmetros e inserir um único valor para um parâmetro, esse valor único especificado será usado em toda a varredura, mesmo que outros parâmetros sejam alterados em um intervalo de valores.
Envie o pipeline.
Resultados para a gradiente descendente online
Após a conclusão do treinamento:
- Para fazer previsões, conecte o modelo treinado ao componente Modelo de Pontuação, junto com os novos dados de entrada.
Próximas etapas
Confira o conjunto de componentes disponíveis no Azure Machine Learning.