개요
1주차 내용을 이어서 작성합니다.
Cost function
앞서 배운 linear regression 을 실행하기 위해선 "cost function" 을 정의해야 한다.
cost function은 Model이 현재 얼마나 잘 동작하고 있는지를 알려준다. 그래서 Model이 더 나은 성능을 낼수 있게끔 해준다. 그림으로 cost function 에 대해 배워보자.
linear regression Model을 나타내는 표현식은 아래와 같다.
f(x) = wx + b
w, b는 parameter 라고 하며 머신러닝 모델이 학습하는 중에 성능을 개선하기 위해 적용할 수 있는 값이다.
w, b는 coefficients 또는 weights 라고도 표현한다.
위 그림에서 보듯 w, b 값에 따라서 그래프의 선이 다르게 그려진다.
첫 번째 그래프에서 b는 y축을 교차하기 때문에 y-intercept 라고도 표현한다.
뒤 이어 나오는 그림들에서 확인할 수 있듯이 w는 선의 기울기 값을 나타낸다. 기울기는 y 증가량 / x 증가량 으로 구할 수 있다.
training set 이 주어져서 아래와 같은 그래프에 점으로 찍혀 있고 여기에 linear function (linear regression model)을 나타낸다고 하자. 이제 cost function 값을 도출하는 방법을 배울 것이다.
w, b를 잘 선택하여 데이터들과 잘 밀착된 선을 그렸다고 해보자.
- x^(i) (i번째 feature 값)을 통해 y^(i) (i번째 target 값) 를 구할 수 있다. 또한 예측값인 y-hat^(i)를 구할 수 있다.
- y-hat^(i) 은 linear function으로 그려진 선에 수렴되는 값이며 y^(i) 와 가까운 위치에 있는 값이다.
- 모델을 정의하고 예측값인 y-hat^(i)를 구하려면 w, b 값을 먼저 구해야 한다.
- 이를 위해 학습 데이터와 선이 얼마나 잘 밀착되어 있는지 구하는 방법에 대해서 알아보자.
- 이를 위해 Cost function 값 ( J(w,b) )을 구해야 한다.
- 공식은 위 그림과 같으며 아래에 공식에 대한 설명을 했다.
- 모든 학습 데이터을 가져다 적용하면서 동시에 더하기 위해 시그마로 표현한다 (모든 오차를 더하는 이유는 평균적인 크기를 구하기 위한 것으로 판단됨)
- y-hat 빼기 y -hat == error (오차) : y-hat 과 y 값의 차이는 prediction과 target 간의 간격을 의미하며 이 값을 제곱시킨다 (수학적으로 제곱을 한다는 건 어떤 의미가 있는건데,,왜 굳이 제곱을 하는건지는 개인적으로 찾아봐야 겠다)
- 모든 데이터의 갯수인 m으로 나누기를 한다, 이를 통해 학습 데이터가 계속 늘어나더라도 값이 자동으로 더 커지지 않게하는 동시에 평균값을 구할 수 있다.
- 2를 더 나누는 이유는..값을 좀 더 그럴싸하게 구하기 위해서다. 꼭 2로 나누지 않아도 된다.
- 이렇게 구한 cost function을 squared error cost function 이라고 부른다. 이렇게 오차를 제곱한 cost function방식은 linear regression을 사용하는 현재의 많은 애플리케이션에서 사용되는 방법 중 하나이다.
- 공식은 위 그림과 같으며 아래에 공식에 대한 설명을 했다.
- 결과적으로, 최소한의 규모의 cost function을 형성해내는 w, b 값을 찾아야 한다.
'머신러닝 > Coursera 강의 정리' 카테고리의 다른 글
1주차 강의 내용 정리 - 5 (0) | 2023.07.06 |
---|---|
1주차 도입부 - What is machine learning? (0) | 2023.06.18 |
1주차 강의 내용 정리 - 4 (0) | 2023.03.14 |
1주차 강의 내용 정리 - 2 (0) | 2023.03.08 |
개요 및 1주차 강의 내용 정리 - 1 (0) | 2023.03.04 |
댓글