본문 바로가기
728x90

ML21

# 8 앙상블 기법 CatBoost 기존 Gradient Boosting 방법의 문제점 1. Target LeakageTarget Leakage란 범주형 변수에서 범주형 값을 수치로 바꿔서 모델링하는데 수치로 바꾸는 과정에서 target value가 포함이 되어버리는 것이다. 즉, 학습할 데이터에 정답이 사용이 되어버려 학습 데이터에서는 잘 맞지만 나중 테스트 데이터에서 예측값에 문제가 나오는 것학습 과정에서 미리 target(정답)이 유출되어 버려 Target Leakage라고 한다.다음 예를 보자.범주 A는 A에 대응되는 y값(target값)의 평균인데 위 표에서는 21​=0.5가 된다. 마찬가지로 B는 32​=0.67, C는 54​=0.8 이다.(참고로 범주형 데이터에서 값을 수치로 바꾸는데 target의 평균값을 많이 쓴다고 한다... 2023. 9. 24.
#7 앙상블 기법 LightGBM (LGBM) 기존의 GBM 모든 변수에 대해 모든 데이터셋을 스캔 Light GBM 기존의 GBM은 수직적으로 확장하는 반면에 다른 알고리즘은 Tree가 수평적으로 확장 Light GBM의 Leaf-wise tree 분할 방식은 tree 균형을 고려하지 않고 최대 손실 값(max data loss)를 가지는 leaf 노드를 지속적으로 분할하면서 tree가 깊어지고 비대칭적인 tree가 생성됨 성능 향상이 빠른 leaf 노드를 분할한다. 모든 변수에 대해 -> Exclusive Feature Bundling (EFB) 데이터가 Sparse한 공간에서는 exclusive하다. 즉, 동시에 nonzero값을 갖는 경우는 드물다.(ex: one-hot-encoding) 즉, 데이터의 변수를 줄임 모든 데이터셋을 스캔 -> .. 2023. 9. 22.
#6 앙상블 기법 XGBoost(Extreme Gradient Boosting) XGBoost (Extreme Gradient Boosting) Gradient Boosting의 과적합 방지를 위한 기법이 추가된 지도학습 Gradient Boosting의 병렬 학습이 지원되도록 구현한 라이브러리 GBM에서 발전하여 제한된 컴퓨팅 자원하에서 더 빠르게 효율적으로 많은 데이터를 활용 경험적으로는 데이터가 1,000개 ~ 30,000 일때 사용, 데이터가 더 클 때는 LightGBM이 더 좋다고 생각 XGBoost 장점 병렬처리를 통한 빠른 학습 유연한 learning system overfitting 방지를 위한 설계 다양한 시나리오에 대한 확장성 XGBoost는 Gradient Boost이지만, 보다 빠르게 처리하고자하는데 그 목적이다. 목적을 위한 방법 두 가지 1. Split Fi.. 2023. 9. 22.
#5 앙상블 기법 Gradient Boosting Machine(GBM) 먼저 배깅의 대표적인 모델은 랜덤 포레스트가 있고, 부스팅의 대표적인 모델은 AdaBoost, Gradient Boost등이 있습니다. Gradient Boost의 변형 모델로는 XGBoost, LightGBM, CatBoost가 있습니다. Gradient Boosting Machine = Gradient Desent Algorithm + Boosting AdaBoost와 Gradient Boosting의 차이점 AdaBoost 개별 모델을 forward 방식으로 학습(순차적) 각 단계에서 새로운 Base Learner (Stump) 를 학습하여 이전 단계의 Base Learner (Stump) 의 단점을 보완 AdaBoost에서는 단점이 각 데이터의 선택 확률에 반영됨 Gradient Boosting .. 2023. 9. 22.
# 4 앙상블 기법 AdaBoost AdaBoost AdaBoost는 아래와 같이 여러 개의 stump로 구성이 되어있습니다. 이를 Forest of stumps라고 합니다. * Stump란 노드 하나에 두개의 leaf를 지닌 트리 여러 질문을 통해 데이터를 분류하는 트리와 다르게, stump는 단 하나의 질문으로 데이터를 분류해야하기 때문에 정확한 분류를 하지 못함. (stump는 약한 학습기(weak learner)) 랜덤포레스트는 여러 개의 트리의 결과를 합산해서 다수결의 원칙으로 최종 결과를 냅니다. 최종 분류를 하는데 있어 각각의 트리는 동등한 가중치를 가지고 있습니다. (아래 그림) 하지만 AdaBoost에서는 특정 stump가 다른 stump보다 더 중요. 즉, 더 가중치가 높음. 크기가 큰 것은 가중치가 더 높은 stump를.. 2023. 9. 22.
# 3 앙상블 기법 랜덤 포레스트(Random Forest) Random Forest 여러 개의 결정 트리(Decision Tree)가 모여 랜덤 포레스트(Random Forest)를 구성 한 개의 결정 트리만을 이용하여 머신러닝을 하면 오버피팅 되는 단점이 있는데 랜덤 포레스트로 이 단점을 해결 가능 서로 다른 방향으로 과대적합된 트리를 많이 만들면 그 결과를 평균냄으로써 과대적합된 양을 줄일 수 있음 각각의 트리는 타깃 예측을 잘 해야하고 다른 트리와는 구별되어야 한다. 앙상블의 다양성 확보를 위한 두 가지 장치 Bagging Random subspace method 특징: 개별 의사결정 나무에 대한 가지치기를 수행하지 않음 파라미터 중요 매개변수는 n_estimators, max_features이고 max_depth 같은 사전 가지치기 옵션이 있다. n_es.. 2023. 9. 21.
# 2 앙상블 기법 배깅(Bagging) & 부스팅(Boosting) 비복원 추출을 통한 앙상블 K-fold data split 전체 데이터를 K개의 block으로 나누고 개별 모델을 서로 다른 (K-1)개의 subset에 대해 학습한 뒤 최종 결과를 결합 충분한 다양성 확보가 어려움 복원 추출을 통한 앙상블 Bagging (Bootstrapp Aggregating) 샘플을 여러 번 뽑아(Bootstrap) 각 모델을 학습시켜 결과물을 집계(Aggregration)하는 방법 1. 데이터로부터 부트스트랩을 합니다. (복원 랜덤 샘플링) 2. 부트스트랩한 데이터로 모델을 학습시킵니다. 3. 학습된 모델의 결과를 집계하여 최종 결과 값을 구합니다. Categorical Data는 투표 방식(Votinig)으로 결과를 집계하며, Continuous Data는 평균으로 집계합니다... 2023. 9. 21.
# 1 앙상블 기법 개요 및 Bias-Varience Decomposition 1. 편향(Bias)과 분산(Varience) 1-1. 편향(Bias) 편향은 지나치게 단순한 모델로 인한 error로 평향이 크면 under-fitting을 야기함. 모델의 편향이 크다 = 그 모델의 뭔가 중요한 요소를 놓치고 있다. 1-2. 분산(Variance) 지나치게 복잡한 모델로 인한 error로 훈련 데이터에 지나치게 적합시키려는 모델. 분산이 크면 Over-fitting을 야기함. 분산이 크다 = 지나치게 적합시켜 일반화가 되지 않은 모델 1-3. 편향(Bias)과 분산(Varience) 크기에 따른 모델의 구분 낮은 모델 복잡도 : 높은 편향 & 낮은 분산 Logistic regression, LDA, K-NN with large k 등등 높은 모델 복잡도 : 낮은 편향 & 높은 분산 D.. 2023. 9. 21.
# 7 이상치 탐지 # 모델 기반 이상치 탐지3 Isolation Forest Isolation Forest (I-Forest) 소수 범주(이상치)는 개체수가 적음 소수 범주 데이터는 정상 범주 데이터와는 특정 속성 값이 많이 다를 가능성이 높음 하나의 객체를 고립(Isolation) 시키는 Tree를 생성해 보자 정상 데이터라면 고립시키는데 많은 split이 필요 이상치 데이터라면 상대적으로 적은 split만으로 고립 가능 객체를 고립시킬 때까지 몇 번이나 split 했는지에 대한 정보로 이상치 점수를 부여할 수 있지 않을까? Isolation Tree (iTree) n개의 객체로 구성된 샘플 데이터 X는 임의의 속성 q의 임의의 기준점 p를 사용하여 다음 조건을 만족할 때까지 재귀적으로 split 수행(Random하게 Split) Tree가 사전에 설정한 최대 깊이에 도달(ex.. 2023. 9. 20.
# 6 이상치 탐지 # 모델 기반 이상치 탐지2 1-SVM & SVDD Support Vector-based anomaly detection 정상 데이터의 영역을 정의하는 함수를 학습하고 새로운 데이터에 대해서 이 함수를 적용하여 정상/이상치 탐지 One-class Support Vector Machine (1-SVM) 원점에서 가장 멀리 떨어진 초평면(Hyperplane)을 찾고 이 초평면 밖의 모든 정상데이터가 존재하도록 학습 비선형을 위한 커널 트릭 사용 αi값의 범위에 따른 각 객체들의 구분 Support Vector Data Description (SVDD) Feature Space에서 정상 데이터를 포함하는 최소 크기의 초구(Hypersphere)를 찾는 것이 목적 1-SVM : Feature Space에서 정상 데이터를 원점에서 멀리 떨어지게 하는 초평면(Hyp.. 2023. 9. 20.
# 5 이상치 탐지 # 모델 기반 이상치 탐지1 Auto-Encoder Auto-Encoder (Auto-Associative Neural Network) 입력과 출력이 동일한 인공 신결망 구조 정상 데이터들에 대한 학습이 충분히 되어 있을 경우 정상 데이터는 자기 자신을 잘 복제할 수 있는 신경망이 학습이 되나, 이상치 데이터는 학습 기회가 적어서 상대적으로 복제를 잘 못 할 것을 가정하는 모형 반드시 입력 변수의 수보다 은닉 노드의 수가 더 적은 은닉 층이 있어야 함 은닉 층에서 정보의 축약이 이루어짐 은닉층이 존재하지 않으면 100% 복원 가능 -> 이상치 탐지에 효과적이지 않음 Auto-Encoder의 두 가지 활용방식 활용방식 1) 입력 정보와 AE 출력 정보간 차이를 손실함수로 정의하여 직접 이상치 탐지를 수행 활용방식 2) 차원 축소의 목적으로 AE를 학습시킨 .. 2023. 9. 20.
# 4 이상치 탐지 # 밀도 기반 이상치 탐지3 Local Outlier Factor (LOF) Local Outlier Factor (LOF) 목적 : 특정 분포를 가정하지 않고 이상치 스코어를 산출할 때, 주변부 데이터의 밀도를 고려하고자 함 정의 1 : K-distance of an obect p 임의의 양의 정수 k에 대해서 the k-distance od object p (k-distance(p))는 다음 두 조건을 만족하는 데이터셋 D의 두 점 p와 o의 거리 d(p,o)로 정의됨 D에 속하는 개체 중 p를 제외하고 최소한 k개의 개체 o'에 대해서 d(p,o') 2023. 9. 20.
# 3 이상치 탐지 # 밀도 기반 이상치 탐지2 Parzen Window Kernel Density Estimation - 데이터가 특정한 분포 (ex: 가우시안)을 갖는다는 가정 없이 주어진 데이터로부터 주변부의 밀도를 추정하는 방식 - 확률밀도의 추정은 샘플수 N 이 클수록, 영역의 볼륨 V가 작을수록 정확해짐 - 실제 상황에서는 데이터의 수는 고정되어 있으므로 적절한 V를 찾는 문제로 귀결 영역 R 내부에 충분한 데이터가 포함되도록 커야 하며, 영역 R 내부에서는 p(x)의 변동이 없다는 가정을 뒷받침해줄 수 있도록 작아야 함 - V를 고정시키고 K를 찾는 것이 커널 밀도 추정의 목적임 Parzen Window Density Estimation K개의 객체를 포함하는 영역 x를 중심으로 하며 각 면의 길이가 h인 Hypercube로 정의 - 이의 볼륨V는 H의 d제곱으로.. 2023. 9. 20.
# 2 이상치 탐지 # 밀도 기반 이상치 탐지1 Gauss & Mog 밀도 기반 이상치 탐지의 목적 - 주어진 데이터를 바탕으로 각 객체들이 생성될 확률을 추정 - 새로운 데이터가 생성될 확률이 낮은 경우 이상치로 판단 Gaussian Density Estimation - 모든 데이터가 하나의 가우시안(정규) 분포로부터 생성됨을 가정 - 학습 : 주어진 정상 데이터들을 통해 가우시안 분포의 평균 벡터와 공분산 행렬을 추정 - 테스트 : 새로운 데이터에 대하여 생성 확률을 구하고 이 확률이 낮을수록 이상치에 가까운 것으로 판정함 - 장점 : 추정이 간단하며 학습시간이 짧음 적절한 기중치(Cut-Off)를 분포로부터 정할 수 있음 각 변수의 측정 단위에 영향을 받지 않음 - 우리가 추정해야 하는 파라미터 : 평균 μ, 분산 σ² - 정상 데이터 생성 확률을 최대화하도록 평균과.. 2023. 9. 20.
# 1 이상치 탐지 이상치 - Outlier : 보통 단별량 분석에서 사용 - Noverty : ex) 주식시장에서 폭등하는 경우 (긍정적 뉘앙스) - Anomaly : ex) 제조 공정에서 불량, 의료에서 특이한 질병 (부정적 뉘앙스) 이상치 데이터는 노이즈 데이터와는 다름 - 노이즈는 측정 과정에서의 무작위성(randomness)에 기반함 - (이론상) 노이즈는 이상치 탐지 전에 제거되는 것이 일반적임 - (현실은) 노이즈만 제거하는 것은 현실적으로 불가능하므로 이를 포함해서 모델링 수행 이상치 데이터는 적지만 중요한 데이터 - 정상적인 데이터를 생성하는 매커니즘을 위반하여 생성됨 이상치 데이터 기법의 적용분야 대부분의 데이터가 한 범주에 속하며 극소수의 데이터만 다른 범주애 속하는 문제 - 제조업 공정에서 불량 탐지 .. 2023. 9. 20.
#6 커널기반 학습 Support Vector Regression SVR은 SVM의 Regression 버전 Function fitting의 두 가지 목적 Loss function 최소화 - 가능하면 추정 오차를 적게 하고 싶음 함수의 편평도 최대화 - 가능하면 단순한 함수를 사용하고 싶음 ε - SVR - Loss function ε tube : 실제값과 추정된 값의 차이 +- ε 범위 (위의 그림에서 회색 부분) 근사에 대한 허용치 (+-ε ) 보다 차이가 적을 때는 Loss function을 0으로 한다. 즉, 실제값과 추정된 값의 차이를 기준으로 +ε , -ε 까지는 Loss function 0 단, 범위를 벗어났을 때는 선형적으로 증가함 SVR의 다양한 Loss Function 여러 커널 함수에 따른 추정 회귀식 서로 다른 오차비용 C에 따라 추정되는 회귀식의.. 2023. 9. 19.
# 5 커널기반 학습 Support Vector Machine - Non-linear & Soft Margin - 2 이번에는 Case 3에 대해 글을 써 보겠습니다. Large C: Penalty를 줄이는 방향으로 학습이 되므로 마진 폭이 좁고 αi= C인 서포트 벡터의 수가 상대적으로 적음 Small C: Penalty를 받더라도 마진을 넓게 잡도록 학습이 되므로 αi= C인 서포트 벡터의 수가 상대적으로 많음 선형 모델의 한계 - 분류 경계면이 비선형일 경우 이를 잘 찾아내지 못함 SVM의 아이디어 - 원래 공간이 아닌 선형 분류가 가능한 더 고차원의 공간으로 데이터를 보내서(mapping) 모델을 학습하자 고차원(6차원)으로 만들어보면 아래의 오른쪽과 같이 분류 경계선 만들어 낼 수 있음 아래 왼쪽의 2차원 공간에서는 파란색과 빨간색이 분류가 불가능하지만 아래 오른쪽 3차원 공간에서는 분류가 가능하다. 목적 마진.. 2023. 9. 19.
#4 커널기반 학습 Support Vector Machine - Non-linear & Soft Margin - 1 이번에는 Soft Margin에 대해 글을 써보겠습니다. Soft Margin은 Hard Margin과 다르게 noise가 허용되지만 Penalty 부여(분류 경계선이 아닌 마진으로부터) 가운데 있는 파란색 Point는 학습과정에서는 Penalty 부여 받지만 분류과정에서는 정분류로 분류됨 목적함수 첫번째 항: 마진 최대화 두번째 항: 마진 외부의 Point 허용하되, 허용 Point Penalty 최소화 From Primal to Dual 위의 식의 의미 : 데이터가 주어지면 Support Vector Machine은 유일한 해가 존재 아닌 경우도 있는가? YES, 인공신경망은 초기 조건이 달라지면 해도 달라짐 위의 식을 Dual 문제로 풀어서 써보면 아래와 같다. 즉, alpha에 대한 2차 함수 S.. 2023. 9. 19.
728x90
반응형