da-analysis / asac_5_dataanalysis

ASAC 5기 Data Analysis Project (google map recommendation system)
0 stars 1 forks source link

아이템 추천 모델 컨셉 잡기 #27

Closed syleeie2310 closed 4 months ago

syleeie2310 commented 4 months ago
Seolhada commented 4 months ago

@syleeie2310 안녕하세요, 멘토님.

  1. 이전 기수 자료를 살펴보았는데 co-review를 기준으로 라벨링 하여 나온 결과를 순서를 매기는 것으로 이해하였는데 맞을까요? 1-1. co-review가 3 이상인 결과를 대상으로 어떻게 순서를 매긴 것인지 궁급합니다. 1-2. 순서를 매긴 결과와 비교한 정답지가 과거에는 어떤 것이었는지 궁금합니다.
  2. 이전 기수에서 분류 모델을 사용한 이유가 따로 있었을까요?
  3. 협업 필터링과 분류 모델을 어떻게 결합시킨 것인지 궁금합니다.
  4. 혹시 추가로 참고할 수 있을 자료가 있다면 공유해주실 수 있을까요?😿
syleeie2310 commented 4 months ago

@Seolhada co-review 3 이상 결과를 처음부터 결정한 것은 아니고 co-review 갯수 별로 실험을 진행했어요 (예를 들면 co-review >= 3, 4, 5, 7,10)

1-1. ML로 문제를 풀기 위해서 분류기로 가정해서 0,1로 나눌 수 있어요. 그런 경우에는 label로 활용한 다음에 랭킹 평가를 별도로 합니다 여기에서 분류기에서 사용하는 label과 랭킹 평가에서 사용하는 데이터가 비슷하긴 하지만 다를 수 있어요 (분류기에선 >=3 이상을 1,0으로 맵핑해서 사용) 랭킹 평가는 실제로 순서 쌍을 고려해야 되므로 기준 상품 (여기에선 gmap_1)이겠죠 추천 상품 (gmap_2)가 co-review 갯수가 많은 순서로 랭킹 평가를 하는게 순서입니다.

1-2. 결국 평가 데이터를 어떻게 구성하냐에 따라 접근 방식이 다를 수 있습니다.

  1. 아이템 간 연관성을 계산할 때 다른 방버도 있지만, 분류 모델이 정답지가 있다고 가정하면 여러가지 실험하기 좋아요. -feature를 많이 확보해서 여러 분류기를 실험해서 성능 비교하기 좋음 -classification이 아니라 regression 형태로도 할 수 있지만 그게 좀 더 복잡해요.
    • 꼭 ML로 해야될 필요가 있다고 생각하진 않아요.

3.협업 필터링은 개념적으로 접근하시는게 좋아요. 협업 필터링에서 사용하는 모델이 꼭 ALS 같은 모델만 있는건 아니라서요! 아래 보면 모델 기반 접근 방식에서 classification이나 회귀 방식으로도 많이 씁니다. https://deepdaiv.oopy.io/articles/1 https://tech.kakao.com/posts/463

4.추가로 참고할만한 자료라, 모든 것을 이해하고 하긴 좀 어려울 수 있어서 먼저 데이터부터 봐보시겠어요?

relative_result 데이터랑 co-review 데이터 가지고 평가 데이터를 어떻게 만들지부터 고민해주세요!

syleeie2310 commented 4 months ago

참고할만한 자료 있다면 제가 좀더 찾아보고 주말에 공유드릴게요!!

Seolhada commented 4 months ago

@syleeie2310 감사합니다! 추가로 질문이 더 생겼는데요...!

  1. 정답지는 반드시 랭킹을 포함하고 있어야 하는 걸까요?
  2. 이전 기수에서는 정답지로 어떤 데이터를 활용한 걸까요?
syleeie2310 commented 4 months ago
  1. 랭킹 평가할 때는 순서가 중요하므로 숫자의 크기를 비교할 수 있는 형태가 되어야 됩니다. (ML 학습과는 관계 없음) -> CF 모델 만들 때 분류기를 만드는거랑 (분류기 학습 형태는 0,1로 가정하면) 랭킹 평가하는게 분리될 수 있어요 -> 모든게 ML로만 하는게 아니라. 동일 랭킹 데이터 셋으로 예를 들면 텍스트 리뷰 간 아이템 추천 모델 데이터를 만들었을 때 같은 기준으로 평가하기 용이 -> 그래서 사실 relatvie_result가 만약 순서까지 보장한다면 그걸 쓰는게 제일 좋긴한데 (구글이 정답이라고 예상하는 데이터) 랭킹을 보장하지 못하면 애매하긴 해요.

  2. 이전 기수는 co-review 데이터를 랭킹 정답셋으로 활용했어요. -> 43~44페이지 참고하심 좋을 듯 해요, 기간을 나눴어요. 대신. 그래서 과거 데이터를 학습할 때 사용할 수 있는 형태.

syleeie2310 commented 4 months ago

좀 어렵긴 한데 이런거 보면 도움이 조금이라도 될지 모르겠네요 ㅎㅎ;; https://aman.ai/recsys/ranking/

syleeie2310 commented 4 months ago
Seolhada commented 4 months ago

https://quirky-age-880.notion.site/ed1829b5b79a4bbaa88abd73b684c726?pvs=4