<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Recommending the Recommenders</title>
    <atom:link href="/rectherec/feed.xml" rel="self" type="application/rss+xml"/>
    <link>https://anjali-chadha.github.io//rectherec/</link>
    <description>Cross Domain Recommendation with Yelp and MovieLens dataset</description>
    <pubDate>Thu, 17 May 2018 19:57:15 +0000</pubDate>
    
      <item>
        <title>Project</title>
        <link>/rectherec/2018/04/23/project.html</link>
        <guid isPermaLink="true">/rectherec/2018/04/23/project.html</guid>
        <description>&lt;h3 id=&quot;introduction&quot;&gt;Introduction&lt;/h3&gt;

&lt;p&gt;With the ever increasing amount of information on the web, users are loaded with information. They face the challenge of 
finding the most relevant and useful information on the internet. Recommendation systems have emerged as one of the solution 
to this problem of huge data flood.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/rectherec/assets/img/aunty.png&quot; alt=&quot;Motivation Photo&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In general, recommendation systems rely on user modeling approaches to approximate user preferences and build user profiles based on 
users’ purchase history, item ratings etc. Collaborative Filtering and Content Based Recommendation are the standard 
techniques of recommendation used in the industry. However, standard recommendation systems suffer from many 
problems:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Cold Start Problem - when a new user starts using the system&lt;/li&gt;
  &lt;li&gt;First Rater Problem - when a new item is introduced&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cross Domain Recommender Systems&lt;/strong&gt; are one of the newer techniques used to alleviate cold-start problem.
The main idea is to use rating information accumulated in one domain (source domain) to improve the quality of recommendations
in another domain (target domain).&lt;/p&gt;

&lt;h3 id=&quot;dataset&quot;&gt;Dataset&lt;/h3&gt;
&lt;p&gt;For the purpose of this project, we used two datasets:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;MovieLens-100k&lt;/li&gt;
  &lt;li&gt;Yelp Challenge Dataset&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;movielens-100k&quot;&gt;MovieLens-100k&lt;/h4&gt;
&lt;p&gt;First, we performed some data exploration on the movie lens dataset. Here are the plots:
&lt;img src=&quot;/rectherec/assets/img/movielens1.png&quot; alt=&quot;Motivation Photo&quot; /&gt;
&lt;img src=&quot;/rectherec/assets/img/movielens2.png&quot; alt=&quot;Motivation Photo&quot; /&gt;&lt;/p&gt;
&lt;h4 id=&quot;yelp&quot;&gt;Yelp&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;/rectherec/assets/img/yelp1.png&quot; alt=&quot;Motivation Photo&quot; /&gt;
&lt;img src=&quot;/rectherec/assets/img/yelp2.png&quot; alt=&quot;Motivation Photo&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;related-work&quot;&gt;Related Work&lt;/h3&gt;
&lt;p&gt;Literature Survey of cross domain recommender systems:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cross Domain Collaborative Filtering&lt;/strong&gt;
&lt;br /&gt;Collaborative Filtering boils down to analyzing the user-item matrix. It can be easily extended with other auxiliary domains under the pretext of common users or common items. 1,2,3&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Content Based Cross Domain Recommendations&lt;/strong&gt;
&lt;br /&gt;Content based CDR models users and items as feature vectors and recommends based on similarity between the two. If users/items are common among different domains the feature vectors can simply be concatenated to incorporate more information. 4&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neural Network based CDRs&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Multi-View Deep Neural Network -
&lt;br /&gt;Content based techniques calculates features to represent users and items. Neural networks are powerful feature extractors and can be effectively used in a multi/cross domain setting. 5,6&lt;/li&gt;
  &lt;li&gt;CCCFNet (Content Boosted Collaborative Filtering)
&lt;br /&gt;Content-based modelling of MV-DNN is used to augement the Collaborative Filtering matrix. The idea is to the correlate the latent-factor matrix of the CF part with the content-modelling of MV-DNN. 7&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In all the above explained methods either there is single or mutiple cross domains. However, there is very little analysis on which domains can help the prediction in the target domain the most. A gap that we seek to fill.&lt;/p&gt;

