선형회귀분석과 관련된 2가지 함수의 의미 정리
이 글은 홍콩 과기대의 김성훈 교수님의 유튜브 강좌를 보고 제 나름대로 조금 더 이해를 하려고 풀어서
정리해본 글입니다.
- 선형회귀분석 가설함수(Hypothesis function)
선형회귀분석의 기본적인 가설 함수 (Hypothesis function). 기존 데이터를 가장 잘 표현하는
직선을 결정하는 함수이며 이 직선은 W와 b를 변화시켜가면서 찾을 수 있다. 바로 이 최적의 W와 b를
찾는 것이 선형회귀분석의 목적이다. 그리고 이렇게 찾아진 W와 b를 함수에 대입하게 되면 기존의
데이터가 아닌 새로운 x값이 나타났을 때 그 새로운 x에 대한 y값을 예측할 수 있게 되는 것이다.
이 과정에서 가장 중요한 것은 기울기를 나타내는 W값이다. 즉, 전체적인 데이터가 그래프 상에서
어떤 모양(어떤 기울기의 직선형 그래프)과 가장 유사한가 하는 것을 확인하는 일이며 b는 그렇게
예측된 직선과 실제 데이터간의 오차를 보정해준다고 생각하면 될 것이다.
W의 역할 | b의 역할 |
- 선형회귀분석 비용함수(cost function)
선형회귀분석에서 가장 적절한 W와 b의 값을 찾는 과정에서 변화하는 W와 b의 값을 검증하는 함수.
검증은 아주 상식적이며 단순하다. 우리가 예측할 직선상의 y값(가설함수의 결과인 y값)과 실제
좌표상의 y값 (우리가 이미 알고있는 실제의y의 값)의 오차가 작으면 작을수록 좋은 값인 것이다.
그래서 우선 H(x(i)) - y(i)라는 공식이 도출된다(H(x(i))는 가설 함수의 결과를 의미한다).
즉, 이 비용 함수는 ‘오차’에 대한 함수인 것이다.
그런데 이 값을 그냥 사용한 것이 아니라 제곱을 했다. 이 것은 그냥 사용하게 될 경우 이 값은
음수와 양수로 그 부호가 달라진다. 위 그림에서 가설함수인 빨간 선 상의 H(x(i))값에서 a의 y값을
뺄 경우에는 그 결과가 음수가 나오고 b의 값을 뺄 경우에는 양수가 나온다. 각각의 데이터에 대해
이렇게 계산을 한 후 평균을 구하기 위해 합산을 하게 되면 양수와 음수가 상쇄되어 계산에 어려움이
생길 것이다. 따라서 제곱을 함으로써 양의 정수로 만들어주는 것이다. 여기까지 만들어진 공식이
(H(x(i)) - y(i))^2이다. 그리고 이렇게 제곱을 할 경우 결과 값이 크면 클수록 제곱 값은
기하급수적으로 커지기 때문에 일종이 패널티 역할을 하게 되는 것이다.
이후 공식은 중고등 수학책을 잠시 열어보면 쉽게 알 수 있다. 시그마(∑) 기호는 밑에 있는 i가 1부터
특정 수인 m까지 늘어나는 동안 기호 우측에 있는 계산식을 모두 더하라는 의미이고 수식의 가장
앞의 1/m은 m개의 계산 결과를 더한 것을 다시 m으로 나눈 것이니 바로 평균의 의미가 되는 것이다.
즉, 이 cost 함수는 예측값과 실제 값의 차(오차)를 제곱한 모든 값의 평균이 되는 것이다.
이렇게 구한 cost 함수의 식을 그래프로 그려보면 다음과 같은 곡선이 만들어진다. 즉, 이 함수는 제곱에
대한 함수이기 때문에 H(x(i)) - y(i)의 절대값이 크면 클수록 cost가 커지고 절대값이 작을 수록 cost가
0에 가까워지는 U자 형태의 그래프로 표현된다.
'Study > 인공지능학습' 카테고리의 다른 글
수학 개념 정리 #2 - 시그마와 미분 (4) | 2017.02.19 |
---|---|
수학 개념 정리 - 기울기와 절편 (2) | 2017.02.18 |
TensorFlow(텐서플로우) 살펴보기 - 3 (0) | 2017.02.04 |
TensorFlow(텐서플로우) 살펴보기 - 2 (0) | 2017.02.03 |
[TensorFlow] Docker image로 설치해보기~ (0) | 2017.01.07 |