그라디언트 디센트가 선형 회귀에 사용되는 주된 이유는 계산 복잡성입니다. 경우에 따라 그라디언트 디센트를 사용하여 솔루션을 찾는 것이 계산 상 저렴합니다 (빠른).
작성한 수식은 일 변량의 경우, 즉 변수가 하나 뿐인 경우에만 작동하기 때문에 계산 방식이 매우 간단합니다. 다변량의 경우 변수가 많은 경우 공식은 종이에서 약간 더 복잡 하고 소프트웨어에서 구현할 때 훨씬 더 많은 계산이 필요 합니다.
여기에서 행렬 를 계산 한 다음 뒤집어 야합니다 (아래 참고 참조). 비싼 계산입니다. 참고로 (설계) 행렬 X에는 K + 1 개의 열이 있습니다. 여기서 K는 예측 변수의 수와 N 개의 관측치 행입니다. 기계 학습 알고리즘에서는 K> 1000 및 N> 1,000,000으로 끝날 수 있습니다. 행렬 자체는 다음 반전이 계산하는 데 약간의 시간이 걸립니다X ' X X ' X K × K
β= ( X'엑스)− 1엑스'와이
엑스'엑스엑스'엑스케이× K 행렬-이것은 비싸다.
따라서 경사 하강은 계산에 많은 시간을 절약 할 수 있습니다. 또한, 수행 방식에 따라 사소한 병렬화가 가능합니다. 즉, 여러 프로세서 또는 시스템에 계산을 분산시킵니다. 선형 대수 솔루션도 병렬화 할 수 있지만 더 복잡하고 여전히 비쌉니다.
또한 데이터의 일부만 메모리에 보관하면 컴퓨터 메모리 요구 사항이 낮아 지므로 그라데이션 하강 버전이 있습니다. 전반적으로, 초대형 문제의 경우 선형 대수 솔루션보다 효율적입니다.
머신 러닝에서와 같이 수천 개의 변수가있을 때 차원이 증가함에 따라 더욱 중요해집니다.
비고 . Ng의 강의에서 기울기 강하에 많은 관심을 기울이는 것에 놀랐습니다. 그는 그것에 대해 이야기하는 데 사소한 시간을 쏟을 것입니다. 나에게 그것은 구현 세부 사항 일뿐입니다. 정확히 최적을 찾는 방법입니다. 핵심은 최적화 문제를 공식화하는 데 있으며, 정확히 어떻게 찾을 수 있는지는 중요하지 않습니다. 나는 그것에 대해 너무 걱정하지 않을 것입니다. 그것을 컴퓨터 과학 사람들에게 맡기고 통계 학자로서 당신에게 중요한 것에 집중하십시오.
이것을 말하면서 솔루션 알고리즘 의 계산 복잡성과 수치 안정성 을 이해 하는 것이 실제로 중요하다고 말함으로써 자격을 갖추어야 합니다. 나는 여전히 알고리즘의 구현 및 코드에 대한 세부 사항을 알아야한다고 생각하지 않습니다. 통계 학자로서 당신의 시간을 가장 잘 사용하는 것은 아닙니다.
참고 1 . 나는 교훈적인 목적으로 행렬을 뒤집어 야한다고 썼는데 그것은 평소 방정식을 푸는 방법이 아닙니다. 실제로 선형 대수 문제는 QR과 같은 일종의 인수 분해를 사용하여 해결됩니다. 여기서 행렬을 직접 반전시키지 않고 수학적으로 동등한 다른 조작을 수행하여 답을 얻습니다. 행렬 반전은 많은 경우 비싸고 수치 적으로 불안정한 작업이기 때문에 이렇게합니다.
그래디언트 디센트 알고리즘의 부작용은 부작용으로 나타납니다. 디자인 매트릭스에 공선 성 문제가있는 경우에도 작동합니다. 일반적인 선형 대수 경로는 폭파하고 구배 하강은 공선 예측 변수에서도 계속 진행됩니다.