본문 바로가기

AI가 뭐길래 왜 어려운 거죠?

[ML] LinearRegression_선형회귀 (ft. 절겁다)

 

Section2가 시작되었다아아

Section1 마무리 기간에 개인적으로 많이 힘들었다ㅠㅠㅠ 

그래도 스스로 토닥토닥해주며 보내주기로 했다! 그래야 Section2를 시작할 수 있을 것 같았다

이제 그만 우울을 떨치고!! 머신러닝 학습이 시작되었다아아

어려울 것이라고 생각하고 쫄고 있었는데ㅋㅋ 오오 생각보다 재미있었다 !!!

진짜루 절거웠다 휴

 

 


Section2_Sprint1_Note1
  • 학습목표
    • 머신러닝과 지도학습 이해
    • 회귀 문제(모델) 이해
      • 회귀 모델에 대한 기준 모델 설정
      • 회귀 평가지표 이해 및 적절한 사용
    • 선형 회귀 모델 이해
      • 단순선형/다중선형/다항선형 회귀의 차이 이해
      • Scikit-learn 이용한 선형 회귀 모델 생성, 사용, 해석

일반적인 머신러닝 프로세스


기존의 데이터로 유의미한 학습을 하고, 그 학습 결과를 토대로 새로운 데이터에 대한 신뢰할 수 있는 예측을 수행한다.  

 

  • 머신러닝 : 머신러닝 모델을 학습시키는 과정
    • 머신러닝 모델  : 특성과 라벨(타겟) 간의 수학적 관계, 패턴, 규칙
    • 머신러닝 목적 : 기존의 데이터로 학습하고 그 학습의 결과를 토대로 새로운 데이터에 대한 예측 수행 

 

  • 지도학습 : 기존 데이터의 라벨(타겟)을 이미 알고 있다. 이를 활용하여 패턴을 찾아낸다.
    • Data : 크기와 다양성
      • x  : 특성/feature, 독립변수 
      • y : 레이블/label, 타겟/target, 종속변수
    • Model : 수학적 관계, 패턴, 규칙 정의
    • Training : 기존의 데이터셋(특성과 라벨/타겟)을 통해 학습한다.  
    • Evaluation : 학습 결과 평가(모델의 예측값과  실제값 비교)
    • Inference : 만족스런 성능을 가진 학습모델를 활용하여 새로운 데이터에 대한 예측을 수행한다. 

 

  • 회귀 문제(모델)
    • 회귀 정의 : 특정 변수의 평균값과 그에 관련된 다른 변수들의 값들 사이의 관계를 측정한다.  
    • 기준 모델 : 최종 모델의 성능 판단을 위한 하한선 모델
      • 회귀 : 타겟의 평균 값
      • 분류 : 타겟의 최빈 클래스
      • 시계열 회귀 : 이전 타임스탬프 값
    • 평가 지표 : 모델 성능 평가
      • MSE : 잔차(오차) 제곱의 평균, 이상치에 민감
      • RMSE : 잔차 제곱의 평균에 루트한 값, 이상치에 덜 민감
      • MAE : 잔차 절대값의 평균, 이상치에 민감x, 미분하기 어려움
      • R2 : 결정계수 = 모델 설명력
        • 1에 가까울수록 설명력이 좋다
        • 설명력이 좋다는 것은 잔차의 크기가 매우 작고 예측값의 정밀도가 높다는 의미

 

  • 선형 회귀 모델 
    • 단순 선형 : 1개의 독립변수
    • 다중 선형 : 2개의 독립변수
    • 다항 선형 : 2차항 이상의 독립변수
      • 다항 : 4x² + 2y -3, 4x², -3
      • 단항 : 4x², 2y, -3
      • 차수 : 4x²  ⇒ 차수 2 ⇒ 2차항
      •            2y ⇒ 차수 1 ⇒ 1차항
      •            -3 ⇒ 차수 0
    • 선형 회귀 모델 해석
      • 4x² + 2y -3 ⇒ 4, 2 = 계수 / -3 = 상수항
      • 계수: .coef_ , 계수값의 부호 + ⇒ 증가 / - ⇒ 감소
      • 특성간 영향력 비교(계수값 차이)는 표준화(단위) 작업 후 비교 가능 
    • 회귀 예측 모델 : 산점도에서 가장 잘 맞는 회귀선(직선)을 그린다.
      • 최고 성능 모델 : (실제값) - (모델의 예측값) = 0
      • 잔차 : (실제값) - (모델의 예측값)
      • 최고 성능 모델 = 잔차를 최소로 하는 회귀선
      • 최적의 선형회귀선 = 잔차 제곱의 합(RSS)를 최소로 하는 직선
      • RSS : 선형회귀모델의 비용함수
      • 모델 학습 : 비용함수를 최소로 하는 파라미터 a와 B를 찾는 것 
      • 최소제곱법(OLS) : 잔차 제곱의 합을 최소로 만들어 주는 방법 

 


선형 회귀 모델 생성 및 사용

 

1. 특성 지정

  • 특성들과 타겟 간의 상관계수 구하기
  • 상관계수 값이 가장 큰 특성을 지정하여 단순 선형 회귀 모델을 생성한다. 

 

2. 기준 모델 

  • 타겟의 평균값을 활용한 기준 모델 확인

 

3. 단순 선형 회귀 모델

  • 모델 학습 후, 특성 sqft_living에 대한 타겟 price의 예측값 구하기

 

 

4. 다중 선형 회귀 모델 

  • 모델 학습 후, 두 특성 sqft_living, bathrooms에 대한 타겟 price의 예측값 구하기

 

 

5. 다항선형회귀

  • 독립변수가 2개인 다항선형회귀는 아래와 같은 식으로 나타낼 수 있다. (degree=2)

 

 

6. 평가 지표

  • 기준 모델, 단순선형회귀, 다중선형회귀 성능 평가

 

7. 모델 해석

  • 선형 회귀 모델 객체의 coef_ 와 intercept_속성을 사용하여 모델 식을 구한다. 


🔎 학습이 더 필요한 키위드 정리
ㅇ 비지도학습과 강화학습
ㅇ 시각화툴 Plotly
ㅇ 선형회귀에서의 선형성
ㅇ 최소제곱법
ㅇ scikit-learn

 

2023.03.18(토)