본문 바로가기
ETC

[머신러닝 앤드류응] (Week1) 3. 모델과 비용함수

by bigpicture 2021. 3. 31.
반응형

앤드류 응 교수님의 코세라 머신러닝 강의를 요약하는 글입니다. Week1 의 상세 목차는 아래와 같습니다.

Week1 목차

1. Welcome
2. Introduction
3. Model and Cost Function
4. Parameter Learning
5. Linear Algebra Review


이번 글은 Week1의 3강인 Introduction 요약입니다.


Week1 

3. Model and Cost Function

1) Model Representation

선형회귀

우리가 가장 먼저 배울 알고리즘은 선형회귀입니다. 선형회귀는 지도학습에 속합니다. 

아래와 같이 집크기와 가격 데이터가 있다고 합시다. 

 

누군가 자신의 집 크기가 1250인데, 가격이 얼마냐고 물어본다면 뭐라고 대답해야 할까요? 우리는 데이터를 이용하여 모델을 만들고 모델의 x값이 1250을 대입하여 가격을 예측하면 됩니다. 

우리가 가진 데이터가 아래와 같다고 합시다. 

(집크기 x ,집가격 y)
(2104,460)
(1416,232)
(1534,315)
(852,178)

이 강의에서는 아래와 같은 표기법을 사용하겠습니다. 

m : 훈련 집합의 행의 수(데이터의 수)
x : 입력변수(input variable) 또는 feature
y : 출력변수(output variable) 또는 target variable

데이터의 번호는 위첨자를 이용합니다. 아래는 i번째 데이터를 의미합니다. 

$(x^{(i)},y^{(i)})$

훈련집합을 사용하여 지도알고리즘을 훈련시킬 것입니다. 지도알고리즘의 목적은 가설 h 의 값을 찾는 것입니다. 

위 예시에서는 아래와 같은 일차식의 h를 사용합니다.

$h_{\theta}=\theta_{0}+\theta_{1}x$

1차식을 이용하는 회귀분석을 선형회귀분석이라고 부릅니다. 또 입력변수가 하나인 경우 '단변량'이라는 말을 붙입니다. 따라서 위 예시는 '단변량 선형 회귀분석' 을 사용하는 것입니다. 가장 쉬운 선형모델에서 시작하여 심화해 나가도록 하겠습니다. 

 

 

2) Cost function 

위 선형함수 예시에서 데이터를 가장 잘 예측할 수 있는 h 를 찾아봅시다. h를 찾는다는 것은 $h_{\theta}=\theta_{0}+\theta_{1}x$ 에서 계수인 $\theta_{0}$와  $\theta_{1}$를 찾는 것입니다. 

실제 값과 예측값의 차이의 제곱 합을 최소화하는 방식으로 찾도록 하겠습니다. 아래 수식을 최소화하는 $\theta_{0}$와  $\theta_{1}$를 찾으면 됩니다. 

$\sum_{i=1}^{n}\left ( h(x^{(i)})-y^{(i)} \right )^2$

이 수식을 2m으로 나눠줍시다. 상수가 곱해지는 것이라 해를 구하는데는 영향을 주지 않습니다. 

$\frac{1}{2m}\sum_{i=1}^{n}\left ( h(x^{(i)})-y^{(i)} \right )^2$

위 함수를 비용함수(cost function) 이라고 부릅니다. J로 나타냅니다. 

$J(\theta_{0},\theta_{1})=\frac{1}{2m}\sum_{i=1}^{n}\left ( h(x^{(i)})-y^{(i)} \right )^2$

 

3) Cost function - Intuition 1

아래 비용함수를 최소화 하는 쎄타값들을 찾아봅시다. 

$J(\theta_{0},\theta_{1})=\frac{1}{2m}\sum_{i=1}^{n}\left ( h(x^{(i)})-y^{(i)} \right )^2$

 

$h_{\theta}=\theta_{0}+\theta_{1}x$를 대입하면 비용함수는 아래와 같습니다. 

 

$J(\theta_{0},\theta_{1})=\frac{1}{2m}\sum_{i=1}^{n}\left ( \theta_{0}+\theta_{1}x^{(i)}-y^{(i)} \right )$

영상에서는 $\theta_{0}$를 0으로 고정하고 $\theta_{1}$ 값을 바꿔가며 J 값이 어떻게 변하는지를 보여주었습니다. 

정말 쉽게 설명하기 위해 위와 같이 하신 것 같구요. 우리는 J가 $\theta_{1}$에 대해 2차식임을 알고 있습니다. 제곱항의 계수는 양수일 것이므로 아래로 볼록입니다. 따라서 위와 같이 그려진다는 것은 수식만 보고도 알 수 있습니다. 위 예제의 경우 $\theta_{1}$이 1일 때 최소값을 갖습니다. 

 

 

4) Cost function - Intuition 2

$\theta_{1}$ 뿐만 아니라 $\theta_{0}$ 도 이용하여 시각화해봅시다. 3차원으로 그려야합니다. 아래와 같이 그려집니다. 

 

 

등고선을 이용하면 2차원으로도 그릴 수 있습니다. 

 


차원이 하나만 높아져도 시각화가 불가능합니다. 다음강의에서 해를 구하는 알고리즘을 배워봅시다. 

반응형

댓글