Vou ver os vídeos do curso de aprendizado de máquina on - line gratuito de Andrew Ng em Stanford. Ele discute o Gradient Descent como um algoritmo para resolver funções de regressão linear e escrita no Octave para executá-lo. Presumivelmente, eu poderia reescrever essas funções em R, mas minha pergunta é: a função lm () já não me fornece a saída da regressão linear? Por que eu gostaria de escrever minha própria função de descida de gradiente? Existe alguma vantagem ou é puramente um exercício de aprendizado? Lm () diminui gradualmente?
r
regression
machine-learning
gradient-descent
Do utilizador
fonte
fonte
Respostas:
A descida de gradiente é realmente uma maneira muito ruim de resolver um problema de regressão linear. A
lm()
função em R usa internamente uma forma de decomposição QR , que é consideravelmente mais eficiente. No entanto, a descida do gradiente é uma técnica geralmente útil e vale a pena introduzir neste contexto simples, para que fique mais claro como aplicá-la em problemas mais complexos. Se você deseja implementar sua própria versão como um exercício de aprendizado, vale a pena fazer isso, maslm()
é uma escolha melhor se tudo que você deseja é uma ferramenta para fazer regressão linear.fonte
O motivo pelo qual o gradiente on-line é útil é para aplicativos de grande escala. De qualquer forma, agora existem bibliotecas que o implementam, para que você não precise programá-lo. É uma boa maneira de aprender como as coisas funcionam.
Nas palavras de Leon Bottou:
Aprendizagem em larga escala
projeto sgd
fonte