공부/글또 10기

선형 회귀 모형의 OLS와 경사하강법

Moana96815 2025. 1. 19. 16:57

2025년 새해 첫 글은 원래 25년 1월 5일이 마감일이었는데요! 연말을 좀 길게 쉬고, 출근을 하다 보니 정신없는 1월 초를 보내게 되었습니다. 결국 패스를 하고, 25년 첫 번째 글을 1월 말에 게재하게 됐네요! 새해가 시작되니, 새해 목표나 다짐을 작성할까 했지만, 작년 마지막 글이 2024년 회고 글이라서, 일상글보다는 최근에 공부한 것들을 주제로 하는 게 좋을 것 같아서 선형 회귀 모형 추정 방법인 OLS와 경사하강법에 대해서 설명해보려고 합니다. 선형 회귀 모형을 알아가기 위해서는 먼저 회귀 모형, 독립 변수, 종속 변수에 대한 개념을 알아야 하므로, 각각의 개념과 함께 작성해 보겠습니다.

 


개념 정리

 종속 변수  

출력 변수, 반응 변수라고도 부르며, y라 표기하고, 우리가 예측하고자 하는 혹은 우리가 관심 있는 변수를 말합니다.

 

 

 독립 변수  

입력 변수, 설명 변수라고 부르며, x로 표기하고, 종속 변수에 영향을 미치는 변수를 말하며, 독립 변수들끼리는 영향을 받지 않는다고 가정합니다.

 

 

 회귀 모형  

독립 변수를 사용하여 주로 연속형 종속 변수의 값을 예측한 모형으로, 변수들 간의 관계를 설명하고, 독립 변수가 종속 변수에 미치는 영향 나타냅니다. 회귀 모형에는 선형 회귀, 릿지 회귀, 라쏘 회귀, 트리기반 회귀(결정 트리, 랜덤 포레스트), 비선형 회귀(서포트 벡터, KNN) 등 다양한 모형들이 속해있습니다.

 

y : 종속 변수, x : 독립 변수, f(x) : 독립 변수와 종속 변수 간의 함수 환계, e : 오차항으로 모델이 설명하지 못하는 부분

 

 

 선형 회귀 모형  

독립 변수와 종속 변수 간의 관계가 선형적, 즉 직선으로 표현되는 모형을 말합니다. 독립 변수가 하나인 단순 선형 회귀 모형과 독립 변수가 여러 개인 다중 선형 회귀 모형이 있습니다. 모형 식은 다음과 같습니다.

 

단순 선형 회귀

베타 0 : 상수항, 베타 1 : 회귀 계수, e : 오차항

 

다중 선형 회귀

베타 0 : 상수항, 베타 1,..,베타 p : 회귀 계수, e : 오차항

 

 

 상관 분석  

데이터에 선형 회귀 모형을 적합시키려면 먼저 독립 변수와 종속 변수 사이에 선형 관계가 보여야 합니다. 산점도를 통해 독립 변수가 증가하거나 감소할 때, 종속 변수가 증가하거나 감소하는지 확인할 수 있습니다. 정확하게 확인하고 싶다면, 상관 분석을 통해 독립 변수와 종속 변수 사이에 상관관계가 존재하는지 확인할 수 있습니다. 데이터가 정규 분포를 따른다면, 피어슨 상관 분석으로 검증하며, 정규분포를 따르지 않는다면 스피어만 상관 분석이나 켄달 타우 상관 분석으로 검증합니다.

선형 회귀 모형 가정에 따르면 독립 변수들 사이에는 상관 관계가 없어야 합니다.(실제 데이터는 이상치도 존재하고 다양한 이슈들이 존재하여 독립 변수들 사이에 상관 관계가 꼭 존재하며, 다중선성 분석을 통해 변수를 제거하거나, 전진 및 후진 및 스템와이즈 제거법으로 변수를 정리할 수 있습니다.) 이를 확인하기 위해서 2^(독립 변수 개수) - 1번 상관 분석을 진행할 수 없으므로, 파이썬에서는 히트맵 시각화하여 상관관계를 확인할 수 있습니다.

 

 

 OLS(Ordinary Least Squares, 최소 제곱법)과 경사 하강법  

선형 회귀 모형에서 회귀 계수를 구하는 데는 OLS와 경사 하강법이 있습니다. 두 방식 모두 종속 변수와 독립 변수 간의 관계를 나타내는 회귀 계수를 추정하는 방법으로 관측값과 예측값 차이인 오차를 제곱한 값을(RSS, Residual Sum of Squares)을 데이터 개수로 나눈 평균 제곱 오차(MSE, Mean Squared Error, 비용함수)를 최소화하는 방식입니다. 다만 OLS는 미분과 선형 대수를 통해 해를 구하며, 이 해가 회귀 계수가 되는 것이고, 경사 하강법은 회귀 계수를 임의 값으로 설정하여 예측 값을 구하고 MSE를 구한 후, 회귀 계수 수정하는 방식으로 MSE가 가장 작은 값을 찾는 방법입니다. 경사 하강법에서 학습률이나 반복 횟수가 충분하다면 OLS와 동일한 회귀 계수를 도출한다고 합니다.

OLS의 경우는 데이터셋이 작은 경우에 사용하고, 경사 하강법은 데이터셋이 큰 경우에 사용한다고 합니다. OLS는 항상 최적 해를 도출하지만, 독립 변수들 간의 상관성이나 이상치에 큰 영향을 받고, 경사 하강법은 학습률이나 반복 횟수에 따라 도출되는 값이 달라지므로, 데이터에 맞게 선택하여 계산하면 됩니다.

 


 

오늘은 선형 회귀 모형에서 회귀 계수를 추정하는 방법 2가지에 대해서 작성해 봤습니다. 통계학, 머신러닝, 딥러닝에서 가장 기본이 되는 모형인 선형 회귀 모형인데요. 통계학을 전공하고, 머신러닝 및 딥러닝을 배울 때, 개인적으로 의아했던 모형이었습니다. 이미 최적의 해를 구한 오랜 이론이 있는데 경사 하강법은 언제 쓰는 것인지, 비슷한 듯 다르다 보니 혼란스럽기도 했습니다. 그나마 지금은 많이 정리된 상태이며, 작은 데이터셋이거나 제안서 작성용으로 모형을 간단히 보여줘야 하거나, OLS의 조건을 만족하거나(선형성, 정규성, 등분산성 등), 각 회귀 계수의 유의성을 검증해야 할 때 OLS 방법으로 회귀 계수를 추정하곤 합니다. 아직까지도 OLS 방식이 더 익숙하기는 하여 OLS를 더 많이 사용하고 있지만, 추후에는 경사 하강법을 활용해야 할 때가 생기지 않을까 싶습니다! 이번 글은 여기까지입니다! 다음 글에서 만나요!

 

반응형