이미 사용하고 있거나 개발한 알고리즘의 간단한 확장이다. 지도 학습에서 성능을 올릴 수 있는 방법이다.
lower variance의 안정적인 성능을 제공하는데 유용한 방법임
" Ensemble: (프) 함께, 동시에, 협력하여 라는 뜻임, (영) 소규모 협주곡 "
머신러닝에서 알고리즘의 종류에 상관없이 서로 다르거나, 같음 매커니즘으로 동작하는 다양한 머신러닝 모델을 묶어 함께 사용하는 방식임
- 여러 다른 모델을 함께 모아서 예측 model의 집합으로 사용하는 것이다.
하나의 학습 모델: expert이라고 함
NN은 비선형적인 문제에 더 나은 성능을 제공할 수 있다. 다양한 모델의 장점을 살려서 예측 모델 향상 가능하다.
앙상블의 장점:
1. 예측 성능을 안정적으로 향상 가능
2. 쉽게 구현이 가능하다
3. 모델 파라미터의 튜닝이 필요 없다.
앙상블의 단점:
모델 자체의 컴팩트한 표현 어려움
1. Bagging:학습 과정에서 training sample을 랜덤하게 나누어 선택해 학습하는 것이다. 병렬로 처리함
Bagging = Bootstrapping + Aggregating
Bootstrapping: 다수의 sample data set을 생성해서 학습하는 방식을 의미함
sample을 random하게 사용해야 할 것임
M번 반복하게 된다면 m개의 데이터 셋을 학습시키는 것 과 같음
다른 모델을 사용한다면 같은 샘플을 사용해도 된다 -> Noise에 Robust하다
2. Boosting: Bagging과는 다르게 sequential하게 동작함/ Cascading of weak classifiers
Classifer1의 결과를 적용한 후 weight를 준 후 2, 3에 적용
Weak Classifer: Bias가 높은 classifer, 모델이 단순하고 성능이 낮음 but, cascading하여 적용하면 classfier의 성능을 올릴 수 있음
장점: 간단하게 구현이 가능하다, 특정 학습 알고리즘에 구애받지 않음
Adaboost 알고리즘: 연속적인 weak classifer의 활용
Random Forest: Bagging + Boosting 의 활용
By bagging으로는 random forest의 기능을 수행하며
By boosting으로는 gradient boosting machine (GBM)-> 우수한 성능임
Q. Supervised learning에서 Model의 성능은 어떻게 평가할까? A. 1. Model의 Accuracy를 측정하는 것이 있다. - Recall = TP / (TP + FP) - Precision = TP / (TP + FP) * ROC Curve: 서로 다른 classifer의 성능을 측정하는데 사용하는 curve임
* Model의 성능은 우리가 풀고자 하는 문제에 의존적으로 평가되어야 한다!
2. Confusion matrix: 각 경우에 대해 오차가 얼마나 있었는지 표현하는 방법 대각성분에 해당하는 것이 분류를 정확하게 한 값임.
Q1) 이렇게 배운 Supervised learning이 어디에 사용될까?
-> Object detection, R-CNN 등등...CNN(이미지 feature를 받게 됨)+LSTM(문장 구성), Semantic segmentation, Face detection, face recognition, pose estimation, super resolution 등...
Q2) SL의 한계는 무엇일까?
-> 최근 AI task에 관해 기저가 되는 것이지만 large-scaled labeled datasets을 필요로 한다.
-> 만약 data sample이 부족하다면? -> data augmentation, weak supervision
-> 만약 test 환경에서 data의 특성이 극심하게 달라진다면 model이 어떻게 달라져야 하는가?
-> Domain adaptaion은 feature alignment를 통해서 적용가능함, Transfer learning등이 있다.