programming/파이썬으로 배우는 통계학

[파이썬/머신러닝] 가중치(coef),편향(intercept)에 관하여

Jofresh 2024. 1. 7. 12:32
728x90
반응형

머신러닝 모델에서의 coef와 intercept는 주로 선형 모델에서 사용되는 용어입니다. 주로 선형 회귀와 로지스틱 회귀에서 나타나는데, 이들은 입력 변수와 목표 변수 간의 관계를 모델링하는데 사용됩니다.


coef (계수):


coef는 회귀 모델에서 각 입력 변수의 계수를 나타냅니다.
선형 회귀의 경우, y = b0 + b1*x1 + b2*x2 + ... + bn*xn에서 b1, b2, ..., bn이 coef에 해당합니다.
로지스틱 회귀의 경우, 이진 분류의 경우 y = b0 + b1*x1 + b2*x2 + ... + bn*xn에서도 선형 회귀와 같이 계수가 적용되며, 다중 클래스 분류의 경우 각 클래스에 대한 계수가 있습니다.

 

중요성:


계수는 해당 입력 변수가 모델 예측에 얼마나 영향을 미치는지를 나타냅니다. 절댓값이 클수록 해당 변수가 더 큰 영향을 미칩니다.


intercept (절편):


intercept는 회귀 모델에서 입력 변수가 0일 때의 모델 예측값을 나타냅니다.
선형 회귀의 경우, y = b0 + b1*x1 + b2*x2 + ... + bn*xn에서 b0가 intercept에 해당합니다.
로지스틱 회귀의 경우, y = b0 + b1*x1 + b2*x2 + ... + bn*xn에서도 동일하게 절편이 적용됩니다.


중요성:


절편은 입력 변수가 0일 때의 모델의 기본값을 나타냅니다. 이 값은 모델이 얼마나 기울어져 있는지를 결정하며, 계수와 함께 전체 모델의 형태를 결정합니다.


중요성 평가:


계수의 중요성은 해당 변수의 스케일과 함께 고려되어야 합니다. 변수의 스케일이 크면 해당 변수의 계수도 커질 수 있습니다.
일반적으로는 표준화된 계수(standardized coefficients)를 사용하여 변수 간 상대적인 중요성을 비교할 수 있습니다.
변수 중요성은 특히 특성 선택이나 모델 해석에 중요한 역할을 합니다.
회귀 모델의 coef와 intercept는 학습된 데이터에 대한 예측을 생성하는 데 사용되며, 모델의 해석과 설명력을 높이는 데 기여합니다.

728x90

가상의 선형 회귀 모델을 가정해봅시다. 다음은 하나의 입력 변수(x)에 대한 모델입니다.


y=intercept+coef×x

 

coef (계수):


예를 들어, 모델이
y=2x+1이라면, 여기서 coef는 2입니다.
이는 입력 변수 x의 변화가 출력 변수 y에 얼마나 큰 영향을 미치는지를 나타냅니다. 여기서는 x가 1 증가할 때마다 y는 2만큼 증가합니다.


intercept (절편):


같은 모델에서 intercept는 1입니다.
이는 입력 변수 x가 0일 때의 모델의 출력값을 나타냅니다. 여기서는 x가 0이어도 y는 1입니다.
이제 이 모델을 사용하여 예측을 할 수 있습니다. 예를 들어, x가 3이라면:


y=intercept+coef×3=1+2×3=7


따라서 모델에 의해 예측된 y 값은 7입니다.


이렇게 계수와 절편은 모델이 입력 변수를 어떻게 활용하여 출력을 예측하는지를 설명합니다. 중요한 점은 이 값들이 모델의 학습 과정에서 데이터로부터 자동으로 조정되어 최적화되는데, 이는 주어진 데이터에 가장 잘 맞는 모델을 찾기 위함입니다.


좋은 모델에서는 계수와 절편이 일정한 패턴과 해석 가능한 의미를 가져야 합니다. 여기에 몇 가지 중요한 포인트를 설명하겠습니다.


계수의 크기와 방향:


계수의 크기는 해당 변수가 종속 변수에 미치는 영향을 나타냅니다. 일반적으로 큰 절대값의 계수는 큰 영향을 나타내며, 부호는 영향의 방향을 나타냅니다.
예를 들어, 양수의 계수는 해당 변수가 종속 변수를 증가시키는 영향을, 음수의 계수는 감소시키는 영향을 나타냅니다.


절편의 해석:


절편은 모든 입력 변수가 0일 때의 종속 변수의 예측값입니다. 이 값이 의미 있는지는 도메인과 데이터의 특성에 따라 다릅니다.
예를 들어, 어떤 변수가 항상 0인 경우에는 절편이 모델의 기본 수준을 나타낼 수 있습니다.


오버피팅 방지:


계수가 훈련 데이터에만 매우 잘 맞고, 새로운 데이터에는 일반화가 어려울 경우, 이는 모델이 오버피팅(과적합)되었다는 신호일 수 있습니다. 오버피팅을 방지하기 위해 모델의 복잡성을 적절히 조절해야 합니다.


표준화된 계수의 활용:


표준화된 계수(standardized coefficients)를 사용하면 변수 간 상대적인 중요성을 비교하기 쉽습니다. 표준화는 각 변수의 스케일을 맞춰주는 작업입니다.


교차 검증 및 성능 지표:


모델의 성능은 교차 검증과 같은 방법을 사용하여 평가되어야 합니다. 성능 지표를 통해 모델이 얼마나 잘 일반화되는지 평가할 수 있습니다.


도메인 지식 활용:


계수와 절편의 의미를 이해하기 위해 도메인 지식을 활용하는 것이 중요합니다. 도메인 지식을 통해 모델의 결과를 더욱 해석력 있게 사용할 수 있습니다.


좋은 모델에서는 변수 간 상호작용이나 다중공선성과 같은 문제를 고려하고, 모델이 적절한 일반화를 수행할 수 있도록 파라미터를 조절해야 합니다. 따라서 모델을 해석하는 것은 단순히 계수와 절편의 크기만을 고려하는 것이 아니라, 전반적인 모델의 특성과 성능을 함께 고려해야 합니다.

 

 

 

 

 

**관련 글

2023.05.16 - [programming/파이썬으로 배우는 통계학] - [파이썬/통계] Python 통계 : 정규 선형모델 /연속형 독립변수가 하나인 모델(단순회귀)

 

[파이썬/통계] Python 통계 : 정규 선형모델 /연속형 독립변수가 하나인 모델(단순회귀)

필요한 라이브러리 임포트 # 수치 계산에 사용하는 라이브러리 import numpy as np import pandas as pd import scipy as sp from scipy import stats # 그래프를 그리는 라이브러리 from matplotlib import pyplot as plt import seabo

jofresh.tistory.com

2023.05.22 - [programming/파이썬으로 배우는 통계학] - [파이썬/통계] Python 통계 : 일반선형모델 기본/ 로지스틱회귀 모델/null 모델

 

[파이썬/통계] Python 통계 : 일반선형모델 기본/ 로지스틱회귀 모델/null 모델

일반선형모델의 기본 예를 들어'있다, 없다'라는 두 개의 값만 취하는 데이터나 '1개,2개,3개'등 0 이상의 정수만 취하는 데이터가 있다면 모집단분포가 정규분포라고 가정하기에는 무리가 있습

jofresh.tistory.com

 

728x90
반응형