1. 회귀분석
회귀분석(Regression Analysis)
- 관찰된 여러 데이터를 각 연속형 변수 간의 관계를 모델링하고 이에 대한 적합도를 측정하는 분석 방법
예시)
- 부모와 자식의 키 관계
- 부동산 가격 예측
- 1인당 국민 총소득과 배기가스 배출량 사이의 관계 예측
선형 회귀분석의 기본 가정
(1) 선형성 : 예측하고자 하는 종속변수 y와 독립변수 x간에 선형성을 만족하는 특성. 그러므로 비선형회귀분석에서는 해당하지 않는다.
(2) 독립성 : 독립변수 x간에 상관관계가 없이 독립성을 만족하는 특성.
다중 회귀분석에서 중요한 기본가정으로 단순회귀분석에서는 해당하지 않는다.
(3) 등분산성 : 분산이 같다. 이는 잔차가 특정한 패턴 없이 고르게 분포했다는 의미
(4) 정규성 : 잔차가 정규성을 만족하는지 여부. 정규분포를 띄는지 확인
-> 4가지 기본가정을 만족해야 유의한 회귀모델이 나온다.
그렇지 못할 경우 Stepwise로 4가지 기본가정을 위배시키는 변수를 제거
출처: https://kkokkilkon.tistory.com/175 [꼬낄콘의 분석일지]
지도학습의 두 종류
- 분류 : 데이터 x의 여러 feature값들을 이용하여 해당 데이터의 클래스 y를 추론 -> 클래스별 확률 값을 출력
- 회귀 : 데이터의 x의 여러 feature값들을 이용하여 연관된 다른 데이터 y의 정확한 값을 추론 -> 연관된 종속변수 값을 직접 출려하는 형태로 모델의 구성이 달라지게 됨
2. 선형 회귀분석
- 종속변수 Y와 한 개 이상의 독립변수 X와의 선형 상관관계를 모델링하는 회귀분석 기법
- 1개의 독립변수이면 단순 선형회귀, 2개이상의 독립변수이면 다중 선형회귀
y=βx+ϵ
- β : 회귀계수 (파라미터)
- ϵ : 종속변수와 독립변수 사이의 오차 (파라미터)
- x,y에 데이터를 넣음
-> 데이터로부터 β와 ϵ를 추정
-> 모델링을 수행
-> 새로운 데이터의 x값들을 입력으로 넣음
-> 해당하는 y 값을 추론
- 주어진 데이터에 선형식이 잘 맞도록 회귀계수와 오차를 구함
H=Wx+b (머신러닝에서의 선형회귀모델 표기법)
- H : 가정(Hypothesis)
- W : 가중치(Weight)
- b : 편향(bias)
- 보통 W, b는 고차원의 행렬 형태
선형회귀에서의 손실함수
- 회귀모델을 이용해 추정한 값과 실제 데이터의 차이
- 최소제곱법 : n개의 데이터에 대해 잔차의 제곱의 합을 최소로 하는 W,b를 구하는 방법. (잔차를 이용한 회귀모델을 찾는 가장 대표적인 방법)
경사하강법
출처 : https://lsh424.tistory.com/9
- 적절한 회귀모델의 회귀계수를 찾기 위해서는 손실함수를 잘 설정하는 것이 중요
- 손실함수를 최소화 시키는 W, b를 구해야함
- 머신러닝에서는 가중치의 그래디언트(미분값)가 최소가 되는 지점을 손실함수가 최소가 되는 지점이라고 가정
- w 파라미터 개수가 많을 경우 시간이 많이 걸림
출처 : https://lsh424.tistory.com/9
- α : learning rate. 적절한 크기로 선정해서 더 빠르게 수렴시킴
- 머신러닝&딥러닝에서는 굉장히 중요
3. 로지스틱 회귀분석
- 분류해주는 지도학습 알고리즘
- 데이터가 어떤 범주에 속할 확률을 0~1사이의 값으로 예측, 확률에 따라 가능성이 더 높은 범주에 속함
- 이진분류 문제 풀 때 많이 사용
sigmoid function
-
Log-odds 값을 구한 다음, 이를 sigmoid function에 넣어서 0에서 1 사이의 값으로 변환해 주는 것
-
어느 기점 이하에는 0을 어느 기점 이상에서는 1을 즉, 2분법적으로 나타낼 수 있는 그래프
출처 : https://lsh424.tistory.com/9
-
실제 데이터를 대입
-> Odds, 회귀계수를 구함
-> Log-odds를 계산한 후 sigmoid function의 입력으로 넣음
-> 특정 범주에 속할 확률 값을 계산
-> 설정한 threshold에 맞추어 설정값 이상이면 1, 이하면 0으로 이진 분류를 수행
4. Softmax 함수와 Cross Entropy
Softmax 함수
-
여러 범주로 분류하는 함수
출처 : https://lv99.tistory.com/7
-
softmax의 값을 전부 더했을 때 그 합이 1
-
log-odds와 작은 log-odds의 차이를 극대화시킴
-
softmax 함수에 모든 범주의 log-odds를 통과시키면 해당 데이터가 어떤 범주로 분류되는지 확실히 알 수 있음
-
one-hot encoding(0과 1)을 통해 표현
Cross Entropy
- softmax 함수의 손실함수
- 분류(classification) 문제를 풀 때 Cross Entropy를 이용해서 손실(loss, cost) 함수를 정의
출처 : https://androidkt.com/choose-cross-entropy-loss-function-in-keras/
- 로지스틱 회귀모델이 추론한 확률 분포 q(x)와 실제 데이터의 분포 p(x)의 차이를 계산한 것 -> 차이가 적을 수록 Cross Entropy도 작아짐
정리
선형 회귀분석
- 종속변수가 연속형인 경우, 독립변수의 변화에 따른 종속변수 값의 추정
- 중요하게 사용되는 함수 : 보편적으로 최소제곱법을 이용
- 손실함수 : 보편적으로 최소제곱법을 이용
로지스틱 회귀분석
- 종속변수의 범주가 2개인 경우 범주별 확률을 추정->최대확률 범주를 결정하는 분류모델로 활용
- 중요하게 사용되는 함수 : logits(= log-odds), sigmoid 함수
- 손실함수 : cross entropy(class = 2)
다중 로지스틱 회귀분석
- 종속변수의 범주가 여러 개인 경우의 로지스틱 회귀분석
- 중요하게 사용되는 함수 : cross entropy 함수, softmax 함수
- 손실함수 : cross entropy