공부/AIFFEL

FUNDAMENTAL 15. 선형 회귀와 로지스틱 회귀

dong_dong_2 2021. 2. 1. 19:48

1. 회귀(Regression)에 대하여
    - 회귀분석(Regression Analysis)이란 통계학에서 전통적으로 많이 사용되던 분석 방법으로, 관찰된 여러 데이터를 기반으로 각 연속형 변수간의 관계를 모델링하고 이에 대한 적합도를 축정하는 분석 방법이다.
    - 독립변수(independent variable) 또는 설명변수(explanatory variable)과 종속변수(dependent variable) 또는 반응변수(response variable)이 있다.
    - 두 변수 사이의 관계를 직선 형태로 가정하고 분석하는 것을 선형 회귀분석(Linear Regression)이라 한다.
    - 선형 회귀분석의 표준 가정이란 회귀분석 대상 변수들이 가져야 할 4가지 조건(선형성, 독립성, 등분산성, 정규성)을 말한다.
    - 선형 회귀분석의 기본 가정 내에 문제가 들어온다면 일단 먼저 회귀 분석을 시도해볼 만큼 문제를 해결할 때 많이 이용하게 되는 보편적인 방식이다.
    - 지도학습의 두 종류 : 분류와 회귀
       1) 분류 : 데이터 X의 여러 feature 값들을 이용하여 해당 데이터의 클래스 Y를 추론하는 것
       2) 회귀 : 데이터 X의 여러 feature 값들을 이용하여 연관된 다른 데이터 Y의 정확한 값을 추론하는 것
2. 선형 회귀 분석(Linear Regression)
    - 회귀 분석을 대표하는 가장 대표적인 방법이다.
    - 종속변수 Y와 한 개 이상의 독립변수 X와의 선형 상관관계를 모델링하는 회귀분석 기법이다.
    - 참고로 독립변수의 개수에 따라 한 개의 독립변수를 가지고 있는 방식은 단순 선형회귀, 둘 이상의 독립변수를 가지고 있는 경우에는 다중 선형회귀라 부른다.
    - 선형 회귀식은 y = βx + ε 이다. 여기서 β는 회귀계수이고, ε는 종속 변수와 독립 변수 사이의 오차이다. 이들은 우리가 데이터로부터 추정해야 하는 파라미터가 된다.
    - 선형회귀 모델을 찾는다는 것은 주어진 데이터에 우리의 선형 식이 잘 맞도록 회귀계속 및 오차를 구하는것을 의미한다.
    - 머신러닝에서는 선형회귀모델 표기법이 H = Wx + b이다. 여기서 H는 가정, W는 가중치, b는 편향을 의미한다.
    - 잔차(Residuals)란 우리가 회귀모델을 이용해 추정한 값과 실제 데이터의 차이를 의미한다.
    - 최소제곱법은 이 잔차를 이용하여 주어진 점 데이터들을 가장 잘 설명하는 회귀모델을 찾는 가장 대표적인 방법 중 하나이다. 즉, n개의 점 데이터에 대하여 잔차의 제곱의 합을 최소로 하는 W, b를 구하는 방법이다.
    - 참고로 머신러닝에서는 최소제곱법과 같은 회귀계수를 구하는 과정에 쓰는 함수를 손실함수(Loss function)이라고 한다.
    - 또한 회귀모델이 잘 결정되었는지 확인할 때 참고하는 지표로 결정계수(R-squared 또는 R2 score)라는 것이 있다. 이는 0에서 1 사이의 값으로 나타나는데, 1에 가까울수록 모델이 좋은 것이다.
3. 로지스틱 회귀분석(Logistic Regression)
    - 데이터가 어떤 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해주는 지도 학습 알고리즘이다.
    - 로지스틱 회귀분석은 이진 분류(binary classification) 문제를 풀 때 많이 사용한다.
    - 로지스틱 회귀에서 데이터가 특정 범주에 속할 확률을 예측하기 위해 다음 단계를 거친다.
       1) 실제 데이터를 대입하여 Odds 및 회귀계수를 구한다.
       2) Log-odds를 계산한 후, 이를 sigmoid function의 입력으로 넣어서 특정 범주에 속할 확률값을 계산한다.
       3) 설정한 threshold에 맞추어 설정값 이상이면 1, 이하면 0으로 이진분류를 수행한다.
4. Softmax 함수와 Cross Entropy
    - Softmax : 2가지가 아닌 여러 범주로 분류하는 함수이다. Multi class xlassification에 적합한 함수라고 볼 수 있다.
    - Cross Entropy : softmax 함수의 손실함수로 쓰인다.