Hotel Recommendation Based on Hybrid Model

Similar documents
Reddit Recommendation System Daniel Poon, Yu Wu, David (Qifan) Zhang CS229, Stanford University December 11 th, 2011

Collaborative Filtering based on User Trends

Collaborative Filtering using Euclidean Distance in Recommendation Engine

Improvement of Matrix Factorization-based Recommender Systems Using Similar User Index

Recommender Systems New Approaches with Netflix Dataset

A PERSONALIZED RECOMMENDER SYSTEM FOR TELECOM PRODUCTS AND SERVICES

Performance Comparison of Algorithms for Movie Rating Estimation

Hybrid Recommendation System Using Clustering and Collaborative Filtering

Feature Selection Using Modified-MCA Based Scoring Metric for Classification

Applying Multi-Armed Bandit on top of content similarity recommendation engine

Parallelization of K-Means Clustering Algorithm for Data Mining

Recommender System. What is it? How to build it? Challenges. R package: recommenderlab

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

A Recommender System Based on Improvised K- Means Clustering Algorithm

Combining Review Text Content and Reviewer-Item Rating Matrix to Predict Review Rating

Link Prediction for Social Network

Matrix Decomposition for Recommendation System

Recommendation System Using Yelp Data CS 229 Machine Learning Jia Le Xu, Yingran Xu

Supervised Random Walks

Collaborative Filtering Applied to Educational Data Mining

Available online at ScienceDirect. Procedia Technology 17 (2014 )

Predicting User Ratings Using Status Models on Amazon.com

Comparison of Recommender System Algorithms focusing on the New-Item and User-Bias Problem

New user profile learning for extremely sparse data sets

Collaborative Filtering for Netflix

Conflict Graphs for Parallel Stochastic Gradient Descent

The exam is closed book, closed notes except your one-page (two-sided) cheat sheet.

Research on Mining Cloud Data Based on Correlation Dimension Feature

A Novel Multi-Frame Color Images Super-Resolution Framework based on Deep Convolutional Neural Network. Zhe Li, Shu Li, Jianmin Wang and Hongyang Wang

Learning to Match. Jun Xu, Zhengdong Lu, Tianqi Chen, Hang Li

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

Recommendation Systems

Temperature Calculation of Pellet Rotary Kiln Based on Texture

General Instructions. Questions

CS535 Big Data Fall 2017 Colorado State University 10/10/2017 Sangmi Lee Pallickara Week 8- A.

CPSC 340: Machine Learning and Data Mining. Feature Selection Fall 2016

Combination of Markov and MultiDamping Techniques for Web Page Ranking Sandeep Nagpure, Student,RKDFIST,Bhopal, Prof. Srikant Lade, RKDFIST,Bhopal

Classification of Subject Motion for Improved Reconstruction of Dynamic Magnetic Resonance Imaging

Allstate Insurance Claims Severity: A Machine Learning Approach

PARAMETERIZATION AND SAMPLING DESIGN FOR WATER NETWORKS DEMAND CALIBRATION USING THE SINGULAR VALUE DECOMPOSITION: APPLICATION TO A REAL NETWORK

Hierarchical Clustering 4/5/17

Property1 Property2. by Elvir Sabic. Recommender Systems Seminar Prof. Dr. Ulf Brefeld TU Darmstadt, WS 2013/14

An Approximate Singular Value Decomposition of Large Matrices in Julia

A Data Classification Algorithm of Internet of Things Based on Neural Network

Generalized Social Networks. Social Networks and Ranking. How use links to improve information search? Hypertext

Unsupervised learning in Vision

CPSC 340: Machine Learning and Data Mining. Principal Component Analysis Fall 2016

Variational Bayesian PCA versus k-nn on a Very Sparse Reddit Voting Dataset

Parallel learning of content recommendations using map- reduce

An ELM-based traffic flow prediction method adapted to different data types Wang Xingchao1, a, Hu Jianming2, b, Zhang Yi3 and Wang Zhenyu4

