본문 바로가기

분류 전체보기

(116)
추천 시스템의 평가 - 01 이전 장에서는 추천 시스템들을 어떻게 만드는지 알아봤따. 몇 가지 선택 사항에 따라, 그중 일부는 recommenderlab 패키지를 사용해 개발할 수 있따. 또한 각 추천 기법에는 약간의 매개변수의 설정도 필요하다. 추천 모델들을 만든 후에는 어떤 모델을 사용할것인지 어떻게 결정할 수 있을까? 매개변수는 어떻게 결정할 수 있을까? 모델 중 일부나 매개변수 설정에 따른 추천 성능을 먼저 테스트해, 그중에서 가장 좋은 성능을 가지는 모델과 매개변수를 고를 수 있다. 지금부터는 어떻게 모델을 평가하고 모델의 성능을 비교하며 가장 적합한 모델을 고르는지 알아본다. 이 장에서는 다음 주제들을 다룬다. 모델을 평가하기 위한 데이터 준비 몇몇 모델들에 대한 성능 평가 가장 좋은 성능을 가지는 모델의 선택 모델의 매..
추천 시스템 - 05 사용자 기반 협업 필터링 이전 절에서 알고리즘은 아이템을 기반으로 했으며 추천 항목을 선별하는 단계는 다음과 같다. 같은 사람들이 구매한 것과 유사한 아이템 선별 새 사용자에게는 구매했던 것과 비슷한 아이템을 추천 이 절에서는 반대의 방법을 사용한다. 먼저 새로운 사용자가 생기면 유사한 사용자를 선별한다. 그런 다음 유사한 사용자가 구매해 좋은 평점을 준 아이템을 추천한다. 이 방법을 사용자 기반 협업 필터링이라고 한다. 새로운 사용자에 대해서는 다음 단계가 있다. 각 사용자가 새로운 사용자와 얼마나 유사한지 측정한다. IBCF와 마찬가지로 주로 사용되는 유사도 측정 방법은 상관관계 및 코사인이다. 가장 유사한 가용자를 선별한다. 옵션은 다음과 같다. -상위 k명의 사용자(k-nearest_neighbo..
추천 시스템 - 04 아이템 기반 협업 필터링 협업 필터링은 여러 사용자에 대한 정보를 고려한 추천 형태다. '협업'이라는 단어는 사용자가 아이템을 추천하기 위해 서로 협력한다는 사실을 나타낸다. 실제 알고리즘에서는 사용자의 구매 내역 및 선호도가 고려된다. 그 시작은 행이 사용자에 해당하고 아이템이 열에 해당하는 평점 매트릭스다. 이 절에서는 아이템 기반 협업 필터링의 예를 보여준다. 새로운 사용자가 주어지면 알고리즘은 사용자의 구매 내역을 고려해 유사한 아이템을 추천한다. 핵심 알고리즘 구현은 다음 단계를 기반으로 한다. 각 아이템들에 대해, 유사한 사용자들에게 비슷한 평점을 받은 것을 바탕으로 서로 얼마나 유사한지 측정한다. 각 아이템에 대해, 가장 유사한 k개의 아이템들을 선별한다. 각 사용자에 대해, 사용자의 구매 ..
추천 시스템 - 03 데이터 준비 이 절에서는 추천 모델에서 사용되는 데이터를 준비하는 방법을 설명한다. 다음 단계를 수행한다. 관련 데이터 선택 데이터 표준화 가장 적절한 데이터 선택하기 데이터를 살펴보면 다음과 같은 사실에 주목하게 된다. 시청 횟수가 적은 영화는 정보 부족으로 평점에 편향이 있을 수 있다. 거의 평점을 매기지 않는 사용자는 등급에 편향이 있을 수 있다. 영화당 최소 시청 횟수를 지정할 필요가 있으며 그 반대도 마찬가지다. 가장 적절한 데이터를 선택하기 위해서는 데이터 준비, 추천 모델 구현, 유효성 검사라는 전체 과정이 반복돼 이뤄진다. 우리는 처음 모델을 구현하므로 경험적 방법을 사용 가능하지만 이후에는 오류를 줄이기 위해 데이터 준비부터 다시 돌아가서 수정할 수 있다. ratings_movies에 다..
추천 시스템 - 02 데이터 탐구 이 절에서는 MovieLense 데이터 세트를 살펴본다. 이를 위해 추천 시스템을 만들기 위한 recommenderlab을 사용하고, 그 결과를 시각화하기 위한 ggplot2를 사용한다. 이제 패키지와 데이터를 로드한다. library(recommenderlab) library(ggplot2) data("MovieLense") class(MovieLense) [1] "realRatingMatrix" attr(,"package") [1] "recommenderlab" MovieLense는 영화 평점에 관한 데이터 세트가 포함된 realRatingMatrix 객체다. 각 행은 사용자를, 각 열은 영화와 그에 대한 평점을 나타낸다. 데이터 특징 탐구 MovieLense를 간단히 살펴본다. 이전 절..
추천 시스템 - 01 이 장에서는 일반적으로 알려진 추천 기법들을 알아보며, 일부는 R을 사용해 구현해본다. 다음 추천 기법들을 알아본다. 협업 필터링(Collaborative filtering) : 우리가 자세히 알아볼 추천 기법 중 하나다. 유사한 사용자 또는 아이템에 대한 정보를 기반으로 한 알고리즘이며 두 가지 종류로 나눈다. 아이템 기반 협업 필터링(Item-based collaborative filtering) : 사용자가 이전에 구매한것들과 가장 유사한 아이템을 추천한다. 사용자 기반 협업 필터링(User-based collaborative filtering) : 유사한 사용자가 가장 선호하는 아이템을 사용자에게 추천한다. 콘텐츠 기반 필터링(Content-based filtering) : 개별 사용자를 위한 추..
추천 시스템에서 사용되는 데이터 마이닝 기법-03 앙상블 기법 데이터 마이닝 분야에서는 앙상블 기법을 사용한다. 즉, 다양한 통계적 문제를 해결하는 과정에서 더 나은 예츤 성능을 위해 단일의 학습 모델을 적용하기로보다는 다양한 학습 모델을 사용하는 것이다. 여기서는 배깅, 부스팅, 랜덤 포레스트와 같은 널리 알려진앙상블 기법들을 살펴본다. 배깅 배깅은 Bootstrap Aggregating의 준말로 머신 러닝 알고리즘의 안정성과 정확도를 향상하기 위해 설계됐다. 배깅 기법은 오버피팅을 피하고 알고리즘의 안정성을 높일 목적으로 사용되며 주로 의사결정 나무와 함께 사용된다. 배깅은 데이터 세트로부터 부트스트랩해 샘플 데이터를 임의로 생성하는 과정과 각각의 모델들을 트레이닝하는 과정을 동반한다. 그 후 모든 반응 변수를 집계하는 과정을 동반한다. 그 후 모든..
추천 시스템에서 사용되는 데이터 마이닝 기법-02 데이터 마이닝 기법 이제부터는 K-평균 클러스터링, 서포트 벡터 머신, 의사결정 나무, 배깅, 부스팅, 랜덤 포레스트와 같이 데이터 마이닝 분야에서 널리 사용되는 알고리즘들을 살펴본다. 클러스터링 분석 클러스터링 분석(Cluster Analysis) 기법은 한 그룹의 객체들을 다른 그룹보다 더 유사한 객체들로 구성해 그룹 짓는 방식으로 데이터를 그룹화하는 분류 기법이다. 예를 들어, 여행 포털에서 유사한 형태로 예약한 고객을 구별해 그룹화하는 것이다. 위의 예시에서 각각의 그룹을 클러스터라 하며, 각각의 클러스터 구성원(Dagta Point)들은 그들이 속한 그룹의 사용자들과 유사한 특성을 지닌다. 클러스터링 분석은 비지도학습 기법이다. 회귀분석과 같은 지도학습은 입력 변수와 반응 변수를 가지며, 입력 ..