ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Week 1] Model and Cost Function
    Courses/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

    댓글

Designed by Tistory.