머신러닝 9

로지스틱 회귀모형(logistic regression)에서 변수 중요도(feature importance)

로지스틱 회귀 모형에서 범주형 변수인 Y(종속변수)를 예측하는데 기존의 X(독립변수)의 중요도(=기여도)를 파악한다면 데이터 정보 기반의 의사 결정을 내리고 모델 성능을 향상시키는데 필요한 과정이다. 이 게시물에서는 가중치를 사용하여 로지스틱 회귀에서 독립변수의 중요도를 얻는 방법에 대해 작성하고자 한다. 1.로지스틱 회귀모형(logistic regression model)? 로지스틱 회귀 분석은 이항 분류에 사용되는 통계적 방법이다. 즉, 일반적으로 0과 1로 표시된 두 가지 결과 중 하나를 예측하려는 경우에 일반적으로 적용되며. 로지스틱 회귀 분석은 일반적인 선형 회귀 알고리즘이 아닌 분류 알고리즘이다. 로지스틱 회귀 분석의 주요 아이디어는 주어진 입력이 특정 클래스에 속할 확률을 모델링하는 것이다...

[머신러닝] ROC 커브, PR 커브 모델 성능 평가시 무엇을 언제 쓸까?

https://sikmulation.tistory.com/51 [PySpark] 5폴드 교차검증(5-fold crossvalidation) 과 모델선택 1.교차검증과 모델선택 ML 알고리즘 마다 조절해야할 하이퍼 파라미터 옵션이 존재하는데 이를 조정하면서 학습데이터에서 과소적합, 과대적합을 방지 할 수 있다. 그 중 교차검증 방법론은 연 sikmulation.tistory.com 우선, 여기서 교차 검증시 평가함수로 PySpark 함수 BinaryClassificationEvaluator 를 사용했다. 해당 함수는 2개의 metric을 지원하는데 "areaUnderPR", "areaUnderROC" 이다. 그럼 이 두개는 언제 어떨때 쓰는게 좋을까? 1.PR curve(precision - recall)..

[PySpark] 5폴드 교차검증(5-fold crossvalidation) 과 모델선택

1.교차검증과 모델선택 ML 알고리즘 마다 조절해야할 하이퍼 파라미터 옵션이 존재하는데 이를 조정하면서 학습데이터에서 과소적합, 과대적합을 방지 할 수 있다. 그 중 교차검증 방법론은 연속적으로 훈련과 검증 단계를 교차해가며 모델 성능을 검증하는데 여기서 주어진 데이터에서 최적의 하이퍼 파라미터를 보유한 가장 성능이 높은 모델을 선택한다. 장점 모든 데이터 셋을 평가, 훈련에 활용 → 과소적합, 과대적합 방지 모델 선택 단점 시간이 오래걸림 위의 사진에서 예시는 5폴드 교차검증으로 학습 데이터와 검증 데이터를 활용하여 검증시 가장 성능이 좋은 모델, 하이퍼 파라미터를 선택한 후 테스트 데이터를 활용하여 마지막 평가 진행. - 로지스틱 파라미터 참고:https://runawayhorse001.github...

오버피팅(overfitting)과 언더피팅(underfitting)이 뭐길래?

1.과소적합(underfitting)과 과대적합(overfitting) 모델이 데이터를 학습하는 과정에서 발생하는 과소적합, 과대적합 문제를 1) 모델 복합도 측면, 2) 데이터 정보량 측면에서 고려할 필요가 있음. 과소적합(underfitting): 학습 데이터조차 제대로 학습x(데이터 내재적인 구조 반영x), 편향이 높게(high bias) 학습되어 새로운 데이터를 예측하지 못하는 상태 과대적합(overfitting): 학습 데이터를 과하게 학습(지엽적인 특성까지 반영), 분산이 높게(high variance) 학습되어 새로운 데이터를 예측하지 못하는 상태 결론적으로, 편향을 높이면 학습이 잘 안되고, 편향이 낮으면 분산이 높아지는 절충(trade off) 관계로 두 가지 에러(error)를 최소화 ..

[PySpark] 신용카드 사기거래 탐지 모델링(2) - 성능지표정의

