본문 바로가기
강의필기/데이터사이언스

[데이터사이언스] 선형회귀분석, 로지스틱 회귀분석, KNN

by shine2gether 2023. 4. 2.

멀티캠퍼스 데이터사이언스

 

 

선형회귀분석: 머신러닝파트


minimize MSE
경사하강법(Gradient Descent): 보폭을 결정하는 개념을 Learning Rate(학습률, 에타, 일반적으로 0.05)
전체 최적을 (optimal minimum) 보장하지는 않음

다중공선성: 독립변수들 간에 강한 상관관계가 존재하는 상태
확인방법: 상관계수, VIF 클수록 다중공선성이 큼
해결방법: 다중공선성이 있는 독립변수 제거, 머신러닝에서는 크게 고민하지 않는다

one-hot-encoding → Dummy variable
다중공선성 문제 해결: Ridge(가중치 조절), LASSO(데이터 제거)


로지스틱 회귀분석


로지스틱 → 로그 느낌
Classification: 이진 분류 모델, class 예측하는 문제, 이상, 이하로 수치형 데이터도 분류 가능함
y = 베타_0 + 베타_1 * x 에서 로지스틱 회귀분석은 y값을 확률로 본다, 0.5보다 크거나 같으면 A, 작으면 B

로지스틱 회귀분석의 결과는 무조건 확률로 나와야한다

승산: 일어날 가능성 대 일어나지 않을 가능성, odds = p / (1 - p), p = a * x + b

LogLikelihood (우도)는 maximize, Cross Entropy(Loss)는 minimize
MSE는 local minimum이 존재하는 단점이 존재, Cross Entropy는 global minim

로지스틱 회귀분석은 XOR 문제를 절대 풀수 없다! 선하나로 XOR 결과를 나눌수 없다
→ Multi layer Perceptron, Perceptron은 이진분류만 할수 있다

임계값 0.5가 낮아지면 민감도(Recall)이 올라가고, 0.5가 높아지면 Precision이 높아진다 -> 중요!!

선형회귀: 독립변수 변화량만큼 종속변수 y가 변한다, 회귀계수는 해당 독립변수 값이 1단위 증가할 때 종속변수 y의 변화량
오차를 minimize
로지스틱 회귀: 지수에 ax+b가 있음, 따라서 회귀계수는 독립변수 값이 1단위 증가할때 log(odds) 변화량, 독립변수가 변할때 승산의 로그를 씌운만큼 변한다
LogLikelihood (우도)는 maximize, Cross Entropy(Loss)는 minimize

ROC(Receiver Operating Characteristic), 0.5가 가장 안좋음
TPR = tp / (tp + fn), FPR = fp / (fp+tn)
AUC(Area Under Curve): 면적이 크면 좋다


KNN 알고리즘

 

K-Nearest Neighbor: Test 데이터와 가까운 k개의 Train 데이터의 y 값들을 비교, k는 주위의 관찰 샘플 값
분류(class 다수결, voting), 회귀(인접 데이터의 평균값을 결과값으로 예측) 모두 다룰수 있음
비모수적 방식: 통계적인 가정이 없다, 순수하게 데이터만 보면 된다
k 값에 따라 예측 결과가 바뀐다, 대체로 홀수로 설정

거리측정 기준: 유클리디안 거리(제곱의 합의 sqrt), 맨해턴 거리(절대값의 합)
거리 개념을 사용하는 알고리즘의 경우 Normalization 사용 검토 필요
장점: 단순, 비선형 데이터에 유용, 분류와 회귀 모두 사용가능
단점: 높은 계산 비용, 복잡도 높음, 최적의 k 값 정하기 어려움

댓글