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.