2024년 패스트 캠퍼스 챌린지
패스트캠퍼스 환급챌린지 43일차 미션 (3월 14일) : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
조이쓰
2024. 3. 14. 12:20
강의 내용 Review
📍배운내용📍
- 추천 시스템 데이터셋 구성하기
- 카테고리컬 데이터 생성
👉강의내용👈
데이터 구성
- 레이블 생성: 긍정, 부정레이블 정하기, 어떤것을 부정으로 정할지 (구매여부, 클릭여부)
- 세션 데이터, 전체 데이터를 기반으로 모든 유저와 아이템에 행렬을 그리고 구매했으면 1, 안했으면 0
- 노출된적도 없는 것을 부정으로 할수는 없음, 세션 기반으로 보기만한것, 클릭 한것 등을 정의할수있음
- 같이 산 상품을 구하기, 한 유저가 산 전체 상품, 장바구니 상품, 일정기간동안 산 상품 등등 정의가 도메인을 고려해서 필요함
- 부정 레이블을 샘플링할것인가? 클래스 불균형이 발생함, 중복 제거등등 문제가 있음
- Contiunous Feedback : 사용자, 후보자, 애션, 컨텍스트, 집합, 윈도우 순서로 데이터 구성
- Contiunous Feedback 데이터는 집합의 결과를 피처로 사용하는 경우가 많음, 적은 데이터로 효과적으로 학습하기 위해, 데이터들이 피처에 포함되어있어서 효과적으로 학습가능
- 유저 퍼널이란 고객의 유입부터 구맥 까지 UX상의 단계 (노출 -> 클릭 -> 장바구니 -> 구매 -> 평점)
- 개념 모델을 구성하고 Entity 추출, Entity 그룹핑, 콜드스타트와 희소성 문제 해결 가능함
- Entity, Action, 기간, agg함수 선택 : 유저가 한달간 시청한 영화장르 비율 등으로 피처 생성 가능
- 1) 컨텍스트를 활용해서 피처 사이즈 줄임, 2) 너무 희소 데이터 생성하지 않도록 주의
카테고리컬 데이터 생성
- Continuous보다 다루기 어렵고, 희소하기 때문에 덴스로 바꾸는 것이 목표
- 숫자로 맵핑해서, 원핫 벡터를 사용, 인베딩 사용 등의 방법이 있음
- 숫자 맵핑은 구분 외에는 의미가 없음, 거리나 높은 값으로 오해 할수도있음
- 원핫 벡터는 간단하지만 벡터의 크기가 커지고 희소 카테고리는 불가능함
- Embedding은 특정한 의미를 가진 정해진 차원의 벡터로 만드는 과정, 랭킹이나 조회 모델을 학습과정에서 배울수 있음
- 어휘 사전에 따라서 적절한 임베딩 사이즈 고르기
- 다른 태스크를 위해 만들어놓은 임베딩을 사용할수있음, 복잡도가 올라감
- 임베딩 만드는것(업 스트림 태스크), 임베딩을 사용하는 것(다운 스트림 태스크), 업스트림이 다시 학습되면 다운 스트림도 다시 학습해야함
- 실제 DB의 데이터와 UX상의 데이터는 다름
- 실제 서빙시 데이터의 저장과 조회는 어디서 가능한가? 잘 정의하는 것 중요
- 회사의 데이터 파이프라인을 고려해서 오프라인/온라인 데이터 구분 중요함
공부사진


43일차 후기
고려 해야할게 많네..
추천 시스템
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.