A. Content-based recommender systems
1. 아이템 기반 추천 시스템에 대해 내가 오해하고 있었다. 아이템 기반도 SVD를 이용한 것인 줄 알았는데, 선형 회귀를 이용하는 것이었다.
2. 일단 명칭부터 정리를 해야한다. r을 해당 컨텐츠를 보았는지 안보았는지에 대해 표시한다.
2-2. y는 j라는 이용자가 i라는 컨텐츠에 매긴 평점이다.
2-3. 세타는 이용자 j의 파라미터이다.
2-4. x는 컨텐츠 i의 피쳐다.
3. 이용자 j의 컨텐츠 i에 대한 예측치는 파라미터 세타와 컨텐츠의 피쳐의 곱이다.
4. 이용자가 컨텐츠에 대한 평점을 많이 매겨놓을수록 트레인 셋은 많아지는 것이 된다.
5. 이 트레인 셋을 이용하여 세타를 학습시키고, 이용자가 보지 않은 영화에 대한 평점을 예측한다.
1. 위는 그 예시다. 세타에 대해서 위와 같이 일단 생각할 때, x3인 Cute puppies of love에 대한 Alice의 평점예측은 4.95가 된다.
1. 그 식을 정리하면 위와 같다. 위는 이용자 한명의 세타 값을, 아래는 모든 유저의 세타 값을 구한다.
1. 선형회귀와 일치하므로, 뒤에 세타와 람다를 이용해 regularization을 한다. 이 비용함수를 이용하여, 세타를 갱신할 수 있는 경사하강법을 사용하면 끝!
2. 다만, 아이템 기반의 추천 시스템을 사용하기 위해서는 사용자 한명이 많은 다른 영화에 대해 평점을 매겨야 할 뿐만 아니라, 아이템의 피쳐 까지도 꼼꼼하게 필요하기 때문에.. 까다롭다는 단점이 있다.
'2019년 혁신성장 청년인재 집중양성(빅데이터) > [COURSERA] Machine Learning Stanford Uni' 카테고리의 다른 글
[week9] Low Rank Matrux Factorization (0) | 2019.11.08 |
---|---|
[week9] Collaborative Filtering (0) | 2019.11.07 |
[week9] Building an Anomaly Detection System (0) | 2019.11.07 |
[week9] Densitiy Estimation (0) | 2019.11.06 |
[week8] Applying PCA (0) | 2019.11.03 |