C.W.K.
Stream
Lesson 04 of 04 · published

Feature로서의 Embedding

~26 min · embeddings, representation

Level 0Scout
0 XP0/48 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

embedding이 주는 것

Embedding이 복잡한 객체(문장, image, product, user session)를 요약하는 fixed-length 숫자 vector. embed 후, 고전 ML 모델이 위에 올라탐 — retrieval은 kNN, classification은 logistic regression, tabular fusion은 lightgbm. embedding이 unstructured input을 tabular feature로 바꿔.

embedding이 어디서 오나

  • Pretrained model — sentence-transformer, OpenAI text-embedding-3, image encoder(CLIP).
  • Fine-tuned model — pretrained base에서 시작, 도메인에 fine-tune.
  • Self-trained — 자체 데이터에 autoencoder나 contrastive 모델 train.

production 디시플린

Embedding은 model artifact. feature schema에 모델 version, tokenizer version, embedding dimension 핀. silent embedding-model upgrade가 최악의 drift, downstream 모든 게 여전히 동작하지만 미묘하게 다른 의미를 가지기 때문.

Code

tabular fusion을 위한 sentence embedding·python
from sentence_transformers import SentenceTransformer
import numpy as np

encoder = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
embeds = encoder.encode(df["description"].tolist(), show_progress_bar=True)
embeds = np.asarray(embeds, dtype="float32")
X_full = np.hstack([X_tabular, embeds])
저장된 embedding 위 vector search·python
import numpy as np
from sklearn.preprocessing import normalize

matrix = normalize(embeds)  # cosine sim = dot product after L2-normalize
query = normalize(encoder.encode(["premium subscription churn"]))
sims = matrix @ query.T
top = np.argsort(-sims.ravel())[:10]

External links

Exercise

dataset의 free-text column 하나 골라. sentence-transformer MiniLM으로 encode. tabular feature에 concat. embedding 있을 때와 없을 때 CV score 비교. encoder ship 결정 전 lift 정량화.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.