티스토리 뷰

머신러닝

머신러닝 / 회귀

삼전동해커 2023. 1. 11. 21:00

분류와 회귀의 차이

분류는 미리 정의된 여러 클래스 중 하나를 예측하는 것

- 이진분류 : 정상과 비정상 클래스 두개로 분류

- 다중분류 : 예측해야할 클래스가 여러개인 경우

 

회귀는 기존의 데이터를 바탕으로 입력 변수가 주어진 경우 숫자값을 예측하는 것

- 특정 범위의 무한한 실수들 중에서 대표되는 값을 선택

- 연속된 값들 중 어디에 점을 찍을 수 있는지 예측

 

https://watchout31337.tistory.com/396

 

회귀

주어진 독립 변수와 종속 변수 사이의 관계를 학습하여 데이터를 예측하는 알고리즘

둘 이상의 관계(feature들의 관계)를 값들의 연속적인 문제로 찾고자 할 때 사용

 

ex) 주택의 면적, 주택의 위치, 편의시설 등에 따른 주택의 가격 예측

독립변수 : 주택의 면적, 주택의 위치, 편의시설

종속변수 : 주택의 가격

주택의 면적을 확인하면 주택의 가격을 예측할 수 있다.

 

회귀는 독립변수의 개수에 따라 단순 선형 회귀인지 다중 선형 회귀인지 나뉜다.

 

단순 선형 회귀

독립변수를 1개만 사용하는 모델이 단순 선형 회귀이다.

독립변수와 종속 변수의 관계는 선형 관계이다. 1차원 함수인 직선이다.

앞서 설명했던 주택의 가격 예측 또한 주택의 면적(독립변수) 1개에 따른 주택의 가격(종속변수)을 예측하는  단순 선형 회귀이다.

 

Y : 종속변수

X : 독립변수

E : 오차변수

a : y절편 -> 학습으로 도출

b : Y의 기울기 -> 학습으로 도출

 

단순 선형 회귀의 최종 목표는 흩어진 데이터들을 아우를 수 있는 일반화된 그래프를 그리는 것이다.

위 주택 가격 모델의 그래프의 기울기는 처음부터 정해진 것이 아니다.

 

1. 먼저 그래프는 무작위로 그어진다.

2. 그래프와 각 데이터(점)의 위치를 비교하며 거리를 측정한다.

3.각 거리의 차이를 학습하여 거리를 좁혀간다. 거리가 가까워야지 해당 데이터(점)를 그래프가 지나갔다고 의미하기 때문이다.

4. 하지만 그래프가 모든 점을 지나는 것은 불가능하기에 데이터들과의 평균 거리(Mean Squared Error)를 그래프로 표시한다.

5. 즉 이 MSE( = 비용 함수)가 그래프와 데이터 사이의 거리이다.

 

간단한 예로 공부 시간에 따른 점수를 예측해보는 모델을 만들어본다.

2시간 : 25점 ->(2,25)

3시간 : 50점 -> (3,50)

4시간 : 42점 -> (4,42)

5시간 : 61점 -> (5,61)

 

H(x) = wx + b인 그래프와 각 y의 값들의 거리 차이, 즉 y(점수) - H(x)의 값이 오차이고, 이 오차들의 평균점을 지나는 그래프가 모델이 되겠다.

그럼 임의로 H(x) = 13x + 1이라고 가정한다.

(25 - 27) = -2

(50 - 40) = 10

(42 - 53) = -9

(61 - 66) = - 5

이 때 y에서 H(x)를 빼냐 H(x)에서 y를 빼냐의 양음을 없애기 위해 제곱해서 더한다.

4 + 100 + 81 + 25 = 210

210을 독립변수의 개수로 나눈다.

210 / 4 = 52.5

 

y = 13x + 1의 MSE는 52.5이다. 이 값이 최소가 되는 그래프가 최적의 선형 회귀 모델이다.

 

옵티마이저

그럼 최적의 w와 b는 어떻게 찾을까? 이를 찾아주는 알고리즘을 옵티마이저라고 한다.

옵티마이저를 이용해 적절한 w와 b를 찾는 과정을 훈련 or 학습 이라고 한다.

 

경사 하강법

 

일단 y = wx라고 가정한다.

x축은 구하고자 하는 w의 값, y축은 w값에 따른 cost값이다.

당연히 w값이 작아질수록 y값은 무한히 커지고, w값이 커질수록 y값도 다시 무한하게 커진다.

하지만 y값이 가장 작은 순간이 존재하고 이 순간에서 접선의 기울기는 0이다. 

기울기가 0인 순간이 cost가 가장 작은 순간이고 이 때의 w값이 최적의 기울기이다.

 

옵티마이저를 사용하면서 w의 값을 얼마나 촘촘하게 변하게 해 cost를 구할 것인지 결정하는 학습률이 중요하다.

학습률의 범위는 0~1사이이고 0.01을 기본값으로 한다. 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함