회귀

매일 공부(ML)·2021년 10월 13일
0

CS 

목록 보기
13/33

회귀(Regression)

  • 정의: 여러 데이터 기반으로 연속형 변수 관계의 모델링하고 적합도 측정. 즉, 독립변수와 종속변수 사이의 상호 관련성을 규명하는 것입니다.

  • 예시: 부모 키와 자식 키 관계, 집값예측, 자동차 스펙을 통해 가격 예측

  • 종류: 선형 회귀 분석 / 로지스틱 회귀 분석

  • 특징: 지도학습에서 회귀 문제를 풀 때 사용이되고 이때, 데이터x의 여러 features를 사용하여 클래스 y추론(클래스별 확률 값 출력)

선형 회귀분석(Linear Regression)

  • 정의: 두 변수 사이의 관계를 직선형태로 가정하고 분석이 가능한 것.

    : 종속변수Y와 한 개이상의 독립변수X와의 선형 상관관계를 모델링하는 기법.

    :즉, 새로운 데이터가 들어왔을 때 어떤 값이 될지 예측

    : 연속형 변수일 때 사용가능하므로 범주형이 나오면 더미변수 변환.

  • 조건:

    	- 선형성: 예측하고자하는 종속변수와 독립변수 간에 선형성을 만족함. 
    
    - 선형성 만들기
        
         i) 다른 새로운 변수 추가
         
         ii) 로그, 지수, 루트 등 변수변환
         
         iii) 아예 선형성 만족하지 않는 변수 제거
         
         iv) 선형 회귀 모델 만들고 변수 선택법으로 통과
    • 독립성 : 독립변수 x간 상관관계가 없어야 만족

      • 독립성 만들기 i) 다중공선성을 일으키는 변수 제거 ii) 다른 변수로 치환
    • 등분산성 : 분산이 같아서 특정 패턴없이 고르게 분포.

    • 정규성 : 정규분포를 띄는지 여부를 의미한다

  • 분류: 독립변수의 개수./ 1개 - 단순 선형회귀 / 2개 이상 - 다중 선형회귀

선형 회귀를 이루는 여러 공식들

  1. 선형 회귀 모델링

    선형 회귀식 :

    : 회귀계수인 베타와 종속변수와 독립변수 사이에서 생기는 오차를 더한 식으로 이것은 모두 파라미터이다.

  2. 머신러닝에서의 선형회귀모델 표기법

위의 식을 조금 머신러닝답게 변형한 것으로 H는 가정, W가중치, x는 특성벡터, b는 편향.

목적은 주어진 데이터를 위해서 W와 b 구한다.

  1. 용어 설명
  • 전차(Residuals): 회귀모델을 이용해 추청한 값과 실제 데이터의 차이

  • 최소제곱법: 잔차를 이용하여 주어진 점 데이터를 설명한다.
    즉, n개의 점 데이터에 대하여 잔차의 제곱의 합을 최소로 하는 W,b구함.

  1. 데이터셋 준비하기(Boston house prices dataset)

: scikit-learn 라이브러리 제공되는 데이터 셋 활용.

print(boston["DESCR"]) - 데이터의 각 attribute가 의미하는 바.

  1. Boston Dataset에 Linear Regression적용

  1. 경사 하강법(Gradient Descent Algorithm)

: 적절한 회귀 모델의 회귀 계수 찾아 손실함수 설정 잘하기(W,b 잘 구하기)

알파는 learning rate로 값이 클 수록 빠른 수렴이 가능하나 너무 크면 최적의 W을 지나칠 수도 있다. 적절한 learning rate를 선정하는 것이 중요하다.

로지스틱 회귀분석(Logistic Regression)

  • 정의: 0~1 사이의 값을 예측하고 가능성이 더 높은 범주에 속하는 것을 분류하는 지도학습

  • 이진분류에서 주로 사용한다.

  • 추정 확률 50%가 넘는 모델은 해당 클래스에 속한다고 판단.
    레이블이 1이면 양성 클래스, 아니면 레이블이 0인 음성 클래스로 나뉨

  • 가중치의 합을 계산하고 바로 결과를 출력하지 않고 결괏값의 로지스틱을 출력

  • 종속변수 방향 확률변수 방향이다.

정의 및 용어 설명

  • 로지스틱 회귀식: 종속변수가 0일 확률을 P(y=0|x)라고 하고 구하는 식은

  • Odds: 사건이 발생할 확률 / 발생하지 않을 확률

  • log를 취하면 Log-odds(선형회귀분석의 종속변수처럼 구하기)

  • 우리가 실제 원하는 값 공식

  • Sigmoid function

: 0과 1사이의 값을 출력하는 S자 형태인 함수

  • 예측하는 단계
  1. 실제 데이터 -> Odds 및 회귀계수 구하기

  2. Log-odds 계산 -> sigmoid function입력-> 특정 범주에 속할 확률 계산

  3. 설정한 threshold맞추어 이진 분류( 1 or 0)

Softmax함수와 Cross-Entropy

Softmax함수

: 각 클래스의 확률을 추정한다

: 다중 범주를 분류하는 함수이다

: 모든 범주에 해당하는 softmax의 값을 더하면 합이 1 (확률의 총합은 1)

: 큰 log-odds 와 작은 log-odds 차이 극대화.

: one-hot encoding ( 0과 1로 분류)

Cross Entropy

: 가중치가 최적화될수록 H(p,q)값이 감소되는 방향으로 학습

: p(x)- 실제 데이터의 범주

: q(x)- softmax의 결과값 대입

: softmax함수의 손실함수로 쓰인다

: 비용함수 최소화를 통해서 타킷 클래스에 대하 낮을 확률을 예측하는 모델을 억제하여 높은 확률을 가진 타깃 클래스 얻기 가능

: K=2, 비용함수는 로지스틱 회귀의 비용함수와 같다.

Simple Is Best

profile
성장을 도울 아카이빙 블로그

0개의 댓글