728x90
1. Ensemble Learning
- 이미 사용하고 있거나 개발한 알고리즘의 간단한 확장
- ML에서 알고리즘의 종류와 상관 없이 서로 다르거나, 같은 메커니즘으로 동작하는 다양한 머신러닝 모델을 묶어 함께 사용하는 방식
- Supervised learning task에서 성능을 올릴 수 있는 방법
- Ensemble (프랑스어)
- 함께, 동시에, 한꺼번에 협력하여
- Classifier
- Classification Algorithm itself
- Ensemble Methods
- train data set을 s1,...,s_n으로 나눈다
- 각 train data마다 model이 학습을 진행
- 다수의 model이 각각 결정을 내린 후에 다수결로 예측 결과 제공
- Advantages
- 예측 성능을 안정적으로 향상 (다양한 model의 결정으로 최종 예측 결과를 제공, noise 등으로부터 안정적)
- 쉽게 구현이 가능함 (여러개의 model 사용, 직접적으로 연합하여 적용하기 때문에 간편 사용 가능)
- 모델 parameter의 tuning이 많이 필요 없음 (각 model이 독립적으로 작동하므로)
- Disadvantages
- 모델 자체로는 compact한 표현이 되기는 힘듦 (다양한 model들을 혼합하여 사용)
2. Bagging & Boosting
- Baggingg (Bootstrapping + Aggregating)
- 학습과정에서 training sample을 랜덤하게 나누어 선택해 학습
- 다양한 classifier들이 random한 sample들로 다양하게 학습되므로 same model 이어도 다른 특성의 학습이 가능함
- Model을 병렬적으로 학습할 수 있음 (각 subset이 다른 model에 영향을 미치지 않기 때문)
- lower variance의 안정적인 성능을 제공하는데 유용한 방법
- model이 복잡한 경우에 발생하는 overfitting하는 문제 대비 가능
- sample을 random하게 선택하는 과정에서 data augmentation 가능
- 간단한 model을 집합으로 사용할 수 있으므로 안정적인 성능
- Bootstrapping
- 다수의 sample data set을 생성해서 학습하는 방식
- 해당 과정을 m번 반복하게 되면 : m개의 data set을 사용하는 효과 발생, noise에 robust하게 된다
- Aggregating
- 각 model의 결정을 합하여 최종 결정을 내리게 됨
- Boosting
- bagging과는 다르게 sequential하게 동작
- 각 Classifier 에서 sample에 weight를 부여 (어떤 sample이 중요하고, 중요하지 않는지 판별) 후 다음 학습과정에 사용
- 연속적으로 classifier의 결과를 적용 (이전에 동작한 classifier의 결과를 현재 classifier의 결과를 향상하는데 사용)
- Weak Classifier의 Cascading
- Weak Classifier : Bias가 높은 classifier
- strong classifier에 비해 성능이 낮아서 혼자서는 무엇을 하기 어려운 모델
- 해당 model을 cascading하여 적용하면 연쇄적으로 적용되어 sequential한 특성을 가지고, classifier의 성능을 올릴 수 있음
- Weak Classifier : Bias가 높은 classifier
- Adaboost
- 대표적인 Boosting Algorithm
- Base classifier에 의해서 오분류된 sample에 대해 보다 높은 가중치를 두어 다음 학습에 사용
- 간단하게 구현 가능, 특정한 학습 algorithm에 구애받지 않음
- Random Forest
- Bagging과 Boosting을 활용하는 대표적인 algorithm
- Deicision Tree의 집합
- Bagging : 서로 다르게 학습된 decision tree의 결정으로 예측 수행
- Boosting : 매 노드에서 결정이 이루어지므로 weak classifier의 sequential한 boosting시행
3. Model Performance Evaluation
- SL에서 Model performance 측정
- Model Accuracy 측정
- $Accuracy = \frac {\sum (Confusion \: Matrix \: 대각성분)} {\sum (전체성분)}$
- Confusion Matrix
- 각 경우에 대해 오차가 얼마 있었는지 표현하는 방법
- (Prediction의 TF 유무) (Predict) Error:
- prediction을 먼저 체크하고, 해당 prediction이 TF인지 확인
- False Positive Error
- 실제로 sample이 negative지만, positive로 판정한 경우
- False Negative Error
- 실제로 sample이 positive지만, negative로 판정한 경우
- Precision (P)
- $\frac {TP} {TP+FP}$
- 전체 암 판정을 받은 환자(Positive) 중 얼마나 정확하게 분류가 되어 그 중에 암 환자가 실제로 얼마나 있는지
- Recall (R)
- $\frac {TP} {TP+FN}$
- 전체 암 환자 중 얼마나 해당 기계가 얼마나 많은 수의 암 환자를 판정해냈는지
- Unbalanced Data Set의 경우에 accuracy 이외에도 precision과 recall 값을 동시에 봐야 성능을 제대로 측정 가능
- ROC Curve
- 서로 다른 Classifier의 성능을 측정하는데 사용하는 Curve
- 왼쪽 상단으로 갈수록 성능이 좋은 Curve
- 동일 sensitivity에서 더 낮은 FPR을 제공하기 때문
- $FPR = 1- TPR$
- Sensitivity = Recall
- Model의 성능은 우리가 풀고자 하는 문제에 따라 의존적으로 평가가 되어야 함
- 왼쪽의 경우에는 Recall 값이, 오른쪽의 경우에는 Precision값이 더 높아야 함
4. Supervised Learning Applications
- Object detection, localization: R-CNN
- CNN(image feature) & LSTM(sequential한 단어의 연속)
- Semantic segmentation
- Face recognition
- Face detection, super-resolution
- Large scaled labeled data set을 사용해야 하는 한계 존재
- data augmentation
- insufficient labels
- domain adaptation
- transfer learning
728x90