본문 바로가기
책&강의 학습/올인원 패키지 :딥러닝&인공지능

[패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 52회차 미션

by 소한보 2020. 8. 19.

Part4-67. 효과적으로 사용할 수 있는 기법 - 07. (STEP 2) SMOTE 알고리즘

데이터가 부족하거나 불균형할때 사용하는 알고리즘

불균형데이터 Imbalanced Data

클래스별로 학습데이터셋의 크기가 급격히 차이가 나는 데이터를 말함
데이터가 작은쪽을 잘 구분하지 못함

임의 언더 샘플링 (Random under Sampling)


다수 클레스에서 임의로 샘플링해서 크기를 맞추는 방법을 Random Under Sampling이라고 함
임의로 선택된 샘플링이 대표성이 떨어질경우 학습이 잘못될 수도 있음
비슷한 위치의 값만 샘플링한다던가 하면 잘 안됨

임의 오버 샘플링 (Random Over Sampling)

소수 클래스의 데이터를 반복하여 학습데이터양을 맞추는 방법
똑같은 데이터가 여러개 있다고 생각하는 방법.
학습시 소수클래스의 가중치를 증가시키는 방법과 유사함

SMOTE (Synthetic Minority Oversampling Technique)


랜덤 오버샘플링에서 발전한 방법
소수클래스를 오버샘플림을 할때 k-nearest neighbor를 랜덤으로 하나의 샘플을 선택하여 Linear Combination을 추가하는 방법
임의 오버샘플링에 비해 다양한 데이터를 추가할 수 있는 장점이 있음

Borderline-SMOTE


SMOTE의 단점을 해결하기 위한 방법
아무렇게나 SMOTE를 하는 것이 아니라 경계선상에서만 SMOTE를 진행
동떨어 존재하는 데이터(A)는 잡음으로 생각하여 사용하지 않음
안전한 샘플(B)의 경우 굳이 오버샘플링을 할 필요가 없음
노이즈인이 안전한 샘플링인지 구분하는 방법은
A의 경우 다수샘플에 속한 개수와 k가 같은 경우
B의 경우 다수샘플에 속한 개수가 k/2 보다 작은 경우
위험샘플(C)는 A와 B의 기준사이
위험샘플은 경계(Boderline)에 있는 샘플만 오버샘플링하여 SMOTE를 개선

이런방법 또한
정규화 방법에 속함

Part4-68. 효과적으로 사용할 수 있는 기법 - 08. (STEP 2) 정규화 기법의 이해 - 1

정규화기법은 과적합 현상을 해결하기 위해서 사용
모델의 복잡도가 지나치게 높게되면 학습데이터 보다 벨리데이션 또는 테스트에서 성능이 떨어짐
람다값이 높이게 되면 복잡도를 중요하게 보겠다는 것이 되며
람다값이 0에 가깝게 되면 복잡도를 고려하지 않겠다고 보는 것이 됨

L-2 정규화 (L-2 Regularization)


L-2 Norm, Ridge이라고도 부름
아주 큰 가중치에 패널티를 부여하는 것으로 볼 수 있음
제곱함수를 따르게됨. 초반에는 값이 크지 않은 weight에 패널티가 적지만 점점 커지게되면 증가

사전확률분포 (Prior Probability Distribution)


사전확률분포(a priori)를 가지고 데이터를 보기전에 확률분포를 예측하는 것을 말함.
좌측은 이미 알고 있는 통계적인 특성이고 우측은 이를 기반하여 예측한 값

L-2 정규화와 람다값

람다가 높은경우 정규분포에 가깝게 나타남
람다값이 낮은 경우 정규화가 이뤄지지 않고 평평한 분포로 나타남

L-1 정규화 (L-1 Regularization)


제곱이 아닌 절대값을 사용
Lass, L-1 Norm라고도 부름
값이 희소해지는 특성이 있음.
weight를 사용하게 되면 0이 나오는 weight도 생김
때문에 연산을 줄여주는 특성도 있음
라플라스 분포를 따르게됨 (롱테일이라는 특징이 있음, 양극화가 이뤄지게끔 하는 특징(sparse)이 있음)

딥러닝/인공지능 올인원 패키지 Online

댓글