선형 회귀를 분석적으로 풀 수 있는데 왜 경사 하강 법인가
선형 회귀 공간에서 Gradient Descent를 사용하면 어떤 이점이 있습니까? 분석 방법을 사용하여 문제를 해결할 수있는 것처럼 보입니다 (최소 비용 함수 인 theta0-n 찾기). 그래도 그래도 그래도 하강 법을 사용하여 동일한 작업을 수행하려는 이유는 무엇입니까? 감사
비용 함수를 분석적으로 풀기 위해 정규 방정식 을 사용할 때 다음 을 계산해야합니다.
여기서 X는 입력 관측의 행렬이고 y는 출력 벡터입니다. 이 연산의 문제는 O (n ^ 3) 인 nxn 행렬의 역을 계산하는 시간 복잡도이며 n이 증가함에 따라 완료하는 데 매우 오랜 시간이 걸릴 수 있습니다.
n이 낮 으면 (n <1000 또는 n <10000) 정규 방정식을 계산 세타에 대한 더 나은 옵션으로 생각할 수 있지만 더 큰 값의 경우 Gradient Descent 가 훨씬 더 빠르기 때문에 유일한 이유는 시간입니다. :)
문제에 대한 자세한 내용을 제공해야합니다. 정확히 무엇에 대해 질문하고 있습니까? 우리는 하나 또는 여러 차원의 선형 회귀에 대해 이야기하고 있습니까? 단순하거나 일반화 된 것?
일반적으로 사람들은 왜 GD를 사용합니까?
- 구현하기 쉽습니다.
- 매우 일반적인 최적화 기술입니다. 모델을 더 일반적인 것으로 변경하더라도 계속 사용할 수 있습니다.
그렇다면 분석 솔루션은 어떻습니까? 글쎄요, 우리 는 그것들을 사용합니다, 당신의 주장은 여기에서 단순히 거짓입니다 (우리가 일반적으로 이야기하는 경우). 예를 들어 OLS 방법은 널리 사용되는 폐쇄 된 형태의 분석 솔루션입니다. 분석 솔루션을 사용할 수 있다면 계산적으로 저렴합니다 (때로는 GD가 더 저렴하거나 더 빠르기 때문에). 그러면 사용할 수 있고 사용해야합니다.
그럼에도 불구하고 이것은 항상 일부 장단점의 문제입니다. 분석 솔루션은 모델과 밀접하게 연결되어 있으므로 향후 모델을 일반화 / 변경하려는 경우이를 구현하는 것이 비효율적 일 수 있습니다. 때로는 수치 근사치보다 덜 효율적이며 때로는 구현하기가 더 어렵습니다. 위에 해당하지 않는 경우 - 당신은 해야한다 분석 솔루션을 사용, 사람들은 정말, 그것을 할.
요약하면 다음과 같은 경우 분석 솔루션보다 GD를 사용합니다.
- 모델 변경, 일반화, 더 복잡한 용어 추가 / 정규화 / 수정을 고려하고 있습니다.
- 코드와 모델의 미래에 대해 잘 모르기 때문에 일반적인 방법이 필요합니다 (당신은 개발자 중 한 명일뿐입니다)
- 분석 솔루션은 계산 비용이 더 많이 들고 효율성이 필요합니다.
- 분석 솔루션에는 더 많은 메모리가 필요합니다.
- 분석 솔루션은 구현하기 어렵고 쉽고 간단한 코드가 필요합니다.
https://stats.stackexchange.com/questions/23128/solving-for-regression-parameters-in-closed-form-vs-gradient-descent 에서 아주 좋은 대답을 보았습니다.
기본적으로 이유는 다음과 같습니다.
1. 대부분의 비선형 회귀 문제에는 폐쇄 형 솔루션이 없습니다.
2. 선형 회귀 (폐쇄 형 솔루션을 사용할 수있는 몇 안되는 경우 중 하나)에서도 공식을 사용하는 것은 비현실적 일 수 있습니다. 다음 예제는 이것이 발생할 수있는 한 가지 방법을 보여줍니다.
다른 이유는 경사 하강 법이 선형 회귀를 일반화 할 때 즉시 유용하기 때문입니다. 특히 문제에 Lasso (가중 벡터의 절대 값의 합으로 구성된 정규화 항을 추가 함) 와 같이 폐쇄 형 솔루션이없는 경우에 유용 합니다.
'Programing' 카테고리의 다른 글
PHP가 private const를 허용하지 않는 이유는 무엇입니까? (0) | 2020.11.05 |
---|---|
openssl_encrypt에서 초기화 벡터 사용 (0) | 2020.11.05 |
Apache / PHP에서 세션 파일의 위치 (0) | 2020.11.04 |
C #을 사용하여 디렉토리 내에서 파일 이름 만 얻는 방법은 무엇입니까? (0) | 2020.11.04 |
인덱스로 숫자가 아닌 객체 속성에 액세스 하시겠습니까? (0) | 2020.11.04 |