Andrew Ng - Machine Learning Cost Function

jaehee kim·2020년 8월 3일
0
post-thumbnail

coursera에서 Andrew Ng 교수님의 Machine Learning 강의를 듣고 정리하였습니다.

Cost Function


그럼, hypothesis function에서 θ0\theta_{0}θ1\theta_{1}은 어떻게 고를까요?

θ0\theta_{0}θ1\theta_{1}을 어떻게 선택하냐에 따라서 hypothesis function은 달라질 것입니다.

linear regression에서 우리가 하려는 것은 최소화 문제를 푸는 것입니다.

우리는 적절한 θ0\theta_{0}θ1\theta_{1} 선택해서 h(x) 와 y의 차이를 작게 만들것입니다.

minθ0,θ11 2mi=1m(hθ(x(i))y(i))2min_{\theta_{0}, \theta_{1}} {1 \over \ 2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2

i : i 번째 샘플

m : 전체 트레인 샘플 수

h(x) : 예측한 값 → hθ(x(i))=θ0+θ1x(i)h_{\theta}(x^{(i)}) = \theta_{0} + \theta_{1}x^{(i)}

y : 실제 값

식에 1/2을 곱해주는 것은 계산 쉽게하기위해서 곱해줍니다.

J(θ0,θ1)=1 2mi=1m(hθ(x(i))y(i))2minθ0,θ1J(θ0,θ1)J(\theta_{0},\theta_{1}) = {1 \over \ 2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2 \\min_{\theta_{0}, \theta_{1}} J(\theta_{0},\theta_{1})

식을 명확하게 해주면 위와 같습니다. 여기서 J(θ0,θ1)J(\theta_{0}, \theta_{1}) 을 Cost function 이라고 합니다. 이 Cost function 을 Squared error function 이라고도 합니다.

hypothesis function을 단순화하여, 다시 살펴보겠습니다.

θ0\theta_{0}을 0 이라고 하면, hypothesis function은 다음과 같이 단순화됩니다.

hθ(x)=θ1xh_{\theta}(x) = \theta_{1}x

그럼, Cost function 도 다음과 같게됩니다.

J(θ1)=1 2mi=1m(hθ(x(i))y(i))2minθ1J(θ1)J(\theta_{1}) = {1 \over \ 2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2 \\ min_{\theta_{1}} J(\theta_{1})

x,y = [1,1], [2,2], [3,3] 인 데이터에 대해서 예시를 살펴봅시다.

hθ(x)h_{\theta}(x)

(θ1\theta_{1}은 고정되어있고, x 에 대한 함수입니다.)

θ1\theta_{1} = 1 → hθ(x)h_{\theta}(x) = x

θ1\theta_{1} = 0.5 → hθ(x)h_{\theta}(x) = 0.5x

θ1\theta_{1} = 0 → hθ(x)h_{\theta}(x) = 0

J(θ1)J(\theta_{1})

(θ1\theta_{1} 에 대한 함수입니다.)

J(θ1)J(\theta_{1}) = 1 2m(02+02+02)=0{1 \over \ 2m}(0^2 + 0^2+0^2)=0

J(θ1)J(\theta_{1}) = 1 2m((0.51)2+(12)2+(1.53)2)=0.68{1 \over \ 2m}((0.5-1)^2 + (1-2)^2+(1.5-3)^2)=0.68

J(θ1)=1 2m((1)2+(2)2+(3)2)=2.3J(\theta_{1}) = {1 \over \ 2m}((1)^2 + (2)^2+(3)^2)=2.3

J(θ1)J(\theta_{1}) 에 대해서 그래프를 그려보면 위와 같을 것입니다.

θ0\theta_{0}가 0 이 아닌 경우에 대해서도 살펴보겠습니다. J(θ0,θ1)J(\theta_{0},\theta_{1}) 에 대해서 그래프를 그려보면 다음과 같을 것입니다.

등고선 형태의 그래프로 그려보면 다음과 같을 것입니다.

이 그래프에서는 중심으로 갈수록 최솟값을 나타냅니다.










notion 정리
[notion] Andrew Ng - Machine Learning Cost Function

0개의 댓글