Coursera 자료를 사용하여 기계 학습을 배우려고했습니다 . 이 강의에서 Andrew Ng는 기울기 하강 알고리즘을 사용하여 오차 함수 (비용 함수)를 최소화 할 선형 회귀 모델의 계수를 찾습니다.
선형 회귀의 경우 그라디언트 디센트가 필요합니까? 오차 함수를 분석적으로 차별화하고 계수를 풀기 위해 0으로 설정할 수 있습니다. 맞습니까?
Coursera 자료를 사용하여 기계 학습을 배우려고했습니다 . 이 강의에서 Andrew Ng는 기울기 하강 알고리즘을 사용하여 오차 함수 (비용 함수)를 최소화 할 선형 회귀 모델의 계수를 찾습니다.
선형 회귀의 경우 그라디언트 디센트가 필요합니까? 오차 함수를 분석적으로 차별화하고 계수를 풀기 위해 0으로 설정할 수 있습니다. 맞습니까?
답변:
선형 최소 제곱은 다음과 같이 해결할 수 있습니다.
0) 제한되지 않은 선형 최소 제곱에 대해 아래 설명 된대로 SVD 또는 QR을 기반으로하는 고품질 선형 최소 제곱 솔버를 사용하거나 아래 설명 된대로 제한 또는 선형 제한 최소 제곱에 대한 2 차 프로그래밍 또는 원뿔 최적화 버전을 기반으로합니다. 이러한 솔버는 미리 준비되어 있으며 많은 테스트를 거쳐 바로 사용할 수 있습니다.
1) SVD는 가장 신뢰할 수 있고 수치 적으로 정확한 방법이지만 대안보다 더 많은 컴퓨팅을 필요로합니다. MATLAB에서 구속되지 않은 선형 최소 제곱 문제 A * X = b의 SVD 솔루션은 pinv (A) * b이며, 매우 정확하고 신뢰할 수 있습니다.
2) QR은 상당히 신뢰할 수 있고 수치 적으로 정확하지만 SVD만큼 크지 않으며 SVD보다 빠릅니다. MATLAB에서 구속되지 않은 선형 최소 제곱 문제 A * X = b의 QR 솔루션은 A \ b입니다. 이는 A가 잘못 조정 된 경우 (즉, 조건 번호가 큰 경우)를 제외하고는 상당히 정확하고 신뢰할 수 있습니다. A \ b는 pinv (A) * b보다 계산 속도가 빠르지 만 신뢰성이 높거나 정확하지는 않습니다.
3) 정규 방정식의 형성
3a) Cholesky Factorization으로 해결하기 (좋지 않음)
3b) 명시 적으로 반전 행렬 (HORRIBLE)
4) 2 차 프로그래밍 문제 또는 2 차 콘 문제로 해결
4a) 고품질 2 차 프로그래밍 소프트웨어를 사용하여 해결합니다. 이는 신뢰성 있고 수치 적으로 정확하지만 SVD 또는 QR보다 시간이 오래 걸립니다. 그러나 목적 함수에 바운드 또는 일반 선형 구속 조건 또는 선형 또는 2 차 (2 표준) 페널티 또는 정규화 용어를 쉽게 추가 할 수 있으며 2 차 프로그래밍 소프트웨어를 사용하여 문제를 여전히 해결할 수 있습니다.
4b) 고품질 Conic Optimization 소프트웨어를 사용하여 2 차 콘 문제를 해결하십시오. 설명은 2 차 프로그래밍 소프트웨어의 경우와 동일하지만 경계 또는 일반 선형 구속 조건 및 기타 원뿔 제약 조건 또는 다양한 표준의 페널티 또는 정규화 조건과 같은 목적 함수 조건을 추가 할 수도 있습니다.
5) 고품질 범용 비선형 최적화 소프트웨어를 사용하여 해결하십시오. 이것은 여전히 잘 작동 할 수 있지만 일반적으로 2 차 프로그래밍 또는 Conic Optimization 소프트웨어보다 느리고 신뢰성이 떨어질 수 있습니다. 그러나 바운드 및 일반 선형 구속 조건뿐만 아니라 비선형 구속 조건을 최소 제곱 최적화에 포함시킬 수도 있습니다. 또한 비선형 최소 제곱에 사용할 수 있으며 다른 비선형 항이 목적 함수에 추가 된 경우에도 사용할 수 있습니다.
6) 까다로운 범용 비선형 최적화 알고리즘을 사용하여 해결하십시오-> 절대로 이것을하지 마십시오.
7) WORST POSSIBLE 범용 비선형 최적화 알고리즘을 사용하여, 즉 기울기 하강을 해결합니다. 누군가가 당신에게 선형 하강 제곱 문제를 해결하기 위해 그라데이션 하강을 사용하도록 지시하는 경우 솔루션 방법이 얼마나 나쁘고 신뢰할 수 없는지 보려면 이것을 사용하십시오
7 i) 그것에 대해 알고있는 사람으로부터 통계 계산에 대해 배웁니다.
7 ii) 그것에 대해 아는 사람으로부터 최적화를 배우십시오.
선형 모델의 계수를 찾는 것은 기술적 으로 일련의 선형 방정식에 대한 해를 찾는 프로세스입니다 .
이러한 솔루션을 계산하기 위해 많은 optimization techniques
것이 개발되었으며 Gradient Descent
그 중 하나입니다.
따라서 Gradient Descent가 유일한 방법 은 아닙니다 .
이 때문에 과정은 앤드류 잉이 그것을 사용하는 간단한 고급 선형 대수 및 수치 계산을 처리하지 않고, 이해하기.
GD
-gradient decent-는 고급 방법 (예 : SGD
stochastic GD
) 을 도입하기위한 예로 사용됩니다 .
SGD