Learning Equality - Curriculum Recommendations

MSMoon·2025년 5월 8일

kaggle 학습

목록 보기
14/18
post-thumbnail

1. 대회 설명

  • 목표: 사용자에게 가장 적합한 교육 콘텐츠를 추천하는 커리큘럼 추천 시스템 구축
  • 문제 유형: 추천 시스템
  • 데이터 배경
    -> topics.csv: 추천 기준이 되는 학습 주제 데이터 (계층 구조 포함)
    -> content.csv: 추천 대상이 되는 교육 콘텐츠 데이터
    -> correlations.csv: 주어진 콘텐츠와 토픽 간 실제 연관 관계 (훈련용)

2. 성능 평가 방식 이해

  • F2 Score 기반 micro-average

3. 데이터 전처리

3-1) EDA

  • topics와 contents 모두 title, description 결측값 존재 → ""로 채움
  • topics는 계층 구조를 가지며 parent column 활용 가능

3-2) Data Cleansing

  • 학습 목적상 필요한 주요 컬럼만 사용 (title, description 중심)

3-3) Feature Engineering

  • title + description 텍스트 결합 후 토큰화
  • Transformer 기반 텍스트 임베딩 생성 (vscode 환경에서 단일 모델 기반으로 진행 함)

4. 모델링

4-1) 모델

  • xlm-roberta-large 모델 사용 (실제 진행 시에는 Hugging Face에서 직접 다운로드)
  • 별도 체크포인트 없이 사전 학습된 모델만 사용
  • Mean Pooling으로 문장 임베딩 생성
  • PyTorch 기반 커스텀 MetricModel 정의

4-2) 데이터 분할

  • 별도 학습 없이 inference-only 실습 진행으로 train/val 분할 생략

4-3) 하이퍼파라미터 튜닝

  • cfg_fold0.yaml 내 설정은 불러오되 학습 관련 파라미터는 무시
  • 토크나이저 길이 설정만 참조 (max_length)

4-4) 최종 성능

  • cosine similarity를 통한 토픽-콘텐츠 간 유사도 계산
  • 메모리 이슈 방지를 위해 batch 기반 top-K 추출 방식 적용

5. 정리(Lesson & Learned)

  • Kaggle 노트북 환경에 의존하지 않고 로컬 환경에서 직접 실행 가능한 구조로 수정하는 과정을 통해 실전 환경에 대한 이해를 높임
  • 원래 노트북은 사전 학습된 체크포인트를 기반으로 여러 모델을 앙상블하지만, 이번 필사에서는 Hugging Face의 공개 모델(xlm-roberta-large)을 직접 다운로드하여 사용하고, 단일 모델만으로 진행함
  • 체크포인트가 없이 공개된 사전 학습 모델만으로 적절한 추론이 가능

Learning Equality - Curriculum Recommendations

0개의 댓글