폐쇄 형 수학 솔루션을 사용할 수있는 경우 선형 회귀에 그래디언트 디센트를 사용하는 이유는 무엇입니까?


73

기계 학습 과정을 온라인으로 진행하고 가설의 최적 값을 계산하기위한 그라디언트 디센트에 대해 배웠습니다.

h(x) = B0 + B1X

아래 수식으로 값을 쉽게 찾을 수 있다면 왜 그라데이션 하강을 사용해야합니까? 이것은 똑바로 쉽게 보입니다. 그러나 GD는 값을 얻기 위해 여러 번 반복해야합니다.

B1 = Correlation * (Std. Dev. of y/ Std. Dev. of x)

B0 = Mean(Y) – B1 * Mean(X)

참고 : https://www.dezyre.com/data-science-in-r-programming-tutorial/linear-regression-tutorial 에서와 같이 촬영

나는 아래 질문을 확인했고 나에게는 이해가되지 않았다.

경사 하강이 필요한 이유는 무엇입니까?

분석 솔루션이 아닌 기울기 하강으로 최적화가 해결되는 이유는 무엇입니까?

위의 답변은 파생 상품을 사용하는 것과 GD를 비교합니다.


5
선형 회귀 계수를 추정하기 위해 경사 하강이 필요하지 않습니다.
Sycorax

8
@Sycorax "필요하지 않음"은 강력한 진술입니다. 반복적 인 방법은 방대한 데이터에 유용 할 수 있습니다. 메모리에 맞지 않는 데이터 매트릭스가 매우 크다고 가정하십시오.
Haitao Du

8
@ hxd1011 문제에 대한이 실용적인 차원을 명확히 해주셔서 감사합니다. 나는 순수하게 수학적인 용어로 생각하고있었습니다.
Sycorax

답변:


89

그라디언트 디센트가 선형 회귀에 사용되는 주된 이유는 계산 복잡성입니다. 경우에 따라 그라디언트 디센트를 사용하여 솔루션을 찾는 것이 계산 상 저렴합니다 (빠른).

작성한 수식은 일 변량의 경우, 즉 변수가 하나 뿐인 경우에만 작동하기 때문에 계산 방식이 매우 간단합니다. 다변량의 경우 변수가 많은 경우 공식은 종이에서 약간 더 복잡 하고 소프트웨어에서 구현할 때 훨씬 더 많은 계산이 필요 합니다. 여기에서 행렬 를 계산 한 다음 뒤집어 야합니다 (아래 참고 참조). 비싼 계산입니다. 참고로 (설계) 행렬 X에는 K + 1 개의 열이 있습니다. 여기서 K는 예측 변수의 수와 N 개의 관측치 행입니다. 기계 학습 알고리즘에서는 K> 1000 및 N> 1,000,000으로 끝날 수 있습니다. 행렬 자체는 다음 반전이 계산하는 데 약간의 시간이 걸립니다X ' X X ' X K × K