Recommender system techniques applied to Netflix movie data

Clustering and Dimensionality Reduction. Stony Brook University CSE545, Fall 2017

Opportunities and challenges in personalization of online hotel search

CS570: Introduction to Data Mining

Using Data Mining to Determine User-Specific Movie Ratings

Collaborative Filtering using Weighted BiPartite Graph Projection A Recommendation System for Yelp

Louis Fourrier Fabien Gaie Thomas Rolf

Improvements and Implementation of Hierarchical Clustering based on Hadoop Jun Zhang1, a, Chunxiao Fan1, Yuexin Wu2,b, Ao Xiao1

Weighted Alternating Least Squares (WALS) for Movie Recommendations) Drew Hodun SCPD. Abstract

Clustering and Recommending Services based on ClubCF approach for Big Data Application

CSE 546 Machine Learning, Autumn 2013 Homework 2

Recommender Systems. Collaborative Filtering & Content-Based Recommending

Mining Web Data. Lijun Zhang

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

FMA901F: Machine Learning Lecture 3: Linear Models for Regression. Cristian Sminchisescu

Mining Web Data. Lijun Zhang

Lab # 2 - ACS I Part I - DATA COMPRESSION in IMAGE PROCESSING using SVD

MAPREDUCE FOR BIG DATA PROCESSING BASED ON NETWORK TRAFFIC PERFORMANCE Rajeshwari Adrakatti

CS294-1 Assignment 2 Report

Deep Learning With Noise

ROBUST LOW-RANK MATRIX FACTORIZATION WITH MISSING DATA BY MINIMIZING L1 LOSS APPLIED TO COLLABORATIVE FILTERING. Shama Mehnaz Huda

Tag Based Image Search by Social Re-ranking

A Novel Image Super-resolution Reconstruction Algorithm based on Modified Sparse Representation

Mixture Models and the EM Algorithm

An Efficient Clustering Method for k-anonymization

A Memetic Heuristic for the Co-clustering Problem

On Color Image Quantization by the K-Means Algorithm

CS224W Project: Recommendation System Models in Product Rating Predictions

Content-based Dimensionality Reduction for Recommender Systems

Music Recommendation with Implicit Feedback and Side Information

The exam is closed book, closed notes except your one-page cheat sheet.

Massive Data Analysis

Implementation of Parallel CASINO Algorithm Based on MapReduce. Li Zhang a, Yijie Shi b

Random Search Report An objective look at random search performance for 4 problem sets

Semi supervised clustering for Text Clustering

Research and Improvement of Apriori Algorithm Based on Hadoop

A A A. Fig.1 image patch. Then the edge gradient magnitude is . (1)

Contrast Prediction for Fractal Image Compression

Prediction of traffic flow based on the EMD and wavelet neural network Teng Feng 1,a,Xiaohong Wang 1,b,Yunlai He 1,c

Building a Recommendation System for Chinese Dishes

Joint Representation Learning for Top-N Recommendation with Heterogeneous Information Sources

FSRM Feedback Algorithm based on Learning Theory

DeepFace: Closing the Gap to Human-Level Performance in Face Verification

Traffic Signs Recognition using HP and HOG Descriptors Combined to MLP and SVM Classifiers

A PSO-based Generic Classifier Design and Weka Implementation Study

A Time-based Recommender System using Implicit Feedback

Spatial Variation of Sea-Level Sea level reconstruction

Etimating Movie Rating From User Rating with Demographic Information

Improving the Efficiency of Fast Using Semantic Similarity Algorithm

FUZZY C-MEANS ALGORITHM BASED ON PRETREATMENT OF SIMILARITY RELATIONTP

Transcription:

