목록분류 전체보기 (427)
안 쓰던 블로그
부스팅Boosting 여러 개의 약한 학습기weak learner를 순차적으로 학습, 예측하면서 잘못 예측한 데이터에 가중치 부여를 통해 오류를 개선해 나가는 학습 방식 대표적으로 아래와 같은 알고리즘들이 있다 -AdaBoost(Adaptive boosting) -Gradient Booting Machine(GBM) -XGBoost -LightGBM -CatBoost AdaBoost 1. 피처 데이터 셋에서 +와 -를 기준의 왼쪽 오른쪽으로 나누려고 한다 2. 처음에 왼쪽에 두 +를 잡을 수 있게 분류 기준을 나눔. 그랬더니 오른쪽에 +가 세 개가 빠져나오게 되었다(오류) 3. 다음 라운드에서 전에 오류였던 +세 개에 가중치를 주어 다시 기준을 나누었더니 +세 개에 +두 개까지 전부 잡아서 기준을 잡음...
배깅Bagging -Bootstrap Aggregating의 약자 1) 동일한 알고리즘을 사용하는 일정 수의 분류기를 생성 2) 각각의 분류기에 부트스트래핑Bootstrapping 분할 방식으로 생성된 샘플데이터를 학습 3) 최종적으로 각각의 결과를 보팅을 통해 예측 결정한다 랜덤 포레스트 -배깅의 대표적인 알고리즘은 랜덤 포레스트Random Forest -여러 개의 결정 트리 분류기가 전체 데이터에서 배깅 방식으로 각자의 데이터를 샘플링하여 개별적으로 학습 수행, 최종적으로 모든 분류기가 보팅을 통해 예측 결정을 한다 -개별 분류기의 기반 알고리즘은 결정 트리, 개별 트리가 학습하는 데이터 세트는 부트스트래핑 분할 방식이 적용된 데이터 세트 -부트스트래핑 분할 방식: 전체 데이터에서 여러 개의 데이터 ..
앙상블 학습 -여러 개의 분류기Classifier를 생성, 그 예측을 결합하므로써 보다 정확한 최종 예측을 도출하는 기법(집단지성처럼) -넓은 의미로는 서로 다른 모델을 결합한 것을 지칭 -단일 모델의 약점을 다수의 모델들을 결합하여 보안하기 때문에, 성능이 떨어지더라도 서로 다른 유형의 모델을 섞는 것이 전체 성능에 도움될 수 있음 -보팅(Voting), 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking) 등의 기법이 있음 -대표적인 배깅-랜덤 포레스트 -대표적인 부스팅-에이다 부스팅, 그래디언트 부스팅, XGBoost, LightGBM 등 -보팅, 배깅: 아래에 자세한 설명 -부스팅: 여러 개의 알고리즘이 순차적으로 학습을 하되, 앞에 학습한 알고리즘 예측이 틀린 데이터에 대해..
입력 4 6 101111 101010 101011 111011 입력 코드 cin >> n >> m; for (int i = 0; i > a; for (int j = 0; j < m; j++) { map[i][j] = a[j] - '0'; } }
결정 트리 과적합 from sklearn.datasets import make_classification import matplotlib.pyplot as plt %matplotlib inline plt.title("3 Class values with 2 Features Sample data creation") # 2차원 시각화를 위해서 feature는 2개, 결정값 클래스는 3가지 유형의 classification 샘플 데이터 생성. X_features, y_labels = make_classification(n_features=2, n_redundant=0, n_informative=2, n_classes=3, n_clusters_per_class=1,random_state=0) # plot 형태로 ..
분류(Classification) 학습 데이터의 피처와 레이블값(결정 값, 클래스 값)을 학습, 모델을 생성하고, 이렇게 생성된 모델에 새로운 데이터 값이 주어졌을 때 미지의 레이블 값을 예측하는 것 나이브 베이즈(베이즈 통계 기반) 로지스틱 회귀(독립변수, 종속변수의 선형 관계성 기반) 결정 트리(데이터 균일도에 따른 규칙 기반) 신경망(심층 연결 기반) 앙상블(서로 다르거나 같은 머신러닝 알고리즘 결합, 결정 트리를 기반) 등등.. 결정 트리와 앙상블 결정 트리는 데이터 스케일링이나 정규화 등의 사전 가공 영향이 적고, 쉽고 유연하게 적용되지만 예측 성능 향상을 위해서는 복잡한 규칙 구조를 가져야 한다. 이로 인한 overfitting과적합 때문에 오히려 예측 성능이 저하되는 단점이 있다 앙상블은 매..
관련 문제 -이진 검색 트리: www.acmicpc.net/problem/5639 (전위->이진트리) -완전 이진 트리: www.acmicpc.net/problem/9934 (중위->이진트리) 이진 검색 트리 문제부터 본다 전위 순회한 결과 값으로 후위 순회하는 문제이다 전위 순회는 루트-왼쪽-오른쪽 순으로 방문한다 이진 트리는 들어온 값을 루트부터 시작하여 값이 큰지 작은지 비교, 왼쪽/오른쪽 어느 서브 트리로 보낼지를 결정해야 한다 이 문제에서 전위 순회 결과로 이진트리를 만드는 작업은 다음과 같이했다(참고: www.acmicpc.net/problem/1539 ) 1. 전위 순회는 무조건 첫 값이 루트이므로 첫 값은 루트로 넣는다 2. 값을 하나 입력 받는다 3. 현재 노드를 나타낼 now변수를 둔다..