전 게시물에서 CNN을 활용해서 졸음운전을 분류하는 프로젝트를 정리해보았는데, 이번엔 이어서 VGG와 ResNet을 사용해서 진행해본 부분을 정리해보겠다. https://y8jinn.tistory.com/65 VGG - 적절한 kernel(=filter)의 크기나 layer의 수 등을 찾는 것에 초점을 맞춘 모델. - 특히 11x11, 5x5 등 다양한 크기의 kernel을 사용한 AlexNet과 달리 처음부터 끝까지 일관되게 3x3 크기의 kernel만 사용한 것이 VGGNet 모델의 특징임. - VGG는 신경망의 깊이가 모델의 성능에 미치는 영향을 조사하기 위해 시작된 연구로 3x3 convolution을 이용한 Deep CNN 제안. - VGG 모델은 3x3 convolution, max-pooli..
아래 내용은 인프런 [처음하는 딥러닝과 파이토치(Pytorch) 부트캠프] 강의를 듣고 공부한 내용입니다. Classification (분류) 분류 문제는 출력 결과가 다르므로, 분류 타입에 따라 다른 activation function을 사용하는 것이 일반적임 예측 문제 Regression (숫자 예측, 예 : 키) Binary Classification (이진 분류) Multi-Class(Multi-Label) Classification (다중 분류) Final Action None Sigmoid Softmax (또는 Log-Softmax) Loss Function MSE Loss BCE Loss Cross Entropy Loss (또는Negative Log Likelihood Loss) Softma..
스태킹 앙상블 스태킹, 배깅(각각의 분류기가 모두 같은 유형, vs. 보팅), 부스팅 모두 개별적인 여러 알고리즘을 서로 결합해 예측 결과 도출 **가장 큰 차이점 = 스태킹은 개별 알고리즘으로 예측한 데이터를 기반으로 다시 예측을 수행한다는 것. = > 개별 알고리즘의 예측 결과 데이터 세트를 최종적인 메타 데이터 세트로 만들어 별도의 ML 알고리즘으로 최종 학습을 수행하고 테스트 데이터를 기반으로 다시 최종 예측을 수행 (개별 모델의 예측된 데이터 세트를 다시 기반으로 하여 학습하고 예측하는 방식을 메타 모델이라함) ** 필요한 두 가지 모델 1) 개별적인 기반 모델 2) 개별 기반 모델의 예측 데이터를 학습 데이터로 만들어서 학습하는 최종 메타 모델 **핵심!! 여러 개별 모델의 예측 데이터를 각각..
GBM 부스팅 알고리즘이란? 여러 개의 약한 모델을 순차적으로 학습-예측하면서 잘못 예측한 데이터에 가중치를 부여해 오류를 개선해 나아가는 방식 종류 → AdaBoost, GBM, XGBoost, LGBM AdaBoost = 첫 번째 약한 학습기가 분류 기준 1로 분류. → 이 오류 데이터에 대해 가중치 값 부여, 가중치가 부여된 오류 데이터는 다음 약한 학습기가 더 잘 분류할 수 있게 크기가 커짐. → 두 번째 약한 학습기가 분류 기준 2로 분류 → 잘못 분류된 오류 데이터에 대해 다음 약한 학습기가 잘 분류할 수 있게 더 큰 가중치를 부여함 → 세 번째 약한 학습기가 분류 기준 3로 분류하고 오류 데이터 찾음. 에이다부스트는 이렇게 약한 학습기가 순차적으로 오류 값에 대해 가중치를 부여한 예측 결정 ..
랜덤포레스트 결정 트리를 기본 모델로 이용하는 앙상블 기법 여러 개의 결정 트리 분류기가 전체 데이터에서 배깅 방식으로 각자의 데이터를 샘플링해 개별적으로 학습을 수행한 뒤 최종적으로 모든 분류기가 보팅을 통해 예측 결정을 하게 됨. bootstrapping(샘플을 여러개 뽑음) + aggregating(각 모델을 학습시킨 결과물 집계) +OOB(Out-Of-Bag) : 샘플링 과정에서 선택되지 않은 데이터 → 모델 검증에 이용 가능 → OOB 샘플 (전체의 36.8%)로 모델 검증 어떤 한 샘플이 추출되지 않을 확률 = 36.8% 학습 도중 생성한 tree에 OOB 데이터를 넣고 accuracy나 error rate 등을 측정하면 학습이 잘 진행되고 있는지, overfitting은 없는지 등의 여부를 ..