Hotel Recommendation Based on Hybrid Model Jing WANG, Jiajun SUN, Zhendong LIN Abstract: This project develops a hybrid model that combines content-based with collaborative filtering (CF) for hotel recommendation. This model considers both hotel popularity in input destination and users preference. It produces the prediction with 53.6% accuracy on test data-4% improvement on purely content-based model. Addtionally, three issues are well-resolved when implementing CF: sparsity in utility matrix, cold-start, and scalability. Keywords: Collaborative filtering, Content-based, SVD, Hierarchical clustering, Decision tree. I. Introduction The goal of the project is to develop a hybrid model for better hotel recommendation. At this moment, the majority of the recommendation systems are content-based models, which only consider the searching paramaters input by customers but not the users preference. For instance, Expedia focuses on the searching criterion and recommends the top popular local hotels. Personalizing the user search by their preference is a burning need for better hotel recommendation. Collaborative filtering is considered as the starting point of this project. It has been widely used in recommendation systems but rarely in hotel recommendation. Nevertheless, there are still related wors. Ryosue Saga. et al [1] created a preference transition-based networ system to recommend hotels. By tranversing user booing history, a transition networ of user preference is constructed to do recommendation. But the networ is too specific to accept new users and detect the further changes of old customers. Xiong Yu-ning.et al [2] came up with a personalized intelligent hotel recommendation system for online reservation. This research firstly extracts Hotel Characteristic factors, attempts to analyze customers browsing and purchasing behaviors and secondly constructs a personalized online hotel mareting recommendation system polymerization model for Multi-level customers. They combined user-item sytem and achieved positive outcomes. But it does not expand for new users. In this project, hybrid model is applied to combine user preference and item properties. Based on the final comparison of accuracy, the model achieves good results. More Details are as follows. II. Methodology In this part, three models will be introduced. Content-based model and collaborative filtering are traditional methods in recommendation system. Hybrid model compensates the shortcomings in two models by combining these two models successfully. At the same time, it introduces new methods. A. Content-based Model Content-based filtering is a common approach in recommendation system. The features of the items previously rated by users and the best-matching ones are recommended. In our case, the local popularity of the hotel clusters based on ratings by users is used to be the main feature in the contentbased model. More details will be explained later. There are three main shortcomings of this approach [3] : (1). It is limited by the number and the types of features associated with the objects for recommendation. (2). It may involve the issue of over-specialization as no inherent method is included for finding something unexpected. (3). It may not predict precisely for new users. Usually, a content-based recommendation system need enough ratings to provide accurate recommendations. In our project, we used content-based filtering as a reference for result comparison. B. Collaborative Filtering The philosophy of collaborative filtering is to identify similar users and give recommendation based on the preference of similar user. But collaborative Filtering have the following issues. First of all, user behavior are chaotic, such as the gray sheep problem. The gray sheep refers to the users whose preference do not consistently agree or disagree with any group and itself. In our dataset 1

