티스토리 뷰

머신러닝

[2] 선형회귀

up_one 2024. 5. 5. 20:19

머신러닝 카테고리의 세 번째 글에서는 지도학습 중 하나인 선형회귀에 대한 개념과 동작원리를 설명하겠습니다. 이 글의 목차는 다음과 같습니다.

  1. 선형회귀의 개념
  2. 선형회귀 동작원리(Gradient Descent)

1. 선형회귀의 개념

선형회귀는 독립변수의 패턴에 따라 종속변수가 어떻게 변하는지 보여주는 것입니다. 즉, x값의 변화 추이에 따라 y값의 변화 추이를 알아보고 새로운 x값이 들어오면 가장 정확한 y값을 예측하도록 해주는 모델입니다. 선형회귀의 기본적인 모델은 다음과 같습니다.

 

우리가 잘 알고 있는 일차함수의 모습이 선형회귀 모델이 됩니다. 선형회귀의 목표는 위의 모델에서 파라미터 w와 b를 추정하는 것입니다. 우리가 가지고 있는 데이터셋은 x값과 f(x)값을 대표하고 이들의 선형적인 패턴을 가장 잘 설명하는 w와 b를 찾는 것이 궁극적인 목표인 것입니다. 

 

위 그림에서는 f(x) = wx + b와 빨강색 점과의 차이를 의미하는 파랑색 실선이 존재합니다. 우리의 목표는 이 파랑색 실선의 제곱합의 평균값이 가장 작아지도록 만들어주는 f(x)를 찾는 것입니다. 머신러닝에서는 이 평균값을 MSE(평균절대오차)라는 손실함수로 정의하고 이 값을 최소화하는 모델을 만드는 것이 중요합니다.

 

 2. 선형회귀의 동작원리

선형회귀의 동작원리는 MSE(평균절대오차)를 최소화하는 w와 b를 찾는 것이고 이를 Gradient Descent 기법을 이용하여 파라미터들을 추정합니다. Gradient Descent 기법은 위에서 정의한 손실함수를 각각 w와 b에 대해 미분을 한 다음 0이 되게 하는 w와 b를 찾는 것입니다. Gradient Descent의 원리는 미분계수를 이용해 최소값을 반복해서 찾아가는 것입니다. Starting point에서 미분을 시작해서 최소값에 도달할 때까지 미분을 반복하는 것이 핵심입니다. 

 

미분을 반복하면서 최소값에 도달할 때까지 손실함수의 w와 b는 계속 업데이트되는 과정을 겪습니다. 최소값에 도달할 때의 w와 b가 손실함수의 값을 최소화하고 데이터의 선형적인 패턴을 가장 잘 설명하는 w와 b가 되는 것입니다.

 

w와 b를 업데이트 할 때 사용되는 가중치(이미지의 0.01)를 학습률(learning_rate)이라고 정의합니다. 이 학습률은 그래프의 최소값을 찾는 과정에서 얼마만큼 이동할지 결정해주는 역할을 합니다. 학습률은 모델의 정확도에 영향을 미치는 중요한 가중치입니다. 학습률이 작다면 최소값을 갖는 w와 b를 찾는데 시간이 매우 오래 걸리는 특징이 있지만 학습률이 크다면 최소값을 지나쳐 발산하는 문제점이 존재합니다.

 

 

Gradient Descent가 가지는 문제는 극소값을 최소값으로 오인하는 것입니다. 그래프의 특징에 따라 극소값이 되는 지점이 여러 곳이기 때문에 Starting point가 어디인지에 따라 최소값으로 오해해 학습이 중단될 수도 있습니다. 이 문제를 local minimum이라고 정의하며 차후에 이 문제를 해결하는 방법에 대해 소개하겠습니다.

 

[Reference]

홍익대학교 컴퓨터공학과 김태형교수님 기계학습심화 수업 강의록

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

[5] KMeans 알고리즘  (0) 2024.05.15
[4] Support Vector Machine(SVM)  (0) 2024.05.12
[3] K 근접 이웃 알고리즘(knn)  (0) 2024.05.10
[1] 머신러닝의 분류와 과적합  (0) 2024.05.03
[0] 머신러닝이란?  (1) 2024.05.01
TAG more
글 보관함
최근에 올라온 글