R의 그라데이션 하강 vs lm () 함수?


14

Andrewford의 무료 온라인 기계 학습 과정 (Stanford) 의 비디오를 살펴 보겠습니다 . 그는 옥타브에서 선형 회귀 및 쓰기 함수를 해결하는 알고리즘으로 Gradient Descent를 설명합니다. 아마도 R에서 해당 함수를 다시 작성할 수 있지만 내 질문은 lm () 함수가 이미 선형 회귀 출력을 제공하지 않는 것입니까? 왜 그래디언트 디센트 함수를 작성하고 싶습니까? 어떤 장점이 있습니까, 아니면 순수하게 학습 연습입니까? lm ()은 기울기 하강을 수행합니까?


R에 좋은 솔루션이없는 경우 (예를 들어, 빅 데이터를 사용한 정규 회귀와 같은 회귀의 변형)
— Manoel Galdino

답변:


20

그라디언트 디센트는 실제로 선형 회귀 문제를 해결하는 아주 나쁜 방법입니다. lm()R 의 함수는 내부적으로 QR 분해 형식을 사용하므로 훨씬 효율적입니다. 그러나 그래디언트 디센트는 일반적으로 유용한 기술이며이 간단한 컨텍스트에서 도입 할 가치가 있으므로보다 복잡한 문제에 적용하는 방법이 더 명확합니다. 학습 연습으로 자신의 버전을 구현하려면 할 가치가 있지만 lm()선형 회귀를 수행하는 도구라면 원하는 것이 좋습니다.


우리가 많은 기능을 가지고 있다면 @Martin lm ()이 더 나을 수 있을까요?
— user2626445

0

온라인 그라디언트가 유용한 이유는 대규모 응용 프로그램에 대한 것입니다. 어쨌든 이제는 그것을 구현하는 라이브러리가 있으므로 프로그래밍 할 필요가 없습니다. 일이 어떻게 작동하는지 배우는 좋은 방법입니다.

Leon Bottou의 말에서 :

대규모 기계 학습은 엔지니어링 문제로 처음 접근했습니다. 예를 들어, 더 큰 훈련 세트를 활용하기 위해 병렬 컴퓨터를 사용하여 알려진 기계 학습 알고리즘을 실행하거나보다 고급의 수치 방법을 적용하여 알려진 기계 학습 목표 기능을 최적화 할 수 있습니다. 이러한 접근법은 통계적 측면을 기계 학습 문제의 계산 측면에서 분리 할 수 ​​있다는 매력적인 가정에 의존합니다.

이 연구는이 가정이 틀렸다는 것을 보여주고, 포기하면 훨씬 더 효과적인 학습 알고리즘으로 이어진다. 새로운 이론적 프레임 워크는 학습 알고리즘에 대한 근사 최적화의 영향을 고려합니다.

분석은 소규모 및 대규모 학습 문제의 경우 뚜렷한 상충 관계를 보여줍니다. 소규모 학습 문제는 일반적인 근사-추정 트레이드 오프에 종속됩니다. 대규모 학습 문제는 기본 최적화 알고리즘의 계산 복잡성을 사소한 방식으로 포함하는 질적으로 다른 상충 관계에 놓여 있습니다. 예를 들어, SGcha (Stochastic Gradient Descent) 알고리즘은 평범한 최적화 알고리즘 인 것처럼 보이지만 대규모 학습 문제에서 매우 우수한 성능을 발휘합니다.

대규모 학습

sgd 프로젝트

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.