데이터 전처리: 인코딩 – Embedding
ㅁ 인코딩
ㅇ 정의:
데이터의 범주형, 텍스트, 시계열 등의 정보를 기계학습 모델이 이해할 수 있는 수치 벡터 형태로 변환하는 과정 중, 고차원 의미를 보존하며 밀집 벡터로 매핑하는 방식.
ㅇ 특징:
– 단어, 문장, 아이템 등을 고정 길이의 실수 벡터로 변환.
– 차원 축소와 의미 보존을 동시에 수행.
– 원-핫 인코딩 대비 메모리 사용 효율이 높음.
– 유사한 의미의 데이터는 벡터 공간에서 가까운 위치에 배치.
ㅇ 적합한 경우:
– 자연어 처리에서 단어 의미를 벡터로 표현할 때.
– 추천 시스템에서 사용자와 아이템을 동일 공간에 매핑할 때.
– 이미지, 오디오 등 비정형 데이터의 특징 추출 후 표현.
ㅇ 시험 함정:
– Embedding은 항상 차원을 줄이는 것은 아님 → 학습된 임베딩 차원이 원-핫보다 작지만, 필요에 따라 더 클 수도 있음.
– 단순 인코딩(원-핫, 라벨 인코딩)과 혼동.
– 사전 학습된 임베딩과 모델 내 학습 임베딩의 차이를 혼동.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Embedding은 의미적으로 유사한 단어를 벡터 공간에서 가깝게 배치한다.”
X: “Embedding은 항상 원-핫 인코딩보다 차원이 작다.”
================================
1. Embedding
ㅇ 정의:
범주형 또는 비정형 데이터를 고정 크기 밀집 벡터로 변환하여 의미를 수치적으로 표현하는 기법.
ㅇ 특징:
– 분산 표현(distributed representation) 사용.
– 데이터 간 의미적 유사성을 벡터 공간 거리로 표현 가능.
– 신경망 학습 과정에서 함께 최적화 가능.
ㅇ 적합한 경우:
– 대규모 어휘 집합을 다루는 NLP 과제.
– 사용자/상품 매칭이 필요한 추천 시스템.
– 문서 분류, 감성 분석 등 의미 기반 분류.
ㅇ 시험 함정:
– Embedding은 단순 차원 축소 기법이 아님.
– 임베딩 차원 수를 잘못 설정하면 정보 손실 또는 과적합 발생.
– 사전 학습된 임베딩(Word2Vec, GloVe)과 랜덤 초기화 임베딩 차이를 구분해야 함.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Embedding은 의미적으로 유사한 항목을 벡터 공간에서 가깝게 배치한다.”
X: “Embedding은 항상 비지도 학습으로만 학습된다.”
ㅁ 추가 학습 내용
시험 대비 Embedding 추가 학습 정리
1. 대표적인 임베딩 학습 기법과 특징
– Word2Vec: CBOW(주변 단어로 중심 단어 예측), Skip-gram(중심 단어로 주변 단어 예측), 단어 간 의미 관계를 벡터 공간에 반영
– GloVe: 전역 단어 동시출현 통계 기반, 행렬 분해 방식
– FastText: 단어를 문자 단위 n-gram으로 분해하여 OOV(Out-Of-Vocabulary) 문제 완화
– BERT 임베딩: 문맥 기반 양방향 Transformer 모델, 단어 의미가 문맥에 따라 달라짐
2. 임베딩 차원 선택 시 고려사항
– 데이터 크기: 데이터가 적으면 차원이 너무 크면 과적합 위험
– 태스크 복잡도: 복잡한 문제일수록 더 많은 차원이 필요할 수 있음
– 메모리와 연산량: 차원이 커질수록 자원 소모 증가
3. 사전 학습 임베딩 활용 시
– 장점: 전이학습 효과로 적은 데이터로도 성능 향상 가능
– 주의점: 도메인 불일치 시 성능 저하 가능, 필요시 도메인 적합화 작업 필요
4. 임베딩 벡터 시각화 기법과 의미 해석
– T-SNE: 고차원 벡터를 2~3차원으로 축소, 지역적 구조 보존에 강점
– UMAP: 전역 및 지역 구조 모두 잘 보존, 속도가 빠름
– 시각화를 통해 유사 단어·카테고리 클러스터 확인 가능
5. 범주형 변수 임베딩 사용 사례
– 대규모 카테고리 데이터 처리에 효과적
– 추천 시스템, 광고 클릭률(CTR) 예측 등에서 주로 활용
6. 임베딩 업데이트 방식
– 고정(freeze): 사전 학습된 임베딩을 그대로 사용, 학습 속도 빠르고 과적합 위험 낮음
– 미세조정(fine-tuning): 임베딩 가중치를 태스크에 맞게 조정, 성능 향상 가능하지만 과적합 주의