챕터별 상세
솔루션 개요 및 2단계 전략
전체 시스템은 후보군을 생성하는 Recall 단계와 순위를 재조정하는 Reranking 단계로 구성된다. Recall 단계에서는 공통 방문(Covisitation), 재방문(Revisitation), 신경망(Neural Network) 예측을 혼합하여 사용했다. Reranking 단계에서는 LightGBM Reranker를 활용하여 최종 순위를 결정했다. 클릭과 장바구니 담기 예측에는 신경망이, 실제 주문 예측에는 공통 방문 정보가 더 유용하게 작용했다.
피처 엔지니어링 및 데이터 처리
세션 피처로는 세션 길이와 아이템 중복 비율 등을 생성했고, 아이템 피처로는 아이템의 인기와 타입별 비율을 산출했다. 특히 Recall 단계에서 얻은 점수들을 Reranking 모델의 입력 피처로 활용하여 성능을 높였다. 신경망에서 추출한 임베딩 점수와 공통 방문 행렬의 점수를 독립적인 피처로 취급하여 스태킹(Stacking)과 유사한 효과를 냈다. 데이터 처리를 위해 Polars 라이브러리를 사용하여 대규모 테이블 연산 속도를 확보했다.
신경망(NN) 학습 아키텍처
신경망은 Two-tower 스키마를 기반으로 설계되었으며 네거티브 샘플링(Negative Sampling)을 적용하여 학습했다. 세션 임베딩을 위해 아이템 ID, 시간 정보, 이벤트 타입을 입력값으로 사용했다. 미래에 방문할 아이템을 Positive 예시로, 무작위 샘플링된 아이템을 Negative 예시로 설정하여 코사인 유사도를 최적화했다. 총 8개의 신경망 모델을 학습시켜 Recall 후보 생성과 Reranking 피처 생성에 동시에 활용했다.
LightGBM Reranker 및 앙상블
Reranking 모델로는 LambdaRank 알고리즘을 사용하는 LightGBM을 채택했다. 서로 다른 하이퍼파라미터를 가진 9개의 LightGBM 모델을 학습시킨 후 결과값을 단순 평균하여 앙상블했다. 각 모델은 Recall 단계에서 생성된 상위 200개의 후보군을 대상으로 최종 순위를 매긴다. 학습과 추론을 포함한 전체 파이프라인 실행에는 약 2주의 시간이 소요될 정도로 연산량이 방대했다.
주요 발견: 목적별 효과적인 모델링 차이
실험 결과 클릭(Click)과 장바구니 담기(Cart) 예측에서는 신경망(NN)이 공통 방문(Covisitation)보다 훨씬 효과적이었다. 이는 신경망이 여러 아이템 간의 복잡한 상호작용과 시간 정보를 더 잘 포착하기 때문이다. 반면 실제 주문(Order) 예측에서는 공통 방문과 재방문 정보가 신경망보다 더 강력한 성능을 보였다. 주문은 이미 장바구니에 담긴 아이템을 기반으로 결정되는 경향이 강해 통계적 연관 규칙이 더 정확하게 작동했다.
python
cosine_sim_pos = torch.matmul(x_m, y_pos_m.transpose(1, 2)).squeeze(2)
// ...(중략)
cosine_sim_neg = torch.matmul(x_m, y_neg_m.transpose(1, 2))
loss = torch.cat([cosine_sim_pos.unsqueeze(1), cosine_sim_neg], dim=1) / CFG.temperature
loss = -torch.log(torch.softmax(loss, dim=1)[:, 0])
return loss.mean()코사인 유사도와 소프트맥스를 활용하여 신경망의 손실 함수(Categorical Cross Entropy)를 계산하는 핵심 로직
용어 해설
- 다중 목적 최적화(Multi-Objective Optimization)
- — 추천 시스템에서 클릭, 장바구니 담기, 구매와 같이 성격이 다른 여러 목표를 동시에 최적화하는 기법이다. 각 목표 간의 가중치를 조절하여 전체적인 비즈니스 지표를 개선하는 데 중요하다.
- 투 타워 아키텍처(Two-Tower Architecture)
- — 사용자(세션)와 아이템을 각각 독립적인 신경망으로 임베딩한 후, 두 벡터 간의 유사도를 계산하여 추천 후보를 생성하는 구조이다. 대규모 데이터셋에서 빠른 검색과 추론이 가능하여 실전 추천 시스템에서 널리 쓰인다.
- 네거티브 샘플링(Negative Sampling)
- — 모델 학습 시 실제 발생한 이벤트(Positive) 외에 발생하지 않은 이벤트(Negative)를 샘플링하여 학습시키는 기법이다. 모든 조합을 계산하는 대신 일부만 사용하여 학습 효율을 높이고 모델의 변별력을 강화한다.
- 람다랭크(LambdaRank)
- — 아이템의 절대적인 점수보다 아이템 간의 상대적인 순위를 최적화하는 데 특화된 학습 알고리즘이다. 추천 시스템의 Reranking 단계에서 상위권 아이템의 정확도를 높이는 데 효과적이다.
- 공통 방문 행렬(Covisitation Matrix)
- — 동일한 세션 내에서 여러 아이템이 함께 나타나는 빈도를 기록한 행렬이다. '이 상품을 본 고객이 함께 본 상품'과 같은 연관 규칙을 기반으로 강력한 추천 후보를 생성하는 전통적이고 강력한 기법이다.
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 02. 25.수집 2026. 02. 25.출처 타입 YOUTUBE
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.