&lt;h3 id=&quot;proposed-solution&quot;&gt;Proposed Solution&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;CCCFNet model- Unified Content-based and Collaborative Filtering&lt;/li&gt;
  &lt;li&gt;The content information is used to augment the CF matrix&lt;/li&gt;
  &lt;li&gt;The proposed methodology performs better as compared to other recommendations techniques like SVD and Bayesian Matrix Factorization&lt;/li&gt;
  &lt;li&gt;The loss function for the CCCFNet model is given by:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/rectherec/assets/img/loss.png&quot; alt=&quot;Motivation Photo&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt; Where,
&lt;br /&gt; Uia - User’s Collaborative part
&lt;br /&gt; Uib - User’s Content preference part
&lt;br /&gt; Vj - Item’s Collaborative part&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/rectherec/assets/img/cccfnet.png&quot; alt=&quot;Motivation Photo&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;results&quot;&gt;Results&lt;/h3&gt;
&lt;p&gt;We test a bunch of simple baselines such as SVD, Biased-Matrix Factorisation and CCCFNet.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;MovieLens Dataset:-&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For CCCFNet, to simulate 2 independent domains we split the utility matrix of movieLens dataset. The performance of the different methods is compared based on the RMSE values. CCCFNet always beats the simpler baseline methods and hence establishes that it is a better technique by the virtue of using a hybrid Content and CF method.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Yelp Dataset:-&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We evaluated 2 different source domains for one target domain.&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Domain Pair 1
    &lt;ul&gt;
      &lt;li&gt;&lt;em&gt;Source Domain&lt;/em&gt; - Food&lt;/li&gt;
      &lt;li&gt;&lt;em&gt;Target Domain&lt;/em&gt; - Restaurant&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Domain Pair 2
    &lt;ul&gt;
      &lt;li&gt;&lt;em&gt;Source Domain&lt;/em&gt; - Shopping&lt;/li&gt;
      &lt;li&gt;&lt;em&gt;Target Domain&lt;/em&gt; - Restaurant&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The idea was to see if there is a appreciable increase the recommendation performance in one of the configurations. Ideally, the food-restaurant recommendation should perform better than shopping-restaurant since the domains are correlated.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/rectherec/assets/img/res1.png&quot; alt=&quot;Motivation Photo&quot; /&gt;
&lt;img src=&quot;/rectherec/assets/img/res2.png&quot; alt=&quot;Motivation Photo&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We measure the recommendation performance using the RMSE.&lt;/p&gt;

&lt;h3 id=&quot;discussion&quot;&gt;Discussion&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Using combination of source and target domain for providing recommendations improves RMSE&lt;/li&gt;
  &lt;li&gt;Choice of auxiliary domain remains tough&lt;/li&gt;
  &lt;li&gt;Feeding model with more data; decreasing the sparsity level gives better results&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;ethical-consideration&quot;&gt;Ethical Consideration&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Assumption that interest in one domain will always map to another domain is misplaced&lt;/li&gt;
  &lt;li&gt;Eg. Teenage kid interested in shooting games like Call of Duty might recommend violent videos
&lt;img src=&quot;/rectherec/assets/img/ethics.png&quot; alt=&quot;Motivation Photo&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/anjali-chadha/recommending-the-recommenders&quot;&gt;Github Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/-vPDSKx2FJY&quot;&gt;YouTube video&lt;/a&gt;&lt;/p&gt;

