AI 매칭: 매트릭스 먼저, 뉴럴넷 나중에
I’m happy to translate the article for you, but I need the full text of the post. Could you please paste the content you’d like translated (excluding any code blocks or URLs you want to keep unchanged)? Once I have the article text, I’ll provide a Korean translation while preserving the original formatting and markdown.
1. 실제 비즈니스 문제: “신경망을 학습시키기 위해 데이터를 어디서 구할까?”
팀들이 명확히 말하기를 꺼리는 문제부터 살펴보자.
신경망은 나빠서 실패하는 것이 아니다.
그들은 아직 존재하지 않는 데이터가 필요하기 때문에 실패한다.
의미 있는 매칭 모델을 학습시키려면 다음이 필요하다:
- 과거 매칭 기록
- 결과 (성공/실패)
- 사용자 행동 (클릭, 수락, 전환)
- 과적합을 방지할 충분한 양
초기 단계 시스템은 이 모든 것이 없다. 그래서 역설이 생긴다:
- 사용자를 확보하려면 좋은 매칭이 필요하다.
- 데이터를 얻으려면 사용자가 필요하다.
- 매칭을 학습하려면 데이터가 필요하다.
대부분의 팀은 이 문제를 조용히 무시하고 다음을 배포한다:
- 무작위 관련성
- 과신한 AI 라벨
- “ML”이라고 가장한 부서진 규칙 엔진
이는 기술적인 문제가 아니라 제품 및 아키텍처 문제이다.
2. 구체적인 사용 사례: 올바른 마케팅 채널 또는 에이전시 선택
시나리오: 기업이 새로운 마케팅 캠페인을 시작하고 적절한 광고 채널, 에이전시 또는 인플루언서를 선택하려고 합니다.
제약 조건은 현실적입니다:
- 제한된 예산
- 브랜드 평판 위험
- 무엇이 효과적일지에 대한 불확실한 기대
이 정확한 설정에 대한 역사적 성과 데이터가 없습니다.
공급 측 속성(채널, 에이전시, 인플루언서):
- 다양한 도달 범위 수준
- 다양한 신뢰도
- 다양한 위험 프로필
- 다양한 커뮤니케이션 스타일
비즈니스 질문은 다음이 아닙니다:
“이 캠페인과 통계적으로 유사한 옵션은 무엇인가?”
실제 질문은:
“이 캠페인의 기대와 제약 조건에 가장 잘 맞는 옵션은 무엇인가?”
이는 유사성 문제가 아니라 호환성 문제입니다.
3. Why “Just Train a Neural Network” Doesn’t Work Here
이 시점에서 보통 누군가가 이렇게 말합니다:
“모든 것을 임베드하고 나중에 모델을 학습하자.”
그것은 이미 다음이 갖춰져 있을 때만 작동합니다:
- 결과
- 라벨
- 규모
우리 사용 사례에서는 그렇지 않습니다. 신경망을 사용하려 하면 다음 중 하나의 실패가 발생합니다:
- 작은 데이터에 대한 과적합 – 모델이 자신 있게 보이는 잡음을 출력합니다.
- 모델이 “일시적으로” 비활성화 → 영구적으로 – 팀이 신뢰를 잃습니다.
- “적합”이 무엇인지에 대한 사전 이해가 없음 – 시스템이 맹목적입니다.
실제 문제는 ML 인재가 부족해서가 아니라; 시스템에 “적합”에 대한 사전 개념이 없기 때문이다. 사전이 필요합니다.
4. 문제 재구성: 유사성 vs. 호환성
이것이 핵심 개념적 전환입니다.
대부분의 ML 툴링은 유사성을 중심으로 구축됩니다:
- Cosine similarity
- Euclidean distance
- Nearest‑neighbors
유사성은 다음과 같은 질문에 답합니다:
“How alike are these two things?”
하지만 비즈니스 매칭은 거의 그 질문을 하지 않습니다. 대신에 다음을 묻습니다:
“How appropriate is this option for this context?”
그것이 호환성—즉:
- Asymmetric
- Expectation‑driven
- Domain‑specific
그리고 이는 명시적으로 표현될 수 있으며, 존재하지 않는 데이터에서 학습한다고 가장할 필요가 없습니다.
5. Solution: Compatibility Matrix (Feature Matrix, Not ML)
도메인 지식을 행렬로 인코딩하여 관련성을 학습하려고 시도하는 대신,
두 개의 작고 안정적인 특성 공간을 정의합니다.
Campaign side
blog_type ∈ { corporate, brand_voice, expert, personal }
포함 내용:
- 커뮤니케이션의 격식 수준
- 기대되는 권위 수준
- 허용되는 개인 스토리텔링
Supply side (agency / influencer / channel)
social_status ∈ { celebrity, macro, micro, nano }
포함 내용:
- 인식된 권위
- 도달 범위 기대치
- 위험 허용도
- 신뢰성
이제 호환성 행렬을 정의합니다:
compatibility[blog_type][social_status] → score ∈ [0 … 1]
이 행렬은 다음 질문에 답합니다:
“이 캠페인 스타일에 대해, 이 수준의 권위는 얼마나 적절한가?”
이는 추측이 아니라 제품 가설입니다.
6. 예시: 간단한 4 × 4 호환성 매트릭스
| celebrity | macro | micro | nano
---------------|-----------|-------|-------|------
corporate | 1.0 | 0.8 | 0.4 | 0.2
brand_voice | 0.7 | 1.0 | 0.8 | 0.5
expert | 0.6 | 0.9 | 1.0 | 0.7
personal | 0.3 | 0.6 | 0.9 | 1.0
# Compatibility Matrix lookup (Day‑1 matching)
matrix = {
'corporate': [1.0, 0.8, 0.4, 0.2],
'brand_voice': [0.7, 1.0, 0.8, 0.5],
'expert': [0.6, 0.9, 1.0, 0.7],
'personal': [0.3, 0.6, 0.9, 1.0]
}
def matrix_score(campaign_type: str, influencer_status: str) -> float:
"""O(1) lookup — thousands of RPS without trouble."""
statuses = ['celebrity', 'macro', 'micro', 'nano']
idx = statuses.index(influencer_status)
return matrix[campaign_type][idx]
# Production usage
score = matrix_score('corporate', 'macro') # 0.8 ✅
print(f"Corporate ↔ Macro: {score}")
비즈니스 관점에서 이것이 의미하는 바
- Corporate 캠페인은 권위와 낮은 위험을 우선시합니다.
- Personal 스토리텔링은 친근하고 작은 목소리와 잘 맞습니다.
- Expert 캠페인은 순수 도달량보다 신뢰성을 중시합니다.
중요한 설명
- 숫자는 상대적인 값이며 절대적인 값이 아닙니다.
- 성공을 예측하는 것이 아니라 예상 적합도를 정의할 뿐이며, 결과를 보장하지는 않습니다.
7. 데이터 없이도 작동하는 이유
“이게 그냥 하드코딩된 로직이 아니에요?”
맞습니다 — 바로 그 점이 핵심입니다.
데이터가 전혀 없을 때는 신뢰할 수 있는 진실의 유일한 원천이 인간 전문가입니다. 그 전문성을 투명한 매트릭스로 전환하면:
- 첫날부터의 적합성 – 시스템이 즉시 합리적인 추천을 할 수 있습니다.
- 과적합 방지 – 작은 데이터에 대해 과적합할 모델 자체가 없습니다.
- 피드백 루프 구축 – 실제 결과가 도착하면 매트릭스를 조정하거나 점진적으로 ML 요소를 도입할 수 있습니다.
다시 말해, 매트릭스는 베이스라인이며 충분한 신호가 확보되면 데이터 기반 모델로 진화할 수 있습니다.
8. 매트릭스에서 머신러닝으로 (데이터가 도착할 때)
결과를 수집하기 시작하면 다음을 할 수 있습니다:
- Validate 매트릭스를 실제 전환율과 비교해 검증합니다.
- Calibrate 점수를 (예: 로지스틱 회귀를 사용) 보정하면서 동일한 피처 공간을 유지합니다.
- Hybridize – 매트릭스를 베이지안 모델의 강력한 사전으로 사용하거나 하위 학습기의 피처로 활용합니다.
전환이 원활한 이유는 feature definitions stay the same; 최종 관련 점수를 계산하는 방식만 변경되기 때문입니다.
9. 요약
- 데이터를 기다리지 말고 관련성을 제공하기 시작하세요.
- 도메인 지식을 명시적으로 호환성 매트릭스로 인코딩하세요.
- 매트릭스를 최종 예측이 아닌 제품 가설로 다루세요.
- 이를 향후 데이터 기반 모델을 위한 발판으로 활용하세요.
문제를 “유사성”에서 “호환성”으로 재구성하고 초기 단계에서 인간 전문 지식을 활용함으로써, 대규모 데이터 없이도 첫날부터 유용한 매칭 엔진을 배포할 수 있습니다.
왜 호환성 매트릭스인가?
호환성 매트릭스는 구조화되고, 등급화되며, 명시적이며, 다음과는 다릅니다:
- 이진 규칙
if/else체인- “가짜” 머신러닝 모델
호환성 매트릭스는 다음을 제공합니다:
- 결정론적 동작
- 설명 가능한 결정
- 제어 가능한 편향
- 초기 관련성의 안정성
가장 중요한 점은, 시스템에 데이터가 존재하기 전에도 세계관을 부여한다는 것입니다.
8. 이것이 머신러닝으로 진화하는 과정 (재작성 없이)
This approach is not anti‑ML – it’s pre‑ML.
As the system runs, you naturally collect:
- Which matches were shortlisted
- Which were accepted
- Which led to engagement or conversion
At that point, the transition is incremental.
Phase 1 — Matrix Only
score = compatibility_matrix[blog_type][social_status]
Phase 2 — Hybrid
# Phase 2: Matrix 70% + NN 30%
matrix_score = 0.8
nn_score = nn_model.predict(features) # 0.75
final_score = 0.7 * matrix_score + 0.3 * nn_score # 0.785
Phase 3 — ML‑Dominant
score = nn_prediction
The matrix never disappears; it becomes:
- A baseline
- A regularizer
- A fallback for cold‑start
Source: …
9. 왜 이것이 첫날부터 관련성을 제공하는가
매칭 시스템에서 가장 큰 숨은 위험은 출시 시 무관함입니다.
사용자가 부실한 매치를 보게 되면:
- 상호작용을 하지 않는다
- 데이터를 수집하지 못한다
- 머신러닝 로드맵이 시작되기도 전에 사라진다
호환성 매트릭스는 이러한 함정을 피하게 해 줍니다. 얻을 수 있는 것은:
- 합리적인 기본값
- 비즈니스 기대에 부합하는 행동
- 사용자 신뢰
- 실제 의도를 반영하는 데이터
빅 데이터를 가지고 있다고 가장할 필요 없이 모두 가능합니다.
# Day 1: 100% matrix, no training data needed
def get_matches(request, suppliers, min_score=0.6):
matches = []
for supplier in suppliers:
score = matrix_score(request.campaign_type, supplier.category)
if score >= min_score:
matches.append((supplier, score))
# Sort by score descending and return top 14
return sorted(matches, key=lambda x: x[1], reverse=True)[:14]
# Real metrics: 47 suppliers → 12 matches → 3 % conversion
# O(n) complexity, thousands of RPS, zero cold start
최종 요약
기억해 둘 가치가 있는 한 가지 아이디어:
유사성은 수학적 개념이다.
호환성은 비즈니스 개념이다.
신경망은 데이터가 주어진 뒤에 유사성을 학습하는 데 뛰어납니다.
호환성 매트릭스는 그 순간이 오기 전에 행동하게 해 줍니다.
- 먼저 매트릭스.
- 그 다음 신경망.
이는 타협이 아니라, 실제 매칭 시스템이 학습할 충분한 시간을 확보하는 방법입니다.