Moglobin's
article thumbnail

학습목표: 선형회귀(Linear Regression)의 비용을 최소화하는 방법을 알아본다.

핵심키워드: 선형회귀(Linear Regression), 가설(Hypothesis), 비용함수(Cost Function), 경사 하강법(Gradient Descent),                    블록 함수(Convex function)

 

 

 복습.

우리의 가설(H(x))과 실제 데이터(y)의 차이의 제곱한 값을 데이터 전체 개수(m)로 나눠서 계산.

 에러 제곱의 평균이라고 말함.

 

cost 값이 작아야 실제를 잘 반영한다고 볼 수 있음.

 

간략화된 버전. b가 생략.

b 는 나중에 W가 matrix 가 되면서 그 안으로 들어감. 

 

 

 

간단한 예제를 통해 cost 가 W 의 값에 따라 어떻게 변화하는지 알아보자.

 

 

 

 

더 촘촘하게 값을 대입해보면

 

 

cost 가 최소화 되는 지점을 알 수 있다.

 인간이 보는 눈으로는 그래프를 보고 쉽게 찾을 수 있지만 

컴퓨터가 이를 찾게 하려면 이를 기계적으로 찾을 알고리즘을 알려줘야한다.

 

 경사 하강 알고리즘을 통해 그 최솟값을 찾아나간다.

 

How it works:

 

 

최초 추정을 통해 W, b 값을 지정.

cost 값이 점차 줄어들 수 있도록 W, b를 계속 수정.

최소값이 될 때까지 반복.

 

지점에서의 기울기 값을 구하는 것을 반복. 

기울기가 가장 낮은 지점에 도달.

 

Gradient는 미분을 통해 구한다.

 

m 으로 나누든 2m으로 나누든 cost의 특성에는 큰 영향을 주지 않음.

따라서 계산의 편의성을 위해 2m으로 값을 치환하여 계산한다.

 

 

식을 통해 W 값을 계속 업데이트 해줌.

 알파 값은 매우 작은 값을 사용함.

 

 

cost 함수를 미분, 알파를 곱해서 기존 W 에서 뺌.

 알파(학습률)는 적절하게 설정.

계산한 값을 새로 W 에 할당.

반복.

 

W 와 b 값에 따라 cost 값이 어떻게 분포하는지를 표현한 3차원 그래프.

 

local minimum 과 global minimum이 일치하는 경우.

profile

Moglobin's

@슈플로프

Take your time 🍋