선형 회귀

From IT Wiki
Revision as of 05:59, 2 November 2024 by 핵톤 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Linear Regression
종속변수 y와 독립변수 x와의 선형 상관 관계를 모델링하는 회귀 분석 기법

예시

  • 귀뚜라미는 날씨가 더운 날 더 자주 우는 것으로 추정이 된다.

선형 회귀 귀뚜라미.png

  • 그래서 온도에 따른 우는 횟수를 측정 해 보니 위 그래프와 같이 나왔다.

선형 회귀 귀뚜라미2.png

  • 이 그래프는 파란색 선과 같은 선형 관계를 가진다.
  • 저 그래프를 그리는 수식 y = mx+b 을 알아낸다면 어떤 온도에서 귀뚜라미가 얼마나 우는지, 또는 귀뚜라미가 얼마나 울면 어느 정도의 온도인지 알 수 있다.

기계 학습 과정

  • 위 예시는 단순한 2차원 직선 그래프를 그리지만, 실제 일상 속의 현상은 저렇게 단순하지 않은 경우가 많다.
  • 요소가 2개를 넘어서서 3차원, 4차원, 심지어 10차원 이상일 수도 있고, 직선이 아니라 곡선을 그릴 수도 있다.[1]
  • 이렇게 여러 특성을 반영한 선형적 관계를 컴퓨팅 파워를 이용해 반복 계산하는 과정이 기계 학습과정이다.

선형 회귀.png

아래와 같은 반복 과정을 거친다.

  • 선형 회귀 알고리즘은 오차를 최소화하는 직선을 찾는 방식으로 작동한다. 보통 평균 제곱 오차(Mean Squared Error, MSE)를 최소화하는 직선을 계산하며, 학습 과정에서 다음을 자동으로 수행한다.
    1. 초기 직선 설정: 처음에는 무작위 기울기와 절편으로 시작한다.
    2. 오차 계산: 데이터의 실제 y 값과 예측 y 값 사이의 오차(잔차)를 계산한다.
    3. 오차 최소화: 기울기와 절편을 조정하면서 오차가 최소화되는 방향으로 업데이트한다.
    4. 최적화 종료: 오차가 최소가 되면 최종적으로 구해진 직선의 기울기와 절편을 반환한다. 이 과정은 경사 하강법(Gradient Descent) 등의 최적화 알고리즘을 통해 이루어지며, 학습 데이터의 패턴에 맞춰 가장 적합한 직선이 자동으로 학습된다.

선형 회귀의 4가지 기본가정

줄여서 LINE이라고 외우기도 하지만 한국의 기술사 학원 등에서 만들어낸 것으로 보인다. 전 세계적으론 CRUD, ACID, CIA, SOLID 처럼 통용되진 않는다.

  • 선형성(Linearity): 독립변수(X)과 종속변수(Y)가 선형 관계에 있음
  • 독립성(Independence): 종속변수는 다른 종속변수의 값에 의해 영향을 받지 않음
  • 정규성(Normality): 오차항은 다변량 정규분포를 띔
  • 등분산성(Homoscedasticity): 오차항의 분산은 모든 종속변수에 대해 동일함
    • Equal Variance 라고도 불리지만 주로 한국에서 외우기 쉽게 번역한 것이고, 학술적으로 정확하진 않다.

해석 가능성(interpretability)

  • 선형 회귀는 단순한 수학적 모델로, 각 특성에 대해 선형 계수를 할당하기 때문에 각 특성이 타겟 변수에 미치는 영향을 쉽게 해석할 수 있다.
    • 예를 들어 연봉을 예측하는 선형 회귀 모델은 아래와 같은 식으로 표현될 수 있고, 곱해지는 값을 통해 특성의 영향도를 파악할 수 있다.
    • ex) 연간 소득 = 2500+(4000×교육 수준)+(200×근무 연수)+(10000×직위)+(300×평가 점수)+(50×주당 근무 시간)
  • 양수 계수는 양의 영향을, 음수 계수는 음의 영향을 나타낸다.

각주

  1. 특성이 많아 10차원 이상으로 넘어가는 경우는 다반사지만 직선이 아닌 곡선으로 학습되도록 하려면 먼저 선형 모델을 그려 본 후 곡선으로 학습을 하도록 따로 설정을 해줘야 한다. 기본적인 선형 회귀 모델은 독립 변수와 종속 변수간의 관계가 선형적(직선)이라고 가정하기 때문에 알아서 곡선을 만들어내진 못한다.