of the next experiment, we find some users choose different hotel cluster every time. This maes collaborative filtering extremely ineffective on those gray sheep users. Secondly, Collaborative filtering assumes that users mae decisions purely due to their preference. However, we find their choices are highly correlated with hotel destination. A destination sometimes only have certain types of hotel; and a certain type of hotel is very famous or popular in that destination. Thus, the users choices will be significantly limited by destination or influenced by destination. Besides the chaotic user behavior and hotel destination influence, collaborative filtering have utility matrix sparsity and data scalability issue that we will address them in detail in next Hybrid Model section. C. Hybrid Model The goal of hybrid model is to resolve two big problems. First of all, we need to wor out three big issues of CF mentioned in part B. On the other hand, we would lie to combine users preference and popularity of hotels to recommend. Utility Matrix The utility matrix gives each user-item pair; a value represents the degree of preference of that user for that item. In the later experiments, we will use user ID representing user; and hotel cluster representing item. When a hotel cluster is viewed by a user, rating of 1 is given; when a hotel is booed, rating of 5 is given. Hierarchical Clustering In terms of scalability problem, hierarchical clustering is applied to cluster the large number of users into different clusters. Most of the users have little booing history (less than 5 booing history) in the data. This leads to a very sparse utility matrix. Also, the number of user in the data is massive, which maes it impossible to implement Matrix Factorization on the original utility matrix. Therefore, users are classified into user cluster and utility matrix is compressed based on that. The hierarchical clustering method builds a hierarchy of clusters, by moving up this hierarchy, similar pairs of clusters are merged as a cluster. To be more specific, cosine distance is applied to measure similarity between users. Normally, cosine distance requires data normalisation. The original rating is substracted by the average rating of that user cluster: M i, = M i, K M i, where, i represents user cluster, represents hotel cluster and K is the total number of hotel cluster. M i, means the rating of user cluster i on hotel cluster and M i, is the normalised rating (M represents it in the rest of paper). Cosine distance is written as follow: K =1 cosine similarity = A B K =1 A2 n =1 B2 where A and B is the ratings on hotel cluster by user cluster A, B, respectively and K is the total number of hotel cluster. SVD (singular value decomposition) Method After clustering the users based on their preference in utility matrix, the utility matrix might still be super sparse because it is also rare to a cluster of users to rate most of the hotel. We would lie to find a method to fill the unrated entries in utility matrix by smallest error. Here SVD is applied to do that. SVD sees a low-ran matrix X = UV T, where U R N C and V R K C (N is the total number of distinct customers, K is the number of distinct items and C is the dimension factor), that minimizes the sum-squared distance to the fully obseved target matrix M (here is clustered utility matrix) with the dimension R N K. Matrices U and V are initialized with small random values sampled from a zero-mean normal distribution with standard deviation 0.01. We minimized the following objective function [4], (i,) (M i V T U i ) 2 + λ( V 2 + U i 2 ) where λ is the regularization parameter in order to avoid overfitting. To solve this objective, we can use stochastic gradient descent (SGD). After taing derivatives of the objective with respect to U and V, and the following is the update rules: U i := U i + α((m i V T U i )V λu i ) V := V + α((m i U T i V )U i λv ) where α is the learning rate parameter. After estimating U and V by iterating over the nown (i, ) pairs in the data, user i s recommendation for product can be estimate by computing 2

U i V T. Decision Tree Classifier In order to resolve the cold-start problem, ontology model is introduced. The ontology decision model [5] is maing up by user ontology characteristics and results of sub-comities, which are regarded as attributes and classes, respectively. The ontology theory demonstrates that users profile determines the users behavior, to some extent. Generally speaing, we explore the users profile data, such as age, gender, occupation, class, location and so forth, to predict the users behavior. That is to say, if the users have similar or same profile information, we thin they have same or similar preference so that they might do the same behavior. Decision tree is to predict the cluster label of a new user by inputting the user s profile data. Decision tree is a high-level overview of all the sample data, which not only can accurately identify all categories of the sample, but also can effectively identify the class of the new customer. In order to avoid overfitting, cross-validation method is adopted to obtain the best decision tree. A procedure to do that in hotel recommendation is in Fig. 1. From the previous procedures, a clustered SVDutitlity matrix M is attained. We created a new matrix R with the dimension N K by M and D. That is, R i = M (i) D (j) where i is customer ID, j is destination ID, is hotel cluster ID, N is the total number of users that have booing histories. M reflects the user preference, and D represents the popularity of hotel in local destination. Matrix R connects two attributes. The other benefit is for a single user s perspective. By clustering customers, booing histories from several users are combined together. But for a single user, he or she might not go to the hotel with the high rating of that cluster, which produces a great error if recommending the top hotel by purely clustered utitliy matrix. It is about 13% accuracy in the later experiment. Furthermore, the top cluster recommended by utility matrix might not in that destination input by the customer, which also leads to big bias. However, in the end, matrix R can get better tradeoff. All the process is shown in the flow chart in Fig. 2. Combination Figure 1: Decision tree classifier The second problem we would lie to resolve is combining the user preference with the item properties. Tae the hotel recommendation as an example. Set a evaluation metric. If the hotel was booed, it is rated as 5 points. If it is just cliced, it gets 1 point. Otherwise, it is unrated. Based on booing history we have, a raning matrix in terms of hotel properties (i.e, destination) can be created by average all ratings based on counts of booing or clicing, shown as follows. d 11 d 12 d 1K d 21 d 22 d 2K D =...... d J1 d J2 d JK J K where J is the total number of hotel destinations, K is the total number of hotel type or hotel cluster. Figure 2: Hybrid Model Flow Chart III. Experimental Results In order to test the validation of hybrid model, datasets from random 20000 customers on Expedia are accepted to do experiments. The dataset is shown in Tab.1. Table 1: Dataset Head When applying hierarchical, in order to control whether two clusters should be merged or not, a 3

