일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- SGD
- 분산 시스템
- 추천시스템
- 데이터 엔지니어링
- codingtest
- 협업 필터링
- 웹스크래핑
- 부스트캠프
- TF-IDF
- Cosine-similarity
- 백준
- Overfitting
- Python
- 추천 시스템
- 머신러닝
- wordcloud
- 파이썬
- 코테
- selenium
- 프로그래머스
- 알고리즘
- pytorch
- 데이터
- recommendation system
- coursera
- 웹크롤링
- 딥러닝
- Tensor
- 시각화
- 코딩테스트
- Today
- Total
개발자식
[Coursera] Recommendation Systems with TensorFlow on GCP_1주차_TIL 본문
[Coursera] Recommendation Systems with TensorFlow on GCP_1주차_TIL
밍츠 2022. 8. 9. 20:56Recommendation System Overview
1. Introduction
"Recommendation engines"
- 머신러닝의 가장 성공적이고 널리 퍼진 비즈니스 사례이고 즐겨 사용하는 애플리케이션에서 많이 지원한다.
- ex) Youtube, Google Play
"what exactly are recommendation engines?"
"What do they do and how do they work?"
- 기본적으로 사용자가 과거에 상호작용 했던 제품을 기반으로 확인하지만 유튜브의 경우 사용자의 로그가 기록된다. 사용자가 직접 검색에 도달하지 못할 항목들도 추천해준다.
-> 그래도 사용자와 관련됨
- Recoomendation engines provide a way of surfacing new content that a user might like but didn't know to search for
- 좋아요 또는 싫어요와 같은 상호작용을 기록하여 사용자에게 고유한 선호도를 배울 수도 있다.
- 또한 함께 어울리는 콘텐츠를 찾는데 도움을 준다.
- 다른 사람들이 검색한 내용을 기반으로 유사한 결과가 추천된다.
-> 우리의 참여를 유지하는 방법을 제공한다.
목적
- 사용자를 행복하게 하고 관심을 갖게 하고 제품에 계속 참여하게 한다.
장점 _ 사용자 측면
- 내용을 이해하는 데 도움을 준다.
- 새로운 항목을 탐색하는 데 도움을 준다.
- 의사 결정을 향상시킨다.
장점 _ 추천 제공자 측면
- 사용자 만족도와 참여도를 높여 더 깊은 사용자의 신뢰로 이어진다.
- 사용자 상호 작용을 조사하여 항목에 대한 수요를 유도할 수 있다.
Recommendation systems provide a way to model people's perferences
2.Types of Recommendation Systems
사용자 속성 데이터 및 사용자의 과거 임대 정보, 다양한 속성 디테일, 사용자별 등급 데이터가 있을 때 이를 행렬로 나타낼 수 있다. 이를 사용자-항목 상호작용 메트릭스라고 한다.
사용자에게 어떻게 임대 숙소를 추천해줄 수 있을까?
- 사용자의 속성을 사용? 어떤 기능을 사용?
- 집의 속성을 사용? 주택을 분류하기 위해 어떤 기능을 사용?
- 사용자가 좋아할 유사한 속성은? 사용자가 비슷하든 것은?
- 유사도를 어떻게 측정?
- 모델링을 위해 어떤 레이블 사용?
- 사용자의 평가 점수를 예측할지, 예약할 집을 예측할지?
와 같이 다양한 방법으로 질문들을 접근한다.
3. Content-Based or Collaborative
Content-Based filtering
: uses item features to recommend new items similar to what the user has liked in the past
- 항목의 속성을 사용하여 사용자에게 새 항목을 추천한다. (다른 사용자의 행동이나 평가는 고려하지 않는다)
- 보이지 않는 항목의 순위를 매기는 방법을 외삽하는 것은 불가능하다.
Collaborative filtering
: uses similarites between users and items simultaneously to determine recommendations
- 전체 사용자 항목 상호 작용 매트릭스와 함께 작동한다. (모든 사용자, 모든 항목, 모든 사용자 항목 평가 등을 사용)
- 유사한 사용자가 유사한 항목을 좋아할 것이라는 생각으로 작업한다.
-> 사용자 간의 유사성을 사용
- Hand engineering(수동적 조절)에 의존할 필요가 없다.
- 이전에 구성된 기능에 의존하지 않는다.
Knowledge-based
: recommender systems use explicit knowledge about the users, items, and recommendation criteria
- 사용자의 선호도에 대한 명시적 지식, 항목, 추천 기준과 같은 대체 접근 방식이 있을 때 유용하다.
- Content-Based , Collaborative 방법을 적용할 수 없다.
- 품목을 자주 구매하지 않는 상황에서 발생한다. (정보 불충분)
Content-Based filtering & Collaborative filtering & Knowledge-based
1. 서로 다른 유형을 결합하여 추천 모델을 단일 하이브리드 접근 방식으로 통합한다.
2. 이러한 모델 중 하나 이상의 결과를 결합한다.
Deep neural networks
: can be trained to predict ratings based on user and item attributes
- 유연하고 다양한 결과를 갖도록 훈련될 수 있다.
- ex) 등급 예측, 상호 작용, 다음 항목
4. Recommendation System pitfalls
- 위 사진의 user item interaction matrix (사용자 항목 상호작용 매트릭스)는 사용자 공간과 제품 공간이 희박하고 편향되어 있다. (sparse and skewed)
sparse
- 전체 사용자 항목 공간 내에서 잠재적으로 거의 상호 작용이 없다.
- 행렬의 대부분의 항목은 0으로 희소 행렬은 문제가 된다.
-> 많은 메모리를 사용하고 계산 수행 속도가 느리다.
skewed
- 대부분의 제품의 사용 기간이 길고, 평가 비율이 낮은 것, 일부 속성이 인기가 많은 것 또한 메트릭스가 왜곡된다.
그래서 모든 유저에 대한 모든 평가를 취한다면, 특정 사용자나 제품을 강조할 위험이 있다.
또한 제품과 사용자 모두에게 콜드 스타트가 발생할 수 있다.
콜드 스타트 : 상품 추천을 위한 데이터 정보가 충분하지 않아서 해당 유저들에게 상품을 추천하지 못하는 문제를 말한다.
카탈로그에 새 항목이 추가될 때
- 협업 필터링의 경우 사용자 항목 상호 작용에 의존하기 때문에 정보가 없으면 사용자를 위한 신뢰할 수 있는 권장 사항이 생성되지 않아 이러한 경우에는 콘텐츠 기반 접근 방식이 더 좋다.
등급 형태의 명시적인 조치 대처
- 암시적 조치를 사용해야 한다.
- ex) Youtube의 경우 조회수 중 찬성 또는 반대가 훨씬 적어 동영상 클릭수, 재생 횟수, 사이트 탐색, 페이지에서 보낸 시간과 같은 사용자 상호 작용에 대한 기타 정보를 사용
- 명시적 피드백 데이터가 충분하면 초기 모델을 훈련할 수 있다.
- 암시적 피드백을 입력 레이어로 명시적 피드백을 레이블로 사용하여 초기 모델을 훈련한다. 명시적 피드백을 추천 시스템 입력에 사용한다.
5. Discussion
추천 시스템을 설계할 때 생각해볼 점
- 어떤 데이터가 필요한지, 목표가 무엇인지
- 콘텐츠 기반 필터, 협업 필터를 어떻게 만들 것인지
- 사용자 피드백에 대한 명시적인 평가가 있는지, 아니면 암묵적인 피드백을 허용해야 하는지
- 인과관계 문제를 어떻게 해결할 것인지
- 하이브리드 접근 방식의 이점을 누릴 수 있을지
추천 엔진을 구축하고 사용해야 하는 좋은 이유는?
- 사용자의 경험을 개인화하고 추천자가 수백만 개의 항목 내에서 관련 콘텐츠를 표시하는 방법을 제공하는 것
'AI > Recommendation System' 카테고리의 다른 글
[Coursera] Recommendation Systems with TensorFlow on GCP_6_TIL (0) | 2022.08.24 |
---|---|
[Coursera] Recommendation Systems with TensorFlow on GCP_5_TIL (0) | 2022.08.23 |
[Coursera] Recommendation Systems with TensorFlow on GCP_4_TIL (0) | 2022.08.19 |
[Coursera] Recommendation Systems with TensorFlow on GCP_3_TIL (0) | 2022.08.18 |
[Coursera] Recommendation Systems with TensorFlow on GCP_2_TIL (0) | 2022.08.10 |