모델링 과정에서 우리가 해결하고자하는 문제가 무엇인지 정의하는 것은 전체 모델링 업무에 있어서 거의 반이지 않을까?(시작이 반이라는 의미가 있으니..). 즉, 모델링 업무의 시작이라고 생각된다. 문제도 모르는채 무슨 모델을 어떻게 쓸지 고민하는건 마치 내가 로또 1등 걸리면 한강이 보이는 집을사고 차는 포르쉐로 사서 나머지 돈은 주식해야지랑 다를빠가 있으려나.. ㅠ(그래도 행복한 고민이다) 내가 생각하기엔 머신러닝(지도학습)은 기존에 있는 데이터 패턴을 파악해(학습) 미래의 데이터 패턴을 보고 얼마나 예측하는 모델이라고 생각한다. 여기서 모델이 얼마나 잘 예측하는지는 모델링 프로세스의 결말 부분에서 중요하다. 왜냐 사람의 직감보다 못마추는 모델이라면 굳이 사용할 필요가 없는거 아닌가? 일반적으로 데이터를..

[딥러닝] Long-Short Term Memory models(LSTM)

LSTM 알고리즘 기존의 RNN이 출력과 먼 위치에 있는 정보를 기억할 수 없다(Long-Term Dependency)는 단점을 보완하여 장/단기 기억을 가능하게 설계한 신경망의 구조 neural network이 하나의 layer로 구성된 것과 다르게, 3개의 layer가 서로 정보를 주고 받으며 학습 ex) forget gate(과거 정보 유지), input gate(현재 정보 활용), output gate(계산 정보 출력) 장점 오래전 혹은 최근의 정보를 기억할 수 있음 RNN에서 역전파시 기울기 소실(gradient vanishing) 문제 해결 단점 학습해야 할 파라미터 수가 많으므로 연산속도가 느림 - Reference https://ratsgo.github.io/natural%20languag..

[머신러닝] Random Forest, XGBoost, LightGBM 비교

1.Random Forest - 알고리즘 여러 개의 의사결정나무(Decision Tree) 모델을 배깅(bagging) 앙상블한 모델 bagging : training data로부터 랜덤하게 추출하여 동일한 사이즈의 데이터셋을 여러개 만들어 독립적인 트리를 구성 각 트리마다 변수들이 랜덤하게 사용(subsampling) > 개별 트리들의 상관성을 줄여 일반화 성능 확보 - 장점 일반화 및 성능 우수 파라미터 조정 쉬움 데이터 scaling 불필요 - 단점 샘플을 계속 추출하다 보면 비슷한 데이터가 만들어질 확률이 증가 해석이 어려움(앙상블 모형의 특징) 변수가 너무 적은 경우 랜덤성이 부족하여 성능 떨어짐 훈련시 메모리 소모 큼 2.XGBoost - 알고리즘 여러 개의 의사결정나무(Decision Tre..

[머신러닝] Kernel/Kernel trick(커널, 커널트릭)

0.개요 앞서, Support Vector Machine은 다음과 같은 제약식이 있는 최적화 문제를 라그랑주 문제로 풀었다. $$\text {max}\quad L_D(\alpha_i)=\sum^n_{i=1}\alpha_i - \frac {1}{2}\sum^n_{i=1}\sum^n_{j=1}\alpha_{i}\alpha_{j} y_i y_j x^{T}_ix_j$$ $$\text {subject to} \quad \sum^n_{i=1}\alpha_i y_i = 0, \ 0 \leq \alpha_i \leq C, \quad i = 1, \dots , n $$ 그러나 분류모델로 선형 SVM을 가정했을 때 soft margin을 사용해 어느 정도 오분류를 허용하더라도 다음과 같은 input space에서 데이터를..

[머신러닝]Support Vector Machine(SVM)에 대해 알아보자

0.History 서포트 벡터 머신(support vector machine; svm) 알고리즘은 Vapnik, Chervonenkis(1963)에 의해 고안됐다. 1992년 커널 트릭(kernel trick) 방법론을 적용해 마진(margin)을 최대화하는 초평면(hyperplane)을 찾는 비선형 분류기로 확장했으며, 1995년에는 소프트 마진(sorft margin) 개념을 도입해 svm의 분류기의 성능을 높였다. 1.SVM - 초평면(hyperplane), 마진(margin) 우선, 여기서 svm은 지도학습 분류기로 이진 분류만 고려하기로 한다. 주어진 훈련데이터(training observation)를 이용하여 마진(margin)을 최대화하는 초평면(hyperplane)을 찾는 분류기이다. $$..