One-Hot : 여러 개의 속성 중 단 한 개의 속성만 1로 표시한다는 의미
레이블 인코딩의 단점을 개선한 인코딩 방식.
feature 값의 유형들을 행렬로 나열하고 모든 셀을 0으로 채운 후, 해당 컬럼(column)에만 1을 표시하는 방식이다.
[파이썬 머신러닝 완벽 가이드 p.119]
# 그림 설명
label = ['Tv','냉장고','전자렌지','컴퓨터','선풍기','믹서']
# 원-핫 인코딩 결과
one_hot_encoding = [
[1,0,0,0,0,0].
[0,1,0,0,0,0].
[0,0,1,0,0,0].
[0,0,0,1,0,0].
[0,0,0,0,1,0].
[0,0,0,0,0,1].
]
sklearn.preprocessing
모듈의 OneHotEncoder
클래스 또는 pandas.get_dummies()
함수로 편리하게 인코딩할 수 있다.🔸조건부 확률 Conditional Probability ⭐⭐⭐⭐⭐
N개의 조건에 대해 연쇄적으로 조건부 확률을 적용시키는 것.
$$ P(w_n|w_1,w_2,\cdots, w_{n-1}) $$
$$ P(W)=\prod_{i=1}^n P(w_i|w_1,\cdots,w_{i-1})=P(w_1)\cdot P(w_2|w_1)\cdots P(w_n|w_1,\cdots,w_{n-1}) $$
단순 통계 기반, count 기반의 조건부확률은 다양한 데이터가 없다면 긴 시퀀스에서 올바른 단어를 예측할 수 없다.
e.g.) PyTorch Docs를 학습해서 “PyTorch is an optimized tensor library for deep learning using GPUs and CPUs.” 라는 시퀀스는 생성할 수 있지만, 이 문장을 다양한 형태로 생성할 수는 없다.
“PyTorch is an optimized tensor open-source library”라는 시퀀스를 생성하고 싶어도 P(”PyTorch is an optimized tensor open-source” | “PyTorch is an optimized tensor")에서 count(”PyTorch is an optimized tensor open-source")=0 이기 때문에 생성될 수 없다.
Sparsity Problem of Count-based SLM 의 문제점을 보완.
N 개의 연속된 시퀀스를 기반으로 통계적 언어 모델링을 수행하는 것이다.
Markov assumption : T 시점의 확률이 T-1 시점에만 의존한다는 가정, 속성. → 🔸Markov Property
… N-gram : $P(W)=\prod_{i=1}^T P(w_i|w_{i-(N-1)},\cdots,w_{i-1})$
Trade-off
국소 표현 (Local Representation) : 단어 그 자체만 보고, 특정 값을 매핑하여 단어를 표현한다.
e.g. one-hot encodig