-
[Week 1] Model and Cost FunctionCourses/Andrew Ng - Machine Learning 2021. 12. 14. 23:06
Model Representation
저번 시간의 부동산 가격 예측으로 이야기를 계속해봅시다. 연속적인 출력이었기 때문에 우리는 지도 학습 회귀 분석으로 접근해볼 수 있을 것 같습니다.

상기와 같은 데이터가 주어졌을 때 우리는 직감적으로 저런 직선을 그을 수 있습니다. 그리고 어떤 넓이의 집의 가격도 대략적으로 유추해볼 수 있습니다. 즉, 목표는 실제 출력(가격)과 가장 근접한/오차가 작은 출력을 내주는 어떤 일차 함수를 유도해내는 것입니다.

주어진 트레이닝 셋이 위와 같을 때 다음과 같이 표기하기로 합니다.
m = 트레이닝 샘플의 갯수
x = 입력 변수
y = 출력 변수
(i) = i번째 변수
(x(i),y(i)) 는 i번째 트레이닝 샘플의 쌍을 의미합니다.

h : x라는 입력을 넣고 y값을 예측하는 함수
"좋은" 값을 예측할 수 있는 h(x) 함수를 구하는 것이 이상적이겠죠. 적절한 알고리즘을 통해 좋은 가설 함수를 도출하는 것이 목표입니다.

위 식이 우리가 사용할 가설함수의 형태입니다. 잘 보면 일차함수 꼴을 하고 있죠. (y =ax+b)
Cost Function
이렇게 구한 h함수(가설 함수)의 정확도는 비용 함수(Cost Function)으로 측정할 수 있습니다. 구하는 수식은 다음과 같습니다.

참 복잡해 보입니다. 일단 하나하나씩 이해해봅시다.


위 슬라이드를 보면 좀 더 이해하기 쉽습니다. 가설함수의 θ1 , 기울기 값이 1일 경우입니다. 실제 출력과 가설의 출력이 같기 때문에 오차는 0이 되고 결국 θ1일 때 비용함수의 결과도 0으로 최적입니다. 쉽게 말해서 가설과 실제 결과가 완전히 일치하여 오차가 0이기 때문에 완벽한 결과라고 할 수 있습니다.

가설함수의 θ1를 0.5로 두면 어떨까요. 가설과 실제 출력 사이에 오차가 발생하게 됩니다. 각 데이터 별 발생한 오차를 제곱하고 샘플의 숫자로 나누어 평균을 구해줍니다. J는 약 0.58 정도로 아까와는 달리 최적이 아닙니다.

다른 기울기 값들로 테스트 해봤을 때 결과적으로 오른쪽 그림과 같은 포물선이 그려지게 됩니다. 우리의 목적은 J를 최소화하는 θ1을 찾는 것이기 때문에 θ1이 1일 때 가장 적절한 해라고 할 수 있습니다.

이번에는 가설 함수를 단순화 시키지 않아 θ0이 값을 가진다고 생각해봅시다. J의 파라미터는 2개가 되어 3차원 그래프 혹은 등고선 그래프로 표현되게 됩니다. 일반적으로 등고선의 중심이 가장 최적해라고 알려져있습니다. 등고선의 여러가지 파라미터들을 대입했을 때 가설함수의 그래프는 다음과 같습니다.


실제로도 중심을 찍었을 때 적절해보이는 가설 함수를 도출할 수 있었습니다.
혼자서 강의를 듣고 정리한 것이니 틀린 점이 있다면 언제든지 지적 부탁드립니다 :)
'Courses > Andrew Ng - Machine Learning' 카테고리의 다른 글
[Week 2] Multivariate Linear Regression (0) 2021.12.20 [Week 1] Linear Algebra Review (0) 2021.12.19 [Week 1] Parameter Learning (0) 2021.12.16 [Week 1] Introduction (0) 2021.12.14 0. 시작하기 전에 (0) 2021.12.13