distance threshold should be specified. Here we set the threshold based on Fig.3. It is found that after 0.75, the number of hotel cluster starts to converge. Therefore, we set threshold = 0.75 resulting 112 user cluster. After clustering utility matrix, SVD is applied on the clustered utility matrix. Fig.4 shows how stochastic gradient descent converges. However, it is found that SVD does not converge on dimension. Fig.5 shows the RMSE linearly decreases with a increase of dimension (number of eigenvalue). Figure 3: Cosine threshold Figure 4: SVD converge Figure 6: Clustered utility matrix (left) and utility matrix after SVD Based on data we have, user country, region, city, is-mobile and is-pacage (the users booed the hotel with a flight) are regarded as the features of user profiles in this case. But we would lie to detect if all these attributes show obvious users preference. From the Fig.7, it is easy to see that users in different cities are inclined to choose the range of small hotel cluster ID, which means it has obvious relation with users preference. It is same with the attribute that the user used mobiles to boo or not because the figures show the same distribution. Nevertheless, country, region and pacage factors show the different density for users in different factor values. For example, pacage users prefer to choose hotel cluster ID 65, while not-pacage users would lie to boo ID 91 hotel cluster. Hybrid model results in prediction with 53.6% accuracy on testing data-4% improvement on content-base model. This result is consistent with our hypothesis: both user preference and hotel popularity are vital in recommendation system. In Kaggle, the benchmar content-based model (Data Lea method) has 49.8% accuracy. Table 2: Accuracy Comparison Accuracy Hybrid Model Content-based Train 61.29% 61.29% Test 53.62% 51.03% IV. Future Wor Figure 5: SVD ran and RMSE It is also found that utility matrix become significantly less sparse after applying SVD. The left figure of Fig.6 is the utility matrix after clustering users; while the right one is the SVD utility matrix. It can be found that, after applying SVD, utility matrix become less sparse. Our hybrid model can be further improved in these two aspects: 1. Larger dataset will be applied in this model so density-based clutesring method should be used instead of hierarchical clustering. 2. More features such as hotel country and hotel maret might be included to test their impacts in prediction. 4

(a) Density of users country (b) Density of users region (c) Density of users city (d) Density of mobile users (e) Density of not-mobile users (f) Density of pacage users (g) Density of not-pacage users Figure 7: User Profile Detection (pacage user is the user booed the hotel with the flight) V. Reference [1] Saga R, Hayashi Y, Tsuji H. Hotel recommender system based on user s preference transition[c]//systems, Man and Cybernetics, 2008. SMC 2008. IEEE International Conference on. IEEE, 2008: 2437-2442. [2] Yuning X, Li xiao G. Personalized Intelligent Hotel Recommendation System for Online Reservation A Perspective of Product and User Characteristics[C]//Management and Service Science (MASS), 2010 International Conference on. IEEE, 2010: 1-5. [3] Lops P. and Gemmis M., Content-based Recommender Systems: State of the Art and Trends, Springer Science+Business Media, 2011 [4] Salahutdinov R, Mnih A, Hinton G. Restricted Boltzmann machines for collaborative filtering[c]//proceedings of the 24th international conference on Machine learning. ACM, 2007: 791-798. [5] Meng C, Cheng Y, Jiechao C, et al. A Method to Solve Cold-Start Problem in Recommendation System based on Social Networ Sub-community and Ontology Decision Model[C]//3rd International Conference on Multimedia Technology (ICMT-13). Atlantis Press, 2013. 5