회귀 분석(선형 회귀)

이주현·2023년 12월 10일
0

머신러닝

목록 보기
5/14

회귀 분석이란?

  • 입력 변수와 연속적인 출력 변수 간의 관계를 모델링하고 예측하는 통계적 기법
  • 변수 간의 관계를 이해하고, 주어진 입력 변수 값을 사용하여 출력 변수 값을 예측하는데 사용

선형 회귀(Linear Regression)란?

데이터를 가장 잘 나타내는 선을 찾는 것!!
그 직선의 a(기울기), b(절편) 값을 찾는 것!

  • 회귀의 목표는 연속형 반응 변수의 값을 예측 하는 것

  • 단순 선형 회귀라는 것은 독립변수와 종속변수 간에 선형관계가 있다고 가정하고
    초평면이라고 하는 선형 평면을 이용헤 모델링 하는 것

    y=ax+b(a는기울기,b는절편)y = ax + b (a는 기울기, b는 절편)
  • 알고리즘을 이용해 최적의 a와 b값을 차자내는 것이 목표

    • 데이터를 가장 잘 설명하는 선을 찾아 입력값에 따른 미래 결과값을 예측하는 알고리즘

Cost Function(비용함수)란?

모델의 예측값과 실제 값 사이의 오차

  • 회귀의 비용함수 = 선과 데이터 사이의 거리의 평균
    비용 함수의 값이 작은 선이 가장 좋은 선!!

MSE(Mean Squared Error)란?

  • 비용함수 중 하나
  • 예측 값과 실제 값 사이의 오차를 제곱한 후 평균화한 값

경사 하강법(Gradient Descent)란?

  • 비용 함수의 값을 최소화하기 위해 모델의 파라미터(가중치와 편향)을 조정하는 데
    사용되는 최적화 알고리즘

  • 경사(기울기의 크기)가 0이 될때 까지 반복하여 최적의 값을 찾는다.

회귀(Regression) = 숫자 데이터값으로 예측하는것!
비용 함수 = 실제값과 예측값의 오차값
회귀문제에선 주로 비용 함수로 MSE를 사용!!
MSE를 사용하여 최적값을 찾기 위해 경사하강법을 사용!!

선형회귀모형에서 규제의 종류

  • Ridge : 선형회귀 기본 비용함수(MSE) + L2규제
  • Lasso : 선형회귀 기본 비용함수(MSE) + L1규제
  • Elastic Net : 선형회귀 기본 비용함수(MSE) + L1규제 + L2규제

모델의 복잡도

복잡한 모델

장점

  • 복잡한 데이터를 잘 설명

단점

  • 과하게 학습이 됨 -> over fitting, parameter 수가 늘어남
  • 파라미터가 늘어남으로써 연산량도 올라가게됨

over fitting = 학습은 잘하는대 상대적으로 테스트할때 성능이 떨어짐

단순한 모델

장점

  • over fitting 확률이 적음
  • 학습도 비교적 빠름

단점

  • 복잡한 데이터를 잘 설명 못한다.
  • under fitting 발생 할 수 있다 = 학습자체도 제대로 안된것

회귀 모델의 평가

객관적이고 정량적인 평가 지표(Metric)가 필요
(평가지표가 순서상 목적이 정해지면 자동 수립)

회귀 모델의 대표적인 평가 지표 3가지

  • RMSE
    • 0 = 가장 좋은 결과 / 무한대 = 가장 나쁜 결과
  • MAE
    • 0 = 가장 좋은 결과 / 무한대 = 가장 나쁜 결과
  • R2
    • 0~1 사이 값/ 1이 가장 좋은 결과/ 0이 나쁜 결과
      (간혹 -1가 나오면 "뭐하나 잘못했구나" 생각하기)

데이터 분할 = 모델 성능 평가와 최적화

규제량보다 더 중요!!

선형모델

y = w1x1 + w2x2 + - - - +b

w갯수가 많으면 복잡 적으면 단순
입력 feature에 따라 자동으로 모델복잡도 할당

즉 입력 feature 수 = parameter의 수 => 모델 복잡도의 영향

  1. 적당한 feature 조절 해야함

  2. 모델이 알아서 모델의 복잡도를 조절할 수 있도록 시킴
    10개의 parameter 에서 컴퓨터가 필요없는 weight를 제거
    = 정규함(reg)의 역할
    cost = MSE(성능) + Reg(weight 감소)
    [3 5 1 7 ] -> [1.5 2.7 0.3 4.5]
    -> [3, 5, 1, 0]
    weight 내리는 2가지방법

    1. 전체를 골고루 내리는 방법
    • L2 norm 의 관점 = 구부러진거 자체를 조금 더 구부러지게..
    1. 하나를 삭제해버리는 방법
    • L1 norm 의 관점 = 구부러진걸 그냥 날려버림..
      두개다 선택을 못하겠으면
      Elatic Net 을 사용 = L1규제 + L2규제 골고루 사용

    그리드 서치(Grid Search)란?

    • 주어진 하이퍼파라미터 값의 조합을 모두 시도하여 최적의 조합을 찾는 것
    • 하이퍼파라미터 최적화에 중점을 두고 있다.

    크로스-벨리데이션(Cross-Validation)란?

    • 모델의 일반화 성능을 평가

    • 새로운 데이터에 얼마나 잘 일반화되는지를 확인하는 데 중점

      그리드 서치는 주로 하이퍼파라미터 튜닝에 사용
      다양한 하이퍼 파라미터 값의 조합을 시도하여 최적의 조합을 찾음

      크로스 벨리데이션은 모델의 일반화 성능을 평가하는 데 사용
      데이터를 여러 부분으로 나누어 학습 및 검증 데이터로 사용
      모델의 성능을 신뢰할 수 있는 방식으로 평가

학습이 한쪽으로 안뭉치고 골고루 분포하는방법은?

  • 여러번 해보면 된다
  • 데이터를 한번 나눠보고 다른방식으로 나눠서 성능비교
  • 10번을하고 성능들을 평균내서 보편적인 성능이라고 믿음
  • 하나의 데이터를 여러방향으로 나눠서해봄..
  • 5가지로 나눠서 첫번째를가지고 실험 나머지로 학습
    = Cross-Check
  • Validation을 여러번 하고 각각의 의견을 듣는것
    = Cross-validation
  • n번의 걸쳐서 Validation하는것
    = n fold cross validation
profile
Backend Delveloper

0개의 댓글