728x90

텍스트 표현 모델의 종류 및 장단점

BOW와 N-Gram 모델

BOW
Back of Words는 모든 문단의 텍스트를 단어 단위로 분할해 하나의 긴 벡터로 표현
벡터 중의 각 차원은 하나의 단어를 대표하고, 해당 차원에 대응하는 가중치는 해당 단어가 문장에서 얼마나 중요한지 나타냄

TF-IDF로 가중치 계산

$$
TF-IDF(t,d) = TF(t,d) \times IDF(t)
$$

TF: 단어 t가 문장 d에서 출현하는 빈도
IDF: $log\frac{총 문장 수}{단어 t를 포함하는 문장 수 +1}$

단어가 표현하는 의미와 여러 단어를 조합했을 때 의미가 다른 것을 반영하지 못함

N-Gram
자주 출현하는 n개의 단어를 한 그룹으로 구성해 독립적인 피처로 생각하여 벡터로 표현

토픽 모델

문서 집합에서 대표성을 가진 주제를 찾기 위한 통계적 모델
각 문장의 토픽 분포를 계산할 수 있음

워드 임베딩과 딥러닝 모델

각 단어를 K = 50~300의 저차원 공간에 dense vector에 투영하는 것
각 단어를 K차원의 벡터에 매핑하기 때문에 N x K 차원의 행렬로 문장 표현하는데
단어의 고차원적 의미를 잡기 어려움

딥러닝의 FC, CNN, RNN 등은 머신러닝 대비 효율적으로 텍스트의 피처를 잡아내고
네트워크에서 학습해야 하는 파라미터수를 줄여 훈련 속도가 향상되고, 과적합이 방지됨


Word2Vec과 LDA의 차이

LDA는 텍스트 내 단어들의 공동 출현 관계(co-occurrence)를 이용해 단어를 주제별로 clustering함

  • ‘텍스트-단어’ 행렬에 대한 분해
  • ‘텍스트-주제’, '주제-단어’라는 두 가지 확률분포 얻는 것

Word2Vec은 ‘상하 텍스트-단어’ 행렬을 학습하는 것

  • 상하 텍스트에서의 공동 출현 관계를 더 많이 포함
  • 두 단어의 word2vec 유사도가 높다면 같은 상하 텍스트 중에 출현할 가능성이 높음

이미지 데이터가 부족할 때 처리 방법

문제: 이미지 데이터가 부족하면 과적합 발생
처리방법

모델 기반 처리 방법

  • 비선형모델을 선형모델로 바꾸는 등 모델 간략화하기
  • L1, L2 정규화 항 추가
  • 앙상블 학습
  • 드롭아웃 파라미터 설정

데이터 기반 처리 방법

  • Data Augmentation
    • 회전, 평행 이동, 축소, 확대, 삭제, 추가, 좌우 전환 등
    • 노이즈 추가(salt & pepper noise, 가우스 노이즈 등)
    • 색상 변환
      • RGB에서 PCA 진행하여 p1,p2,p3과 고윳값 l1,l2,l3을 얻기
      • 각 화소의 RGB 값에 $[p_1, p_2, p_3][\alpha_1\lambda_1,\alpha_2\lambda_2,\alpha_2\lambda_3]^T$ 추가
      • 단 $\alpha_{1,2,3}$ 은 평균이 0이고 분산이 비교적 작은 가우시안 분포를 따르는 난수
    • 이미지의 명암, 해상도, 광도, sharpness 변환
  • SMOTE 와 같은 up-sampling
  • GAN 등 생성모델을 활용한 새로운 샘플 추가
  • 다른 모델을 가져와 Transfer Learning 진행 (Fine-Tuning)
반응형