moo-nerim

1) 선형회귀(Linear Regression) 본문

머신러닝

1) 선형회귀(Linear Regression)

무네림 2021. 8. 30. 23:05

선형 회귀에 대해 설명하기 전에 아래와 같은 문제가 있다고 생각해봅시다.

다음과 같은 표가 주어질 때 마신 커피 잔 수에 따른 시험 점수를 예측할 수 있을까요?

 

위의 표에 대한 데이터를 아래와 같이 그래프로 표시할 수 있습니다.

커피 잔수에 따른 input 값과 시험 점수에 해당하는 output 값을 표시해 가설을 세울 수 있습니다. 

임의의 직선 1개(= 1차 함수)로 이 그래프를 비슷하게 표현할 수 있습니다. 

 

선형 회귀(Linear Regression)

직선, 즉 일차함수의 개념인 H(x) = Wx + b 직선을 임의로 그려놓고, 그 직선을 바탕으로 예측하는 것이 선형회귀입니다.

(W : 기울기, b : y절편)

[출처] : 동신한의 조재성 - 머신러닝, 딥러닝, 안드로이드 개발 in 남룡북매

위의 사진에서 왼쪽과 오른쪽 중 어느 모델이 더 예측을 잘한 것일까요? (파란 점 : 데이터 값 / 직선 : 가설)

 

우리는 정확한 시험 점수를 예측하기 위해 우리가 만든 임의의 직선(가설)과 (정답)의 거리가 가까워지도록 해야 합니다. (=mean squared error) 

우리가 예측하기 위해 만든 모델인 H(x) = Wx + b 직선과 실제 데이터를 찍어놓은 점들 y값 차이를 error (점과 직선간의 빨간 선)라고 합니다. 

따라서, 왼쪽 초록색 직선이 에러가 전혀 없으므로,더 예측을 잘한 모델이라고 말할 수 있습니다.

여기서 H(x)는 우리가 가정한 직선이고 y는 정답 포인트라고 했을 때 H(x)와 y의 거리(또는 차의 절댓값)가 최소가 되어야 이 모델이 잘 학습되었다고 말할 수 있습니다.

여기서 우리가 임의로 만든 직선 H(x)를 가설(Hypothesis)이라고 하고 Cost를 손실 함수(Cost or Loss function)라고 합니다.

 

맨 처음 위에서 봤던 문제에서 입력 변수가 하나 더 추가되었다고 생각해봅시다. 

아까와 달리 입력 변수가 커피 잔 수, 게임 플레이 시간 총 2개로 늘어났습니다. 시험 점수는 그대로 출력 값입니다. 

 

다중 선형 회귀(Multi-variable linear regression)

다수의 x로부터 y를 예측하는 것을 다중 선형 회귀(Multivariable Linear Regression)라고 합니다. 

만약, 다수의 입력값 문제를 선형 회귀로 풀고 싶을 때 다중 선형 회귀를 사용합니다.

 

가설 : H(x1, x2, ..., xn) = w1x1 + w2x2 + ... + wnxn + b

 

손실 함수 :

x값만 늘어났을 뿐 선형 회귀에서 구하는 방법은 다르지 않습니다.

 

사진 및 글 작성에 대한 도움 출처 : 이태희 님

 

반응형

'머신러닝' 카테고리의 다른 글

2) 경사 하강법 (Gradient descent method)  (0) 2021.08.31
Comments