β=(엑스'엑스)1엑스'와이
엑스'엑스엑스'엑스케이×케이 행렬-이것은 비싸다.

따라서 경사 하강은 계산에 많은 시간을 절약 할 수 있습니다. 또한, 수행 방식에 따라 사소한 병렬화가 가능합니다. 즉, 여러 프로세서 또는 시스템에 계산을 분산시킵니다. 선형 대수 솔루션도 병렬화 할 수 있지만 더 복잡하고 여전히 비쌉니다.

또한 데이터의 일부만 메모리에 보관하면 컴퓨터 메모리 요구 사항이 낮아 지므로 그라데이션 하강 버전이 있습니다. 전반적으로, 초대형 문제의 경우 선형 대수 솔루션보다 효율적입니다.

머신 러닝에서와 같이 수천 개의 변수가있을 때 차원이 증가함에 따라 더욱 중요해집니다.

비고 . Ng의 강의에서 기울기 강하에 많은 관심을 기울이는 것에 놀랐습니다. 그는 그것에 대해 이야기하는 데 사소한 시간을 쏟을 것입니다. 나에게 그것은 구현 세부 사항 일뿐입니다. 정확히 최적을 찾는 방법입니다. 핵심은 최적화 문제를 공식화하는 데 있으며, 정확히 어떻게 찾을 수 있는지는 중요하지 않습니다. 나는 그것에 대해 너무 걱정하지 않을 것입니다. 그것을 컴퓨터 과학 사람들에게 맡기고 통계 학자로서 당신에게 중요한 것에 집중하십시오.

이것을 말하면서 솔루션 알고리즘 의 계산 복잡성과 수치 안정성 을 이해 하는 것이 실제로 중요하다고 말함으로써 자격을 갖추어야 합니다. 나는 여전히 알고리즘의 구현 및 코드에 대한 세부 사항을 알아야한다고 생각하지 않습니다. 통계 학자로서 당신의 시간을 가장 잘 사용하는 것은 아닙니다.

참고 1 . 나는 교훈적인 목적으로 행렬을 뒤집어 야한다고 썼는데 그것은 평소 방정식을 푸는 방법이 아닙니다. 실제로 선형 대수 문제는 QR과 같은 일종의 인수 분해를 사용하여 해결됩니다. 여기서 행렬을 직접 반전시키지 않고 수학적으로 동등한 다른 조작을 수행하여 답을 얻습니다. 행렬 반전은 많은 경우 비싸고 수치 적으로 불안정한 작업이기 때문에 이렇게합니다.

그래디언트 디센트 알고리즘의 부작용은 부작용으로 나타납니다. 디자인 매트릭스에 공선 성 문제가있는 경우에도 작동합니다. 일반적인 선형 대수 경로는 폭파하고 구배 하강은 공선 예측 변수에서도 계속 진행됩니다.


17
그러나 Ng 컴퓨터 과학 인입니다.
amoeba

21
당신의 말에 관하여 : 저는 수학자로서 동의했습니다. 그러나 지금은 현대 기계 학습에서 최적화 방법이 본질적으로 최적화되는 목표와 연결되어 있다는 것을 이해하고 있습니다. 드롭 아웃과 같은 일부 정규화 형식은 목표 대신 알고리즘 측면에서보다 명확하게 표현됩니다. 한마디로 : 만약 당신이 딥넷을 가지고 있다면 목적 함수를 유지하지만 최적화 방법을 바꾸면, 당신은 매우 다른 성능을 얻을 수 있습니다. 실제로, 때로는 더 나은 최적화 프로그램이 실제로 더 나쁜 결과를 낳습니다 ...
A. Rex

14
작은 nitpick : 당신은 확실히 X ' X를 거꾸로 하지 않을 것입니다 . 대신 당신은 것 해결 선형 방정식 시스템 X ' X의 β의 =의 X ' Y 에 대한 β를 . 추상적으로는 동일하지만 수치 적으로 훨씬 안정적이며 잠재적으로 훨씬 저렴합니다. 엑스'엑스엑스'엑스β=엑스'와이β
Stephan Kolassa

3
반면에 QR 분해를 사용한 @AnderBiguri 솔루션은 이전 버전보다 안정적이므로 입력 데이터의 불확실성을 감안할 때 최대한 정확한 솔루션을 제공합니다.
Federico Poloni

7
β=(엑스엑스)1엑스와이엑스엑스β=엑스와이

21

먼저 다음 두 개의 게시물을 읽으십시오 (복제하지 않은 경우).

JM의 답변을 확인하십시오

선형 회귀 분석에는 어떤 알고리즘이 사용됩니까?

마크의 답을 (숫자 안정성 관점에서) 확인하십시오.

선형 회귀 모델의 계수를 찾으려면 경사 하강이 필요합니까?


최소화 에이엑스2
2에이(에이엑스)0
에이에이엑스=에이

높은 수준에서 선형 시스템을 해결하는 두 가지 방법이 있습니다. 직접 방법과 반복 방법. 직접 방법은 해결 하고 그라디언트 디센트 (예를 들어 반복 방법)는 직접 해결 합니다.에이에이엑스=에이최소화 에이엑스2

직접적인 방법 비교 (Say QR / LU 분해). 반복적 인 방법은 많은 양의 데이터가 있거나 데이터가 매우 드문 경우 몇 가지 장점이 있습니다.

반면에 Andrew Ng가 강조하는 이유 중 하나는 일반적인 방법 (기계 학습에서 가장 널리 사용되는 방법)이고 로지스틱 회귀 또는 신경망과 같은 다른 모델에서 사용할 수 있기 때문입니다.


너가 확실히 맞아. SGD는 많은 양의 데이터를 처리하는 동안 매우 유용합니다. 증명 교수 방법은 가장 고전적이고 순수한 방법입니다. 명확한 아이디어를 얻으려면 그 시점부터 시작해야합니다. 그것의 모토를 이해할 수 있다면, 전체 선형 추정은 그에게 명백 할 것입니다.
Sandipan Karmakar

1
XTX=xixiTXTX엑스와이엑스

6

Sycorax는 선형 회귀를 추정 할 때 경사 하강이 필요하지 않은 것이 맞습니다. 코스는 간단한 예제를 사용하여 더 복잡한 버전을 서두르 기 위해 그라데이션 하강을 가르 칠 수 있습니다.

그래도 추가하고 싶은 한 가지 좋은 점 은 모델의 과적 합을 방지하기 위해 그라디언트 디센트를 조기 에 종료하는 것과 관련된 작은 연구 틈새가 있다는 것 입니다.


2
과적 합 진술을 위해 링크를 제공 할 수 있습니까? 반복 횟수를 제한하는 것보다 정규화 용어를 추가하는 것이 더 좋습니까?
Haitao Du

Goodfellow 등의 딥 러닝 7 장에서 신경망의 과적 합을 막기위한 조기 중지에 대해 언급 할 수 있습니다.
배트맨

2
조기 중지에 의한 정규화는 결코 새로운 기술이 아닙니다. Landweber 반복에서 잘 알려진 기술입니다. en.wikipedia.org/wiki/Landweber_iteration
cfh

3

(엑스엑스)1엑스와이

언급 한 방법, 즉 상관 관계를 사용하면 예측 변수 하나와 절편 수량 하나에 만 적용 할 수 있습니다. 양식에 주목하십시오. 따라서 예측 변수의 수가 둘 이상인 경우 탈출구는 무엇입니까? 그런 다음 다른 방법, 즉 일반 방정식 또는 최적화에 의지해야합니다.

영형()엑스엑스

당신에게 나의 제안은 단지 문제를 해결하는 것이 아닙니다. 이론을 이해하려고 노력하십시오. Ng 교수는 MOOC에서 기계 학습을 친절하게 가르치는이 세계 최고의 교수 중 한 명입니다. 따라서 그가 이런 식으로 지시 할 때는 잠재적 인 의도가 있어야합니다. 나는 당신이 내 말에 신경 쓰지 않기를 바랍니다.

모두 제일 좋다.


5
"행렬 반전"은 강력히 권장되지 않습니다. QR은 선형 시스템을 해결하기 위해 수치 적으로 더 안정적입니다.
Haitao Du

1
나는 계산 론에 동의한다. 그러나 과적 합 또는 과적 합은 GD 대 정규 방정식을 사용하는 것과 관련이 없으며 (회귀) 모델의 복잡성과 관련이 있습니다. 두 방법 (올바로 작동하는 경우 GD)은 동일한 최소 제곱 솔루션 (있는 경우)을 찾으므로 동일한 양만큼 데이터를 과도하게 또는 덜 적합하게합니다.
Ruben van Bergen

2

첫째, 진짜 이유는 Tim Atreides가 제공 한 이유입니다. 이것은 교육학 운동입니다.

그러나 네트워크 소켓에서 스트리밍되는 수조 개의 데이터 포인트에 대해 선형 회귀를 수행하려는 경우는 거의 없지만 가능합니다. 이 경우, 분석 솔루션의 순진한 평가는 불가능하며, 확률 적 / 적응 적 구배 하강의 일부 변형은 최소한의 메모리 오버 헤드로 올바른 솔루션으로 수렴됩니다.

선형 회귀 분석의 경우 분석 솔루션을 반복 시스템으로 재구성 할 수는 있지만 일반적인 기술은 아닙니다.


2

또 다른 이유는 경사 하강이 더 일반적인 방법이기 때문입니다. 많은 기계 학습 문제의 경우 비용 함수가 볼록하지 않으므로 (예 : 행렬 분해, 신경망) 폐쇄 형 솔루션을 사용할 수 없습니다. 이 경우 구배 하강은 좋은 로컬 최적 점을 찾기 위해 사용됩니다. 또는 온라인 버전을 다시 구현하려면 그래디언트 디센트 기반 알고리즘을 사용해야합니다.

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