협업 필터링에 대해 알아야 할 모든 것
데모 클래스
를 타고(연락처 정보를 제공 할,다운로드 링크는 몇 초 안에 이메일로 전송됩니다)
협업 필터링 추천 시스템 및 협업 필터링 알고리즘과 같은 핵심 개념에 들어가기 전에 추천 시스템을 이해합시다.
추천 시스템은 옷과 같은 제품이거나 영화,서비스 등이 될 수있는 항목을’추천’하기 위해 사용자의 선호도를 예측하는 것을 목표로합니다.,추천 시스템은 모든 도메인의 옵션 잉여 때문에 오늘날 매우 중요 해지고 있으며 회사가 제품 또는 서비스를 증가시키기 위해 더 잘 배치 할 수 있도록 도와줍니다.
추천 시스템을 구축하는 방법에는 두 가지가 있는데,하나는 콘텐츠 기반이고 다른 하나는 협업 필터링입니다. 이 기사에서는 협업 필터링 예제와 함께 협업 필터링을 심층적으로 살펴볼 것입니다.
35% 의 Amazon.com 의 수익은 추천 엔진에 의해 생성됩니다.
협업 필터링이 추천 시스템을 실행하는 두 가지 방법 또는 감각이 있으며,이는 좁은 방법이며 더 일반적인 방법입니다.
좁은 의미에서,협업 필터링은 한 사용자의 선호도를 예측하고 다른 많은 유사한 사용자의 선호도를 수집하고 연구함으로써 작동합니다.
자세한 교육 과정을 다운로드하고 오리엔테이션 세션에 무료로 액세스 할 수 있습니다
시간:오전 10 시 30 분-오전 11 시 30 분:30)
예를 들어,사용자 에이 및 사용자 비 둘 다 동일한 세탁기를 선호한다면,사용자 비의 다른 선호도는 사용자의 취향 및 요구가 유사하기 때문에 사용자가 관심을 가질 수 있는 것일 수 있다. 이것은 물론 많은 다른 사용자와 다양한 환경 설정 및 반응,따라서 용어,협업 필터링을 고려하여 수행됩니다.
협업 필터링 소스 추천 시스템
보다 일반적인 의미에서,협업 필터링은 패턴을 도출하기 위해 사용자의 활동을 연구함으로써 사용자의 선호도를 예측하는 프로세스입니다.
예를 들어,좋아요,싫어요,건너 뛰기 및 뷰를 연구함으로써 추천 시스템은 사용자가 좋아하는 것과 싫어하는 것을 예측할 수 있습니다.
협업 필터링과 콘텐츠 기반 필터링의 차이점은 전자는 항목 정보를 필요로하지 않고 대신 사용자 환경 설정에서 작동한다는 것입니다.
협업 필터링 유형
메모리 기반 또는 가장 가까운 이웃 알고리즘
추천 시스템 소스-데이터 과학에 대한
이 방법은 등급 시스템을 사용하여 유사한 사용자 또는’이웃’의 선호도를 고려하여 한 사용자의 선호도를 예측합니다. 여기에서 기본 설정을 계산하는 방법에는 사용자 기반 협업 필터링 및 항목 기반 협업 필터링의 두 가지가 있습니다.
먼저 사용자 기반 협업 필터링을 고려해 보겠습니다. 우리가 평가의 행렬을 가지고 있다고 가정 해 봅시다 엔 엑스 미디엄,사용자에 대한 유=1,…엔 및 항목 피 1,제이=1,…엠.우리는 항목의 등급을 예측할 필요가 있다고 가정 해 봅시다 아르 자형 1,항목 제이 그 사용자 나는/평가 시청하지 않았습니다. 이 방법은 사용자의 선호도를 계산하고 다른 사용자와 일치시키고,상위 유사한 사용자를 선택하고,항목에 대한 등급을 취하고,가중 평균을 찾아 사용자의 가능한 등급/선호도를 예측하는 것입니다.
고려 일부 사용자는 너무 관대 경향이 있다는 사실을 복용,그들은 정말 즐길하지 않는 항목에 대한 높은 평가를 제공,일부 사용자는 너무 엄격한 경향이있는 동안,심지어 그들이 좋아하는 항목에 대한 낮은 평가를 제공,이 협업 필터링 방법은 편견을 제거하는 공식을 수정합니다. 이 문제를 해결하기 위해 가중 평균을 계산할 때 각 사용자의 모든 항목에 대한 평균 등급을 뺀 다음 대상 사용자에 대해 다시 추가합니다.
유사성은 피어슨 상관 관계와 코사인 유사성의 두 가지 방법으로 계산할 수 있습니다.
이 방법을 요약하면,아이디어는 선호도 측면에서 우리의 목표 사용자와 가장 유사한 사용자를 찾고,항목에 대한 그들의 등급을 계량하고,선택한 항목에 대한 우리의 목표 사용자에 대한 잠재적 등급으로 예측하는 것입니다.
항목 기반 협업 필터링에서는 두 항목을 비교하고 한 사용자가 두 항목에 유사한 등급을 부여하면 비슷한 것으로 가정합니다. 그런 다음 이 사용자의 대부분의 유사한 항목에 대한 가중 평균 등급을 계산하여 항목에 대한 사용자의 등급을 예측합니다. 예를 들어 아래 이미지를 참조하십시오.
항목 기반 필터링 소스-매체
모델 기반 협업 필터링
이러한 협업 필터링 추천 시스템 방법에서는,상이한 데이터 마이닝 및 기계 학습 알고리즘이 평가되지 않은 항목에 대한 사용자의 등급을 예측하는 모델을 개발하기 위해 사용된다. 이러한 모델의 예로는 베이지안 네트워크,클러스터링 모델,단수 값 분해,확률 론적 잠재 의미 분석,다중 곱셈 요인,잠재 디리클레 할당 및 마르코프 의사 결정 프로세스 기반 모델이 있습니다.
하이브리드 협업 필터링
이 방법은 메모리 기반 및 모델 기반 협업 필터링 시스템을 결합하여 희소성 및 정보 손실과 같은 제한을 제거합니다. 이 방법은,그러나,구축 할 더 복잡하다.
자세한 교육 과정을 다운로드하고 오리엔테이션 세션에 무료로 액세스 할 수 있습니다
시간:오전 10 시 30 분-오전 11 시 30 분:30)
협업 필터링 예제
협업 필터링 추천 시스템의 좋은 이해를 얻으려면,우리가 실시간 협업 필터링 예제를 가지고 파이썬에서 협업 필터링 알고리즘을 구축 할 수 있습니다. 첫 번째 단계는 데이터 집합을 정의하는 것입니다. 파이썬 초보자 인 경우,이 기술 문서를 체크 아웃:
데이터 세트
이 공동 작업 필터링 예제에서는 먼저 항목 집합과 이러한 항목에 반응한 사용자가 포함된 데이터를 누적해야 합니다. 이 반응은 등급이나 좋아요 또는 싫어하는 것과 같이 명시 적이거나 항목보기,위시리스트에 추가 또는 기사 읽기와 같이 암시 적 일 수 있습니다.
이러한 데이터 세트는 일반적으로 사용자,항목 및 이러한 항목에 대해 이러한 사용자가 부여한 반응으로 구성된 행렬로 표시됩니다. 다음은 예입니다:
5 명의 사용자와 5 개의 항목이있는 매트릭스 소스–실제 파이썬
이 행렬은 5 명의 사용자를 나타냅니다. 대부분의 경우 이러한 행렬은 많은 사용자가 목록의 많은 항목을 평가할 가능성이 매우 낮기 때문에 전체 행렬보다 빈 셀이 더 많습니다. 이를 스파스 행렬이라고 합니다.
협업 필터링 알고리즘 프로젝트에 고품질 데이터 소스 목록을 사용할 수 있습니다. 이 데이터 집합에는 943 명의 사용자가 1682 편의 영화에 대해 100,000 개의 등급이 포함되어 있으며 각 사용자는 최소 20 편의 영화를 평가했습니다.
데이터세트에는 많은 유용한 필드가 있지만,특히 우리가 초점을 맞추고 있는 필드는 다음과 같습니다:
u.item: the list of moviesu.data: the list of ratings given by users
데이터 파일에는 별도의 등급 및 사용자 아이디,항목 아이디,등급 및 타임스탬프 목록이 포함되어 있습니다. 다음은 예입니다:
전체 파일에는 이러한 등급 100,000 개에 대한 데이터가 포함되어 있습니다.
협업 필터링 알고리즘 생성
이 프로젝트를 실행하는 아이디어는 1 입니다. 비슷한 선호도를 가진 사용자를 식별 한 다음 2. 아직 등급을 매기지 않은 사용자가 영화에 대한 등급을 예측합니다. 우리는 또한 결과의 정확성을 고려해야 할 것입니다.
1 과 2 는 서로 다른 알고리즘 세트를 사용하여 달성됩니다. 기억해야 할 중요한 점은 샘플 사용자의 연령,인구 통계 등에 대해 걱정하지 않는다는 것입니다. 또는 영화의 장르 등 우리가 염려하는 것은 이러한 사용자가 이러한 영화에 대한 암시 적 및/또는 명시 적 평가입니다.
결과의 정확성을 측정하기 위해 루트 평균 제곱 오차 또는 평균 절대 오차와 같은 옵션을 사용할 수 있습니다.
메모리 기반 협업 필터링 알고리즘
이 방법에서는 사용자가 항목(동영상)을 제공 할 수 있다는 등급을 예측하려고합니다.
첫 번째 단계는 사용자와 비슷한 선호도를 가진 사용자를 찾은 다음 등급을 계산하는 것입니다.
다음은 유사한 선호도를 가진 사용자를 찾는 방법의 예입니다. 작은 데이터 세트를 고려하십시오:
이들은 4 명의 사용자가 제공 한 2 편의 영화에 대한 등급입니다.:
등급 소스 플로팅-실제 파이썬
플롯 포인트 사이의 거리는 관심있는 유사성에 대한 아이디어를 얻는 한 가지 방법입니다. 우리는 거리를 계산하기 위해 다음 프로그램을 사용할 수 있습니다:
스키피에서 공간 가져 오기
우리는 스키피를 사용하고 있습니다.공간.거리.거리를 계산하는 유클리드 함수. 우리는 거리를 계산하고 있습니다 씨…에서 ㅏ,비,및 디. 우리는 결과에서 볼 수 있습니다 그리고 또한 테이블 자체에서 씨가 가장 가깝습니다 비.또한 우리는 알고 싶습니다 ㅏ 과 디 누가 가장 가까운지 씨.거리 측면에서 우리는 디,하지만 테이블을 보면 우리는 말할 수 있습니다 ㅏ 과 씨 더 정렬됩니다 둘 다 영화 2 영화 1 보다 두 배 더 좋아하기 때문에(실제 등급이 아닌 비율을 고려)사용자가 디 두 영화를 거의 똑같이 좋아하기 때문에 선호도가 다를 수 있음을 나타냅니다. 유클리드 거리가 예측할 수없는 것,우리는 사용자를 연결하는 선의 각도에서 파생 될 수 있습니다. 사용자를 가입,그래프는 다음과 같습니다:
우리는 볼 수있는 두 줄 사이의 각도가 적은,더 유사한 자신의 참조. 프로그램에서 이것을 찾기 위해,우리는 다음을 실행할 수 있습니다:
당신은 사이의 코사인 유사성을 볼 수 있습니다 ㅏ 과 비 가까운 유사성을 나타내는 0 입니다. 유클리드 거리와 코사인 유사성을 사용하는 것은 선호도에 따라 유사성을 계산하는 데 사용할 수있는 다른 방법 중 2 가지입니다.
평점 계산
사용자와 비슷한 선호도를 가진 사용자를 확인한 후,아직 평점을 받지 않은 경우 영화에 대한 평점을 예측합니다. 다시 말하지만,이것에 대해 갈 수있는 많은 방법이 있습니다.
한 가지 간단한 방법은 비슷한 상위 사용자가 해당 영화에 대해 주어진 평점의 평균을 찾는 것입니다. 수학적 표현은 다음과 같습니다:
이는 가장 가까운 유사한 사용자에게 더 많은 가중치를 부여한 다음 가중치를 내림차순을 의미합니다. 식 것:
협업 필터링의 제한
하나 존재,그것은 고려 메타 데이터를 고려하지 않습니다. 예를 들어,사용자는 영화의 액터에 대한 선호도에 따라 영화를 평가할 수 있지만 공동 작업 필터링은 이를 고려하지 않습니다.
또 다른 단점은 많은 사용자가 많은 항목을 평가하지 않으면 협업 필터링이 매우 효과적이지 않다는 것입니다. 그런 다음에 만 비슷한 잠재 고객에게 가장 적합한 일치를 만든 다음 등급을 예측할 수 있습니다.
협업 필터링은 거대한 데이터 세트를 필요로하기 때문에,가까운 유사성을 가진 사용자를 얻을 수 있도록,종종 데이터 희소성의 문제가있다. 앞서 보았 듯이 희소 행렬은 전체 셀보다 빈 셀이 더 많은 행렬이며 거의 항상 그렇습니다.
협업 필터링 알고리즘은 일반적으로 사용자를 고려하여 작성되므로 확장성은 또 다른 문제입니다. 데이터 세트가 성장함에 따라,전체 프로그램은 대규모 될 수 있습니다.
협업 필터링 추천 시스템의 응용
협업 필터링 추천 시스템 소스–실제 파이썬
협업 필터링은 소셜 웹에서 가장 많이 사용됩니다. 당신은 많은 다른 사람의 사이에서 유튜브,넷플릭스,레딧,같은 응용 프로그램에 대한 행동에 공동 필터링을 볼 수 있습니다. 이러한 응용 프로그램은 협업 필터링을 사용하여 사용자가 예측 알고리즘을 기반으로 좋아할 가능성이 가장 높은 비디오/게시물을 추천합니다.
협업 필터링은 제한 사항에도 불구하고 추천 프로그램에 널리 사용되는 방법입니다. 또한 전자 상거래 플랫폼에서 유사한 선호도 또는 취향의 사용자가 구매 한 제품을 추천하는 데 사용됩니다.
프로그래머로서,당신은 협업 필터링이 더 정확한 만들기 위해 알고리즘을 혼합하고,또한 가장 정확한 결과를 얻을 수있는 방법이나 예측을 혼합해야합니다. 마이닝 대규모 데이터 세트 책의 추천 시스템 장에서는 협업 필터링에 대한 정보의 훌륭한 소스입니다.
자세한 교육 과정을 다운로드하고 오리엔테이션 세션에 무료로 액세스 할 수 있습니다
시간:오전 10 시 30 분-오전 11 시 30 분:30)
우리는 또한 데이터 과학자가 되는 방법에 대한 완전한 가이드를 가지고 있는데,이는 대부분의 기계 학습 애호가들이 열망하는 것입니다.
올바른 데이터 과학 기술을 얻으려면 데이터 과학 과정에 등록해야합니다. 이것은 당신이 데이터 과학자로 당신의 경력을 상승하는 데 도움이 될 것입니다.