머신러닝 : Linear Regression

hisungmi·2024년 10월 1일

AI

목록 보기
3/15

Linear Regression


가설(Hypothesis)

  • x와 y의 관계를 유추하기 위해서 수학적으로 식을 세운다. 이러한 식을 가설(Hypothesis) 이라고 함
H(x)=wx+bH(x) = wx+b

💡 최적의 가설을 찾는 일

  • y와 x의 관계를 가장 잘 나타내는 직선(회귀선)을 그려야함
  • 적절한 w와 b를 찾아내야함

잔차(Residual)

  • 종속 변수는 관찰의 결과인 확률변수이기 때문에, 오차(error) 를 포함
  • 따라서, 선형회귀에서는 표본집단(학습데이터)으로 학습된 모델의 예측값과 실제 관측값 사이의 차이인 잔차(residual) 개념을 사용한다.

학습

💡목적 : 종속 변수와 독립변수 간의 관계를 잘 나타낼 수 있는 선형식 모델링

  • 모델 추정을 위해 예측값과 실제관측값인 잔차의 제곱을 최소화하는 최소제곱법(OLS) 을 사용
RSS=j=1n(yiy^i)2yi:i번째데이터의실제종속변수값y^i데이터의예측값RSS = \displaystyle\sum_{j=1}^{n}{(y_i- \widehat{y}_i)^2}\\ y_i : i번째 데이터의 실제 종속 변수 값\quad ŷ_i 데이터의 예측값

  • 비용함수를 최소화하는 매개 변수인 w와 b를 찾기위한 작업
  • 이때 사용되는 알고리즘을 옵티마이저(Optimizer) 또는 최적화 알고리즘이라고 부름

경사하강법

평가

두 지표의 관계를 잘 표현할 수 있는 하나의 직선을 찾는 작업

💡 잔차를 최소로 하는 직선

평균제곱오차(mean squared error, MSE) 방식

  • 양수 음수에 상관없이 모든 오차가 동일하게 손실 값에 반영하기 위해서 사용
  • 오차의 제곱합에 대한 평균

단순선형회귀 & 다중선형회귀

한 개 이상의 독립변수 x와 종속변수 y와의 선형 상관관계를 모델링하는 회귀 분석 기법이다.
단순 선형 회귀 (Simple Linear Regression) : 한 개의 독립변수에 기반
다중 선형 회귀 (Multiple Linear Regression) : 두 개 이상의 독립변수에 기반

  • 선형 예측 함수를 사용하여 회귀식을 모델링한다.

y=wx+by=w1x1+w2x2+w3x3...+bw=기울기b=y절편y = wx+b\\ y = w_1x_1+w_2x_2+w_3x_3...+b\\w = 기울기\quad b = y절편

단순&다중 회귀의 회귀 계수

  • 모델 학습 후 회귀계수 확인 가능
    • coef_ : 회귀계수(=가중치)
    • intercept_ : 편향
단순 회귀
# 회귀계수 확인
print(model.coef_)
print(model.intercept_)

다중 회귀
#회귀계수가 여럿이므로 이름 확인
print(list(x))
print(model.coef_)
print(model.intercept_)

모델 구현

• Linear Regression 알고리즘은 회귀 모델에만 사용할 수 있음
• 알고리즘 함수: sklearn.linear_model.LinearRegression
• 성능평가 함수: sklearn.metrics.mean_absolute_error, sklearn.metrics.r2_score

# 불러오기
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, r2_score
# 선언하기
model = LinearRegression()
# 학습하기
model.fit(x_train, y_train)
# 예측하기
y_pred = model.predict(x_test)
# 평가하기
print(mean_absolute_error(y_test, y_pred))
print(r2_score(y_test, y_pred))
profile
난 성미다.

0개의 댓글