&lt;h4 id=&quot;references&quot;&gt;References&lt;/h4&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.ijcai.org/Proceedings/09/Papers/338.pdf&quot;&gt;B. Li, Q. Yang, and X. Xue, “Can movies and books collaborate? cross-domain collaborative filtering for sparsity reduction,” in IJCAI, 2009, pp. 2052-2057.
 ”Transfer learning for collaborative filtering via a rating-matrix generative model,” in ICML, 2009, pp. 617-624.&lt;/a&gt;
 &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://www.aaai.org/ocs/index.php/AAAI/AAAI10/paper/view/1649&quot;&gt;W. Pan, E. W. Xiang, N. N. Liu, and Q. Yang, “Transfer learning in collaborative filtering for sparsity reduction,” in AAAI, 2010, pp. 230-235.&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://arxiv.org/pdf/1203.3535.pdf&quot;&gt;Y. Zhang, B. Cao, and D.-Y. Yeung, “Multi-domain collaborative filtering,” in UAI, 2010, pp. 725-732.&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;http://ceur-ws.org/Vol-1245/cbrecsys2014-paper09.pdf&quot;&gt;Sahebi, Shaghayegh, and Trevor Walker. “Content-Based Cross-Domain Recommendations Using Segmented Models.” CBRecSys@ RecSys. 2014.&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://arxiv.org/pdf/1305.3384.pdf&quot;&gt;Biadsy, Naseem, Lior Rokach, and Armin Shmilovici. “Transfer learning for content-based recommender systems using tree matching.” International Conference on Availability, Reliability, and Security. Springer, Berlin, Heidelberg, 2013.&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/frp1159-songA.pdf&quot;&gt;Elkahky, Ali Mamdouh, Yang Song, and Xiaodong He. “A multi-view deep learning approach for cross domain user modeling in recommendation systems.” Proceedings of the 24th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2015.&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://delivery.acm.org/10.1145/3060000/3054207/p817-lian.pdf?ip=165.91.13.19&amp;amp;id=3054207&amp;amp;acc=ACTIVE%20SERVICE&amp;amp;key=B63ACEF81C6334F5%2E79B51EFA2DE92FE8%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35&amp;amp;__acm__=1524538725_ebb4ce384e81128d1c48f17f492c89da&quot;&gt;Lian, Jianxun, et al. “CCCFNet: a content-boosted collaborative filtering neural network for cross domain recommender systems.” Proceedings of the 26th International Conference on World Wide Web Companion. International World Wide Web Conferences Steering Committee, 2017.&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Mon, 23 Apr 2018 00:00:00 +0000</pubDate>
      </item>
    
      <item>
        <title>Markdown and HTML</title>
        <link>/rectherec/2014/11/28/markdown-and-html.html</link>
        <guid isPermaLink="true">/rectherec/2014/11/28/markdown-and-html.html</guid>
        <description>&lt;p&gt;Jekyll supports the use of &lt;a href=&quot;http://daringfireball.net/projects/markdown/syntax&quot;&gt;Markdown&lt;/a&gt; with inline HTML tags which makes it easier to quickly write posts with Jekyll, without having to worry too much about text formatting. A sample of the formatting follows.&lt;/p&gt;

&lt;p&gt;Tables have also been extended from Markdown:&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;First Header&lt;/th&gt;
      &lt;th&gt;Second Header&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Content Cell&lt;/td&gt;
      &lt;td&gt;Content Cell&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Content Cell&lt;/td&gt;
      &lt;td&gt;Content Cell&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Here’s an example of an image, which is included using Markdown:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/rectherec/assets/img/sample_feature_img_2.png&quot; alt=&quot;Geometric pattern with fading gradient&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Highlighting for code in Jekyll is done using Pygments or Rouge. This theme makes use of Rouge by default.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-js&quot; data-lang=&quot;js&quot;&gt;&lt;span class=&quot;c1&quot;&gt;// count to ten&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;// count to twenty&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Type Theme uses KaTeX to display maths. Equations such as &lt;script type=&quot;math/tex&quot;&gt;S_n = a \times \frac{1-r^n}{1-r}&lt;/script&gt; can be displayed inline.&lt;/p&gt;

&lt;p&gt;Alternatively, they can be shown on a new line:&lt;/p&gt;

&lt;script type=&quot;math/tex; mode=display&quot;&gt;f(x) = \int \frac{2x^2+4x+6}{x-2}&lt;/script&gt;
</description>
        <pubDate>Fri, 28 Nov 2014 00:00:00 +0000</pubDate>
      </item>
    
  </channel>
</rss>
