22.03.19 Linear regression / Cost function

2022. 3. 19. 21:16카테고리 없음

머신러닝의 종류

Supervised learning (지도학습) : 컴퓨터에게 답이 정해진 데이터들을 입력하여 컴퓨터를 학습시킴. (ex. 이미지 라벨링, 기온 예측) -> 대부분은 지도학습

Unsupervised learning (비지도학습) : 컴퓨터에게 답을 주지 않은 채로 데이터들을 주어 컴퓨터를 학습시킨다. (ex. 구글 뉴스)

 

지도학습의 종류

 - 회귀 문제 Regression : 저번에 본 시험성적들, 필기들을 봤을 때 이번 시험성적은 몇 점일까?

값 입력 -> 특정한 값이 출력

 - 이진분류 문제 Binary classification : 이번 성적들을 넣었을 때, 내가 P일까 F일까?

값 입력 -> 둘 중 하나로 분류

 - 멀티 라벨 분류 문제 Multi label classification : 내 공부시간을 봤을 때, 이번 시험은 A,B,C,D,F 중 뭘까?

값 입력 -> 세 개 이상 중 하나로 분류

 등등...

 

지도학습은 Training data가 필요하다(input x + 정답 y 세트)

 

Hypothesis

x와 y의 관계를 유추. H(x)

 

Linear Regression

H(x) = Wx + b 일차 함수로 데이터를 표현하는 것, x와 y의 관계를 직선으로 유추하는 것. (x축 공부시간, y축 시험점수)

 

Linear Regression 학습

어떻게 그은 선이 가장 데이터를 잘 반영하는지 알아가는 과정

즉, 최적의 W와 b를 찾아가는 과정.

 

 

Cost Function

저 직선(또는 비선형모델)이 얼마나 데이터를 잘 맞추는지를 계산하는 함수

cost(=loss) : 모델이 예측한 값 pred - 실제정답 y 

cost function : (pred-y)^2/데이터의 갯수 ( 가장 쉬운 예를 든 것. 오차제곱평균 말고도 다른 함수들도 있다)

- 여기서 제곱한 이유 1. H(x)-y가 음수가 되지 않도록, 2. 너무 멀리 있는 데이터에 대해서 패널티 주기(일부 데이터에만 정확히 맞춰지는 것을 방지)

 

W와 b에 따라 loss가 결정되므로 cost(w,b)로 표현한다.

 

 

우리의 목적 - cost function을 이용해 cost(=loss=pred-y)가 최소가 되게 하는 직선(또는 비선형모델)을 만드는 W와 b를 찾는 것