본문 바로가기

2019년 혁신성장 청년인재 집중양성(빅데이터)/[COURSERA] Machine Learning Stanford Uni

[week 1] Model and Cost Function

1. 면적을 보고 가격을 예측하는 문제는 지도학습이며, 회귀문제이다.

1. 이번 강의에서 사용하게 될 용어이다.

2. m은 학습에 사용하게 될 데이터의 숫자이며, x's는 feature를 나타내며, y's는 타겟 변수를 나타낸다.

3. (x,y)는 하나의 학습예제를 표기하는데 사용된다.

4.(x(i),y(i))는 i번 째 예제를 표기하는데 사용된다., 

 

 

1. 트레이닝 셋을 알고리즘을 통해 배우고, 그 결과인 h(가설)을 통해 사이즈로 부터 가격을 예측한다.

2. 그렇다면 어떻게 이 가설을 표현하는가? 우리는 비선형 적인 함수도 있지만, 먼저 선형적인 함수로 가설을 표현하려 해본다.

3. 위와 같은 형태를 선형회귀라고 한다. 또, 하나의 x값으로 가격을 예측하기 때문에 단일변량 선형회귀라고 한다.

 

 

1. 이 가설에서 세타 0과 세타1이 의미하는 것은 파라미터이다.

2. 그리고 우리의 문제는 이 파라미터를 어떻게 고를 것이냐는 가이다.

 

1. 아이디어는 간단하다. 세타0와 세타1을 고르는 것인데, 가설이 h의 값이 우리가 가진 데이터 셋에 가까운 값을 가지는 것을 고르는 것이다.

 

2. 가설이 얼마나 가까운 값을 가지는지를 설명하기 위해서 위와 같은 식이 필요하다. 천천히 살펴 보면 

 

모든 트레인 데이터에 대해 가설 h의 값에서 실제 값 y를 뺀 것에 제곱을 한 뒤에 2*(트레인 데이터의 개수)로 나누어 준다. 1/2m을 하는 이유는 조금 더 간단해질 뿐 아니라, 실제 최소라는 의미에 영향을 주지 않기 때문이다.

 

이때, 이 오차의 제곱의 합을 비용함수라고 하며 비용함수는 세타 0과 세타1을 변수로한다.

 

3. 다른 비용함수도 사용되기는 하지만 오차제곱의 합이 가장 일반적이다.

 

1. 최대한 간단히 하자면  가설 함수는 상수항이 없는 일차함수로, 원점을 지나며, 세타1 만을 파라미터로 가지고 있으며

2. 오차의 제곱 합의 평균이라는 비용함수가 최소가 되는 지점의 세타1을 찾는 것이 우리의 문제다.

 

1. 위에서 부터 세타1이 1, 1/2, 0일 때의 비용함수의 값을 오른 쪽에 표에 기록한 것으로 위와 같은 2차 함수 형태를 가지게 된다.

 

2. 즉, 각각의 세타 값은 각각의 비용함수의 값을 가지게 된다.

 

3. 우리의 목표는 비용함수를 최소화하는 것이다. 그리고 가장 최선의 가설은 비용함수가 최소화 될 때 발생한다.

 

1.세타가 2개만 되고 비용함수는 3차원이 되어 버린다. 그리고 그 3차원은 위나 아래서 바라본다면 등고선(Contour plot)형태가 된다. 이 형태가 의미하는 것은 같은 높이에 있는 값들은 모두 같은 비용함수의 값을 가진다는 의미이다. 그렇기 때문에 등고선의 가장 중앙, 꼭대기에서 최소 값을 가지게 된다. 

 

2. 거리 제곱의 합이 등고선 중앙으로부터의 거리와 같지는 않지만 비례는 하는건가?