728x90
반응형

아카이브/추천시스템(2019) 18

추천시스템 18 - 경사하강법

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems SVD의 문제점 SVD는 좋은 테크닉이지만 아래와 같은 문제가 있다: SVD를 계산하는것은 매우 느리다. SVD는 채워지지 않은 데이터에 대해 어떠한 조치를 취해주어야 한다. 따라서 이러한 문제들을 해결하기 위해 경사하강법을 적용해보고자 한다. 접근법 경사하강법을 적용하고자 하는 인사이트는, SVD를 사용해 추천을 계산할때의 에러를 직시하는것이다. 선형대수적으로는 SVD를 구한 다음, k만큼의 값을 자르는것이, ra..

추천시스템 17 - 행렬 분해

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 잠재 의미 분석 (Latent Semantic Analysis) 정보검색 분야에서도 비슷한 고민을 먼저 시작했다. 문서의 키워드벡터와 쿼리의 키워드벡터 들의 조합은 간단하지만 좋은 표현법은 아니다. - 의미를 내포하기가 힘들다 이것을 해결하기 위해 특이값분해 (Singular Value Decomposition, SVD)라는 테크닉을 사용한다. SVD는 행렬을 사용자-아이템 행렬에서 선호도 기반의 작은 행렬로 감소시..

추천시스템 16 - 사용자-사용자 협업필터링 코드예제

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 원본 코드 예제에서는 Excel로 코딩하게 되어있지만, 파이썬으로 코딩한 예제입니다. 사용자-사용자 협업필터링¶ 정규화 없는 협업필터링¶ 사용자-사용자 연관성 행렬을 완성하시오. 체크를 위해서, 사용자 1648과 사용자 5136의 연관성은 0.40298, 그리고 사용자 918과 사용자 2824의 연관성은 -0.31706이다. 사용자들 사이의 연관성은 -1에서 1사이이다. 사용자 3867과 사용자 89의 이웃을 각각 ..

추천시스템 15 - 단항의 아이템 추천

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 단항의 아이템 데이터 단항의 아이템 데이터는 곧 간접적 선호도 정보를 말한다. 아이템의 클릭 수 음악의 플레이 수 구매 이력 등 이런 데이터를 사용하려면 조금의 조정이 필요하다. 다른말로 표현하면, 위와같은 데이터를 평점과 같이 수치화 할 수 있어야 한다. 0/1의 값으로 구매했는지 안했는지 사용 몇번 구매/플레이를 했는지 정보의 수치화 그렇다면 이 정보를 어떻게 수치화하고 정규화할 수 있을까? 평균중심화는 별로 의..

추천시스템 14 - 아이템-아이템 협업필터링

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 서론 기본적으로 사용자-사용자 필터링은 잘 동작 한다. 하지만 데이터가 부족할때는 예측값을 만들어내기 힘들다. 큰 시스템에서 사용자가 많다 해도, 공통점을 찾을 수 없는 사용자가 있다면 추천을 만들어내기 힘들다. 또한 평점을 잘 매기지 않는 사용자들에게도 추천을 만들기 힘들다. 이런 단점을 극복하기 위해 아이템-아이템 필터링이 고안되었다. 사용자보다는 여러 사람들이 평점을 매기는 아이템에 데이터가 더 많을 수 있다...

추천시스템 13 - 사용자-사용자 협업필터링

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 비개인적 추천 비개인적인 추천을 하려면 다음과 같은 수식을 사용하면 된다. $$S(u, i) = \frac{\sum_{v \in U} r_{vi}}{ |U|}$$ u - 현재 사용자 i - 아이템 S(u, i) - 예측값 U - 모든 사용자 |U| - 모든 사용자의 수 v - U에 속한 다른 사용자 $r_{ui}$ - 아이템에 대한 현재 사용자의 평점 사용자-사용자 추천 이 수식에 기반하여 사용자-사용자 추천을 계산..

추천시스템 12 - 컨텐츠기반 추천 코드예제

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/recommender-systems-introduction?specialization=recommender-systems 원본 코드 예제에서는 Excel로 코딩하게 되어있지만, 파이썬으로 코딩한 예제입니다. 1. 컨텐츠 기반 추천¶ 20개의 문서와 10개의 속성이 있다. 그리고 각 사용자마다 5개의 문서에 대한 평가가 있다. 이번 과제에서는 각 속성의 Count를 무시하고 Boolean값 (0/1)으로만 취급하도록 하겠다. 그리고 사용자의 평가는 긍정적이면 1 부정적이면 -1로 기록되어있다. 사용자 프로필 구축¶ 먼저 ..

추천시스템 11 - TFIDF

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/recommender-systems-introduction?specialization=recommender-systems TFIDF TFIDF기법은 정보검색 분야에서 출발한 개녑이다. 정보검색과 관련된 개념을 자세히 설명하지는 않을것이지만, 정보검색에 TFIDF가 어떻게 쓰였는지 들여다 보도록 하자. 만약 기본적인 검색기능(태그 와 랭킹 기반)이 실패하면 어떻게할까? 특정 단어를 가진 문서를 모두 가져온다면, 너무 많을것이다. 어떠한 방식으로 랭킹을 정하는가? 두가지 요인을 고려해 볼 수 있다. 단어의 빈도는 중요한 요..

추천시스템 10 - 컨텐츠 기반 추천

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/recommender-systems-introduction?specialization=recommender-systems 안정적인 선호도로부터 시작 컨텐츠기반 추천에서는 컨텐츠의 속성들을 안정적인 선호도로 선정한다. 예) 뉴스 기술관련 뉴스, 대학관련 뉴스, 식당관련 뉴스 등 옷 면티, 파란색, 저가, 캐쥬얼 영화 톰 행크스, 우디 앨런, 코미디 호텔 24시간 프론트데스크, 룸서비스, Wifi, 수영장 핵심 아이디어 아이템들의 관련된 속성들을 사용해 모델링을 한다. 컨텐츠의 속성에 따라서 사용자의 선호도를 노출한다. 그..

추천시스템 9 - 비개인적 추천 코드예제

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/recommender-systems-introduction?specialization=recommender-systems 원본 코드 예제에서는 Excel로 코딩하게 되어있지만, 파이썬으로 코딩한 예제입니다. 1. 영화 평점¶ 문제: 평균 평점을 계산하고, 최상위 3개의 영화와 점수를 구하시오 먼저 Pandas 패키지를 import 하겠습니다. In [94]: import pandas as pd movies_df = pd.read_csv('./HW1-data.csv') movies_df.head() Out[94]: Use..

728x90
반응형