본문 바로가기

분류 전체보기111

10. 회귀(Regression) - 로지스틱 회귀, 회귀 트리 Index● Logistic Regression (로지스틱 회귀) 모델의 모형은 선형회귀와 비슷하지만 (입력변수가 Continous 하고, 회귀계수가 선형) 예측하고자 하는 종속변수가 {0,1} 의 Binary 한 값이기 때문에 Binary Classification, 분류모델에 해당한다. 하지만 결국 continuous한 P(Y=1 | X) 조건부 확률에 대한 분포를 예측하는 것이기 때문에 Regression이기도 하다. LR의 회귀식은 X 의 선형결합식에 Sigmoid 를 씌워 (0,1) 사이의 값으로 만든다. (Logistic function 이라고도 부름) Cost function : 일반 회귀에서는 MSE를 활용했다면, 로지스틱회귀는 분류 문제이기 때문에 Cross-Entropy 활용한다. 목적.. 2023. 5. 31.
9. 회귀(Regression) - 선형회귀 Index● Linear Regression 개요회귀(Regression)모델의 가장 큰 구분은 ①독립변수의 개수에 따라 단일회귀/다중회귀  ② "회귀계수"의 종류에 따라 선형회귀/비선형회귀로 구분된다. (비선형 회귀와 다항회귀를 혼동하면 안된다). 선형회귀는 피쳐와 라벨간에 선형적인 관계가 있다고 가정하고 최적의 선형함수를 탐색한다. (실제는 선형적 관계가 아닐수 있음에도) 회귀모델은 오류(=Cost=Loss function ; residual, RSS, MAE, MSE 등으로 측정)를 최소화하는 회귀계수 혹은 회귀선을 찾는것을 목적으로 한다. 최적의 회귀계수를 찾는 대표적인 방법론 : Gradient Descent (경사하강법). Gradient는 Cost를 parameter(회귀계수)에 대해 편미분.. 2023. 5. 31.
8. 베이지안 최적화(Bayesian Optimization) Index● 베이지안 최적화 개요GridSearch 와 같은 방식의 파라미터 튜닝은, 모든 조합의 수를 다해보기 때문에 computational cost가 매우 크다. 따라서 데이터 사이즈가 크거나, XGB, LightGBM 과 같이 느린 모델에는 베이지안 최적화기법이 선호된다. 베이지안 최적화란 ? "목적함수의 식을 모를 때 최대/최소 y값(f(x))을 반환하는 x를 찾는 기법" 이다. 베이지안 최적화의 중요한 두가지 요소는 대체모델(Surrogate Model)과 획득함수(Acquisition Function)이다.  대체모델(Surrogate Model)은 미지의 목적함수를 확률적으로 추정하는 모델로, 획득함수가 계산한 입력값(하이퍼 파라미터)기반으로 모델(최적함수)를 개선해 나간다. 아래 그림에서.. 2023. 5. 30.
지니계수 지니계수 계산법 2023. 5. 28.
7. 앙상블(Ensemble) - 부스팅(Boosting) Index 1. Boosting 앙상블 개요 이번 포스팅에 다룰 내용은 "부스팅(Boosting)" 앙상블이다. 부스팅은 이전에 정리한 Voting, Bagging 앙상블과는 다르게 순서를 가진다. 부스팅 모델은 여러개의 약한모델(weak learner)을 순차적으로 학습하면서, 잘못 예측한 데이터에 가중치를 부여해 오류를 개선해나가는 모델이다. 부스팅 모델에 가장 대표적인 방식이 ADA Boost (Adaptive Boosting), GBM (Gradient Boosting Method)인데 이번 포스팅에는 GBM 부류의 모델들에 대해 정리하겠다. (ADA 는 틀린 데이터셋에 대해 가중치를 줘가며 오답을 줄이려는 방향이고, GBM 은 모델의 전체 손실함수를 최소화 하는 방향으로 GBM 이 좀더 유연하다.. 2023. 5. 28.
6. 앙상블(Ensemble) - 보팅(Voting),배깅(Bagging) Index앙상블(Ensemble)은 여러 개의 개별 머신러닝 모델을 조합하여 더 강력하고 정확한 예측 모델을 만드는 기법이다. 분류(Classification) 뿐 아니라 회귀(Regression) 문제에서도 매우 유용하게 쓰인다.개별모델을 '결합'하는 방법에 따라 크게 보팅(Voting), 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking) 4가지 정도로 나눠볼 수 있다.이번 포스팅에서는 앙상블 중에서도 보팅과 배깅에 대해서 정리하며, 분류문제를 기준으로 한다. (회귀에서의 앙상블은 사용하는 클래스와 개별 예측모델의 객체만 다르고 전체적인 개념은 같다)  1. 보팅(Voting)보팅은, 같은 데이터셋에 대해서 여러 다른 종류의 모델로 학습하고 예측한 결과를 통해 최종 투표하는 방.. 2023. 5. 28.
5. 분류(Classification) - Decision Tree Index분류(Classification)모델은 이산형(Discrete), 범주형(Categorical)한 변수를 예측하는 분야로 KNN, SVM 과 같이 고전적인 방법, Logistic Regression, 딥러닝 분야의 Neural Network, 여러가지 ML모델을 결합한 Ensemble등 다양한 모델이 있다. 그중에서 이번 포스팅에서는 '데이터의 균일도' 를 기반으로 분류하는 모델인 Decision Tree 모델에 대해 정리한다. 일반적으로 음성/텍스트(NLP)/이미지 등의 데이터셋에는 신경망 구조의 딥러닝 모델이 강력하고, Tabular 형식의 정형 데이터의 분류에는 앙상블(Ensemble) 모델이 높은 성능으로 자주 사용되고 있다.  1. Decision Tree 개요스무고개와 같이 Rule .. 2023. 5. 27.
4. 성능 평가 (Evaluation) - Classification 평가방법 Index기계학습 알고리즘의 성능 평가는 기본적으로 Estimator 의 종류가 회귀인지, 분류인지에 따라 어려종류로 나뉜다. 회귀의 경우 오차를 기반으로 MSE, MAE, RMSE, R^ 등으로 간단히 계산 할 수 있다. 반면, 분류의 경우 정확도(Accuracy) 외에도 여러가지 지표로 판단이 필요하고, target 의 class 가 Binary or Multi 인지에 따라서도 사용하는 지표가 달라지게된다. 본 포스팅에서는 분류(Classification)문제에서의 평가방법에 대해서 다룬다.  1. 정확도 (Accuracy) 가장 기본적인 분류문제의 평가지표. "얼마나 정답을 맞췄는지" 로 직관적이지만, 불균형한 분포의 데이터셋에서는 결과가 외곡될 수 있다. 예를들어 100만개 중에 3개정도 불량이 .. 2023. 5. 27.