<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Comparison of Underlying Algorithms in Recommendation Systems</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Shuyi</forename><surname>Wang</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Mathematics</orgName>
								<orgName type="institution">University of North Carolina at</orgName>
								<address>
									<addrLine>Chapel Hill</addrLine>
									<settlement>Chapel Hill</settlement>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author role="corresp">
							<persName><forename type="first">Mufeng</forename><surname>Yang</surname></persName>
							<email>yangmufeng233@gmail.com</email>
							<affiliation key="aff1">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">Fu Jen Catholic University</orgName>
								<address>
									<country>Taiwan, China</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ziyang</forename><surname>Liu</surname></persName>
							<affiliation key="aff2">
								<orgName type="department">Department of Mathematics</orgName>
								<orgName type="institution">University of California</orgName>
								<address>
									<settlement>Santa Barbara, Santa Barbara</settlement>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Linyan</forename><surname>Li</surname></persName>
							<affiliation key="aff3">
								<orgName type="department">Department of Mathematics</orgName>
								<orgName type="institution">Henan University of Economics and Law</orgName>
								<address>
									<settlement>Henan</settlement>
									<country key="CN">China</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Comparison of Underlying Algorithms in Recommendation Systems</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">A217EFF449EB8851A008510B58078B08</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T07:14+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Factorization Machine</term>
					<term>Field-aware Factorization Machine</term>
					<term>Gradient Boost Decision Tree+Linear Regression</term>
					<term>Large Scale Piece-wise Linear Model 2. Pre-Deep Learning Era-Recommender System</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Recommendation systems have been one of the most popular fields in machine learning and received significant attentions due to its applicability to everyday lives. This paper reviews the developing history of recommendation systems from CF to more recent LS-PLM. In this work, we first introduce representative algorithm in each time period and shed light on how they evolved with various demands of mobile applications and scientists' increasing understanding of general machine learning. To concretely illustrate each algorithm, we present the basic framework, underlying mechanics, application methods, and potential weaknesses for comparison. We also run numerical experiments on four of the introduced algorithms, FM, FFM, GBDT+LR, and LS-PLM to test their performance on a particular dataset, KKBox's Music Recommendation Challenge. Finally, we conclude with higher accuracy of FFM and attribute its advantage to better dealing with sparser features. This work presents meaningful viewpoints on comparison of recommendation algorithms through descriptions and experiments and further facilitates the emergence of new state-of-the-art algorithms.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>Since the concept of online shopping first appeared in the late 20 century, it has played an essential role in daily business. For example, Amazon has over 300 million active customer accounts worldwide with 1.6 million packages and 385 dollar sales reached per day! As more and more products are selling online, one problem came up: how to recommend those products to their potential customers who need them? Amazon used a recommendation system that increased about 35% of over sales. In fact, not only goods companies like Amazon but also companies like Instagram, which recommend a person from social media to you, used a recommendation system in their operation.</p><p>One of the fundamentals of the recommendation system is embedding. Embedding is a relatively low-dimension space into which you can translate high-dimension vectors. Objects are distributed in such space through their feature -one common feature could be one dimension. Such as one dimension shows the size of objects, another dimension shows what age group uses more. Some companies use embedding to process the similarities between objects and display their similarities by distance in the space between them. For example, both burger and sandwich are food, so the distance between burger and sandwich should be smaller than the distance between burger and fossil. Also, the distance between objects should have some meaning in Embedding -the distance between women and men should approximately equal the distance between males and females. After having the relation, or distance, between different objects, the recommendation system would recommend similar goods to customers based on their preference or history purchase record. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Collaborative Filtering</head><p>CF is a collaborative process of filtering a large amount of information through feedback, reviews and opinions, and filtering the information that may be of interest to the target user. About the development of CF: Tapestry was the first design to apply CF, solving the information load problem of the research center mail system with no way to filter the classification; <ref type="bibr" target="#b0">[1]</ref> GroupLens as a milestone, the system was applied to news filtering, helping readers filter their interested news content through the record of readers' rating of the content. Similar web recommender platforms are still prevalent today, like YouTube; it has also achieved outstanding success in the field of e-commerce.</p><p>CF is mainly divided into User-based, Item-based, Memory-based and Model-based. User-based: First, collect information that represents user interests, usually user ratings or evaluations, which are called "active ratings", and replace user evaluations by the system through user behavior, which is called "passive ratings". The starting point of UserCF is to calculate the similarity between two users. For example to get user A is interested in whether the commodity X, based on the historical evaluation data (user A historical evaluation data for other commodities, and other users of the historical evaluation data) of these commodities to analysis with the user A to find most similar n users, and then the synthetic evaluation of similar users for the commodities, the weighted average of user similarity and similar users' evaluation is usually used to obtain the evaluation prediction of target users. Through the operation of this formula, the final recommendation list can be sorted according to the predicted score.</p><formula xml:id="formula_0">𝑅 𝑢,𝑠 = ∑ (𝑤 𝑢,𝑠 • 𝑅 𝑠,𝑝 ) 𝑠∈𝑆 ∑ 𝑤 𝑢,𝑠 𝑠∈𝑆<label>(1)</label></formula><p>The weight 𝑤 𝑢,𝑠 represents the similarity between user u and user s, 𝑅 𝑠,𝑝 represents user s's rating of item p.</p><p>If the rating is negative, the recommender system will not recommend X to A. Otherwise, the commodity X is recommended to the user A.</p><p>Item-based: Similar to user-based, the historical data information should be collected first, and then calculate the similarity between the evaluated commodities and the commodities with prediction. Find out k commodities that are most similar to the commodities to be predicted, and the similarity should be used as the weight to rank the scores of the evaluated commodities by weighting them, and finally the predicted value of the commodities to be predicted can be obtained.</p><p>How to calculate the similarity?</p><p>• Cosine Similarity measures the vector angle between user vector i and user vector j :</p><formula xml:id="formula_1">sim(𝑖, 𝑗) = cos(𝑖, 𝑗) = 𝑖•𝑗 ‖𝑖‖⋅‖𝑗‖ (2)</formula><p>• Pearson's correlation coefficient is modified by using average user scores:</p><formula xml:id="formula_2">sim(𝑖, 𝑗) = ∑ (𝑅 𝑖,𝑝 − 𝑅 𝑖 )(𝑅 𝑗,𝑝 − 𝑅 𝑗 ) 𝑝∈𝑃 √ ∑ (𝑅 𝑖,𝑝 − 𝑅 𝑖 ) 2 𝑝∈𝑃 √ ∑ (𝑅 𝑖,𝑝 − 𝑅 𝑗 ) 2 𝑝∈𝑃 (3)</formula><p>𝑅 𝑖,𝑝 represents user I's rating of item P,𝑅 𝑖 represents user I's average rating of all items, P represents the collection of all objects.</p><p>• Based on the idea of Pearson coefficient, the article average score is introduced:</p><formula xml:id="formula_3">sim(𝑖, 𝑗) = ∑ (𝑅 𝑖,𝑝 − 𝑅 𝑝 )(𝑅 𝑗,𝑝 − 𝑅 𝑝 ) 𝑝∈𝑃 √ ∑ (𝑅 𝑖,𝑝 − 𝑅 𝑝 ) 2 𝑝∈𝑃 √ ∑ (𝑅 𝑖,𝑝 − 𝑅 𝑝 ) 2 𝑝∈𝑃 (4)</formula><p>𝑅 𝑝 represents the average score of all the scores for item P. In traditional collaborative filtering systems, the amount of work increases with the number of participants in the system. <ref type="bibr" target="#b1">[2]</ref> One of the disadvantages of UserCF is that the number of users is often greater than the number of items, resulting in the storage overhead of user similarity matrix is very large, and its spatial complexity grows rapidly at the speed of N square times, which is an unbearable expansion speed. And because the data vector is usually very sparse, UserCF is not suitable for applications where positive feedback is difficult to obtain. In combination with the above two types of collaborative filtering, UserCF has stronger social features, which can make a point of interest that is not in the range of their interests before, or quickly update their recommendation list through the dynamic of "friends". It is applicable to hotspot discovery and hotspot trend tracking, and news recommendation scenarios. <ref type="bibr" target="#b1">[2]</ref> ItemCF is suitable for applications with stable interest changes, so ItemCF is better than UserCF to recommend videos with similar styles and types.</p><p>In general, CF is a very intuitive and explicable model. It can filter the information that is difficult for the machine to analyze automatically, share the experience of others, and have the ability to recommend new information. The recommendation is personalized and highly automated. The main problems are as follows: the recommendation quality is poor at the beginning of the system, and its quality depends on the historical data. The head effect of recommendation results is obvious, and the ability to process sparse vectors is weak, and the system is not strong in extensibility, it does not have strong generalization ability.</p><p>In order to solve the above problems and increase the generalization ability of the model, matrix factorization technique is proposed.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Matrix Factorization</head><p>On the basis of co-occurrence matrix of collaborative filtering, the concept of hidden vector is added to strengthen the ability of the model to deal with sparse matrix and solve the main problems of collaborative filtering specifically. As a tool of matrix mathematics, matrix factorization is good at finding information hidden under data. It is mainly used for scoring prediction. In general, we have many users and commodities and express them in the form of a two-dimensional matrix, in which each element represents the rating of the corresponding user on the corresponding commodity. Obviously, such matrix is sparse in real life, because the tastes of the public are different, and each user may not have all the corresponding commodities and score them. Scoring prediction can be regarded as a process of completing the missing elements in the matrix, that is, inferring the missing data according to the existing data in the matrix. <ref type="bibr" target="#b2">[3]</ref> Matrix factorization is to complete the matrix better. In essence, it is to decompose a matrix so that two or more small matrices can be found and multiplied back to the original matrix. In terms of application, matrix decomposition can find the implicit characteristics of interaction between different users. Such information is obtained by analyzing users' behaviors instead of being given directly, which is its advantage. Thus, by discovering these underlying characteristics, we can predict the rating of a given user and a given item because the relevant characteristics match. Therefore, we can predict whether users will like something they have never touched before. When using this method, we assume that the number of hidden features is smaller than the number of users and items. If each user is independently associated with a feature, that is, people and objects have nothing in common, then recommendation will have no meaning. Now we have a set U of users, and a set D of items, create a matrix M with dimensionality of (m, n) this matrix can be viewed as a dot product between two matrix U, V with each matrices having dimensions of (m, k) and (k, n).</p><p>𝑅 ̂𝑢𝑖 = 𝑞 𝑖 𝑇 𝑝 𝑢 (5) We classify matrix factorization into Eigen Decomposition, Singular value Decomposition(SVD) and FunkSVD (Gradient Descent).</p><p>Since Eigen Decomposition can only be applied to square matrices, it is generally not applicable to decompose matrices between users and items.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Singular Value Decomposition factorizes the matrix into:</head><p>M ≈ U m×k Σ k×k V k×n T (6) Σ is a diagonal matrix, in which the larger k elements are taken as hidden features, and other dimensions in Σ as well as dimensions in U and V are deleted, the matrix decomposition of kdimensional hidden vectors is completed.</p><p>However, the premise of applying SVD requires that the original matrix must be dense. In general, the co-occurrence matrix in the Internet scene is very sparse. If this method is used, missing data must be filled, so this method is limited. In addition, the computational complexity of traditional decomposition is as high as O(mn 2 ), which is unacceptable.</p><p>To solve these problems, Simon Funk proposed an improved method of FunkSVD, [4] which decomposed the original matrix into three matrices into two low-rank matrices while reducing the complexity:</p><formula xml:id="formula_4">min q * ,p * ∑ (r ui − 𝑞 𝑖 𝑇 p u ) 2 (u,i)∈K<label>(7)</label></formula><p>In this way, the difference between the original score R and the product of user and item vectors can be minimized, and the original data of the co-occurrence matrix can be retained to the maximum extent, where K is the sample set of all user scores. In order to avoid the over-fitting phenomenon, the objective function of FunkSVD after adding the regularization term of L2 was proposed:</p><formula xml:id="formula_5">min q * ,p * ∑ (r ui − 𝑞 𝑖 𝑇 p u ) 2 (u,i)∈K + 𝜆(‖𝑞 𝑖 ‖ + ‖𝑝 𝑢 ‖) 2<label>(8)</label></formula><p>𝜆 is called the regularization coefficient, and the larger 𝜆 is, the stronger the regularization constraint. Regularization, that is, in order for the model to be more regular and stable, it needs to put some constraints on the model to avoid predicting unpredictable results. Generally, the objective function is solved by gradient descent method. We take partial derivatives of the objective functions with respect to 𝑞 𝑖 and 𝑝 𝑢 respectively, and get the results: 2(r ui − q i T p u )p u − 2 λq i (9) 2(r ui − q i T p u )q i − 2 λp u (10) According to the results, the parameters are reversely updated along the gradient: q i ← q i − γ ((r ui − q i T p u )p u − λq i ) <ref type="bibr" target="#b9">(11)</ref> p u ← p u − γ ((r ui − q i T p u )q i − λp u ) <ref type="bibr" target="#b10">(12)</ref> λ is the learning rate. At the same time, in order to eliminate the user and item scoring bias, deviation vectors of users and items are often added in matrix factorization: r ui = 𝜇 + 𝑏 𝑖 + 𝑏 𝑢 + q i T p u (13) 𝜇 is the global deviation constant. The resulting dot product, 𝑞 𝑖 𝑇 𝑝 𝑢 , captures the interaction between user u and item i-the user's overall interest in the item's characteristics. <ref type="bibr" target="#b2">[3]</ref> The objective function of matrix factorization will also become:</p><formula xml:id="formula_6">min q * ,p * ,𝑏 * ∑ (r ui − 𝜇 − 𝑏 𝑖 − 𝑏 𝑢 − 𝑝 𝑢 𝑇 𝑞 𝑖 ) 2 (u,i)∈K + 𝜆(‖𝑞 𝑖 ‖ + ‖𝑝 𝑢 ‖ + 𝑏 𝑢 2 + 𝑏 𝑖 2 )</formula><p>2 (14) FunkSVD takes matrix factorization to a new height and is widely used in daily life. For matrix factorization, it is simple to operate, easy to program, low spatial complexity, has good generalization ability, scalability and flexibility, is a good choice to deal with small recommendation system, large recommendation system will not have obvious advantages. At the same time, due to the inconvenience of adding user, item and other related features, matrix factorization loses the opportunity to use a lot of effective information; unable to make effective recommendations in the absence of user behavior.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Logistic Regression</head><p>To make up for the defect of matrix factorization, logistic regression model is developed, which can integrate a variety of different features and generate relatively comprehensive recommendation results.</p><p>Logistic regression is actually a classification model, mainly used to solve dichotomous problems, used to estimate the probability of something. Its essence is to use maximum likelihood estimation to estimate parameters after assuming data obey a certain distribution. As a generalized linear model, logistic regression can be said to be based on linear regression and introduce nonlinear factors through Sigmoid function, which can easily solve the problem of binary classification.</p><p>Logistic regression models transform the recommendation problem into a CTR estimation problem. The recommendation process is roughly as follows: Firstly, each feature is converted into a numerical feature vector to determine the optimization objective (taking the optimization of "click rate" as an example). By using the existing sample data to train the model, the internal parameters of the logistic regression model are determined. In the model service stage, feature vectors are input, and the probability of users "clicking" items is obtained through the judgment of the model. Finally, a list of recommendations is made by ranking all items using the probability of "clicks".</p><p>The emphasis is on model training and online inference using feature vectors of samples. First, about the sigmoid function(also called logistic function): Finally, let's analyze the advantages of logistic regression model. It is suitable to integrate different features in form to form a comprehensive recommendation result. Secondly, as a kind of generalized linear model, it has the support of numerical meaning. Moreover, it makes the model highly interpretable and can effectively reduce the communication cost. It is also the need of engineering: because it is easy to parallelize, simple model, low training cost and so on, this model occupies the mainstream of engineering field.</p><formula xml:id="formula_7">𝑓(𝑧) = 1 1 + 𝑒 −𝑧 = 1 1 + 𝑒 −(𝑤•𝑥+𝑏) (15)</formula><p>As a basic model, logistic regression is simple, intuitive and easy to operate, but its limitations are also very obvious. Its expression ability is not strong, unable to carry out a series of relatively advanced operations such as feature crossing and feature screening, inevitably resulting in the loss of information.</p><p>In order to solve these problems, recommendation systems continue to develop towards the direction of complexity, derived from the Field-aware Factorization Machine (FFM) and other high-dimensional complex models.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">pOLY2, fm, and ffm</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.">Poly 2</head><p>By using Poly2 for mapping can effectively capture the information of feature conjunctions. Also, Poly 2 is a feature Cross that use for the recommendation system. Here is the mathematical equation:</p><formula xml:id="formula_8">ØPoly2(𝑤, 𝑥) = ∑ 𝑛 𝑗 1 =1 ∑ 𝑤 ℎ (𝑗 1 , 𝑗 2 )𝑥 𝑗 1 𝑥 𝑗 2 𝑛 𝑗 2 =𝑗 1 +1 (20)</formula><p>Where 𝑤 ℎ is the weight, and 𝑥 𝑗 1 𝑥 𝑗 2 are features. However, Poly2 has some disadvantages. First, when people deal with data from the internet, they will use one-hot coding for the most time. However, one-hot coding would cause the feature vector to be very sparse. One-hot coding is a way to transfer a feature into a vector. For example, Wednesday may be represented by [0 0 1 0 0 0 0]. (The first place represents Monday, the second represent Tuesday...) Thus, if we have lots of features, most of the dimensions would be zero except for one dimension.</p><p>2, Using Poly2, the number of weights we have complexity of 𝑂(𝑛 2 ) because there are 𝑛 × 𝑘 variables. Since it will consider every possible pairs, makes Poly2 impractical when n is very large. Thus, FM could solve this problem and become more practical.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.">FM</head><p>To solve the problem of Poly2, FM was suggested in 2010 by Rendle. <ref type="bibr" target="#b3">[5]</ref> The formula is:</p><formula xml:id="formula_9">ØFM(𝑤, 𝑥) = ∑ 𝑛 𝑗 1 =1 ∑ (𝑤 𝑗 1 ⋅ 𝑤 𝑗 2 )𝑥 𝑗 1 𝑥 𝑗 2 𝑛 𝑗 2 =𝑗 1 +1 (21)</formula><p>FM studied a latent vector, 𝑘, for every feature, very similar to matrix decomposition. FM proposed a latent vector for each feature. There exists 𝑘 feature factors in each feature vector, where 𝑘 is a user specified parameter. FM reduced the complexity, which is 𝑛 2 in Poly2, to 𝑛𝑘 (𝑛 &gt;&gt; 𝑘), so it is more practical in solving sparse feature vectors.</p><p>FFM is an updated version of FM. Instead of using one latent vector, FFM uses a group of latent vectors for each feature. Also, FFM uses a concept, field-aware, to make improvements to this model.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3.">FFM</head><p>The idea of FFM originated from PITF, which is a recommendation system for personalized labels. Three variables were assumed in PITF.</p><p>In FFMs, each feature has several potential vectors. Depending on the other features, one of them is used to do the inner product, which is shown in the equation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>ØFFM(𝑤, 𝑥</head><formula xml:id="formula_10">) = ∑ 𝑛 𝑗 1 =1 ∑ (𝑤 𝑗 1 𝑓 2 ⋅ 𝑤 𝑗 2 𝑓 1 )𝑥 𝑗 1 𝑥 𝑗 2 𝑛 𝑗 2 =𝑗 1 +1 (22)</formula><p>𝑓 1 and 𝑓 2 are respectively the field the 𝑗 1 and 𝑗 2 . As shown in the equation, there are three variables: 𝑛𝑘𝑓. Usually, 𝑘 𝐹𝑀𝑀 ≪ 𝑘 𝐹𝑀 , and the complexity to compute is 𝑂(𝑛 2 𝑘).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.4.">Experiments</head><p>We choose FM as first algorithm to try out. The reason why we choose Factorization Machines (FM) is mainly because it serves as a approach that at the middle part of the whole recommendation system development. Before FM, there are methods such as Logistic Regression (LR) and Support Vector Machines (SVM). After FM, improved FM with field awareness which called Field-aware Factorization Machines (FFM), DeepFM which combines FM and deep learning algorithm and Gradient Boosting Decision Tree (GBDT) with LR bring recommendation quality to another level. As far as we concerned, FM can be a good start point for us to dive into recommendation system. The similarity between FM and embedding is another reason that leads us to here.</p><p>Since FM is designed and well known for its prediction on CTR (click-through rate).</p><p>Firstly, we try to find an dataset and ends up finding a dataset of anime <ref type="bibr" target="#b4">[6]</ref> which includes anime's attribute such as name, genre, episode, member, type and average rating and users' rating for anime. Here we use only anime's genre as feature and average rating as its FM's label in order to simulate the situation that CTR have, the situation which only item's features are given. Moreover, we convert the rating to binary value where values over 7.0 are set to 1 and less than 7.0 are set to 0. Secondly, we clean the data by one-hot encoding the genre field. Due to the fact that every anime can have more than one genre, we have to extract the genres name and mapping genre of every anime to 1 in the specific genre name field. After data munging is done, we divide data into training and testing set by KFold with shuffle. When it comes to training, we use an efficient package called xLearn that had already implemented FM.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 3:</head><p>Example for the real valued anime feature vector from the dataset. Every row represents a feature vector of a specific anime with its corresponding target y^n -here is been clicked or not. The first row (blue) represents a anime and its features (genres); the columns (orange) represent indicator variables for each genre. The rightmost column is the target -here the clicked.</p><p>Figure <ref type="figure">3</ref> shows feature vector pattern from dataset <ref type="bibr" target="#b4">[6]</ref> The result of training is not very satisfying. While we play around with the hyper parameter, the accuracy or any other valuations did not change a little. We realized that the features in this dataset are not enough and too simple for model to improve itself, thus the training usually face early-stop at early training epoch. Instead of apply FFM to this dataset, we searched for another dataset, which is from KKBox <ref type="bibr" target="#b5">[7]</ref>, to apply FFM and FM to. We user xLearn <ref type="bibr" target="#b6">[8]</ref> package which is focus on fast FM, FFM and LR training. During this time, we found that FFM is sensitive to epoch and number of features and k, which is the number of latent vectors. The result is impressive when k is equal to 4 with 70,000 features and 14 fields.</p><p>The whole training process can be divided to 2 independent phases data cleaning and train, first we clean up the data, convert features, fields data into int, thus serve as values of latent vector. Before training the data styles that FM model and FFM model receive are libsvm <ref type="bibr" target="#b7">[9,</ref><ref type="bibr" target="#b8">10]</ref> and libffm <ref type="bibr" target="#b9">[11]</ref>. After cleaning the data, we use xLearn to train and try out as much hyper parameters as we can to find out the best for our dataset.   </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Extension of Logistic Regression</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1.">GBDT+LR</head><p>FM and FFM increase their performance in model's accuracy by multiplying pairs of features with latent vectors. However, combination of multiple features in reality sometimes determines the output. FM and FFM fall short of this aspect because, once they take into account multiplication of triple combinations, space complexities increase to an intolerable extent. To solve this problem, Facebook in 2014 came up with a method of GBDT+LR to predict Click-Through Rate (CTR), that fits certain combinations of features into models at the same time of avoiding combinatorial explosion <ref type="bibr" target="#b10">[12]</ref>.</p><p>They briefly divided the procedure into 2 independent phases. In Phase I, training data are fed into the Gradient Boosting Descent Tree (GBDT). Here, the divide-and-conquer algorithm generates several trees and sets each tree to fit the loss between former trees and real outputs. However, after training the model of GBDT, the results of predictions are unimportant while the trees themselves play a significant role. Then, the training data are again fed into the trained trees and generate a feature by one-hot encoding based on which leaf they finally fall into. For example, if each tree has 64 leaves, when a piece of data is put into the tree model and falls into the 43rd position, it generates one-hot-encoding with 1 on 43rd position and 0s on every other one. This 64-dimensional feature, together with features generated from other trees, becomes the transformed feature of this piece of data. In Phase II, all transformed features of data are fed into a Logistic Regression algorithm, that finally trains the model and yields predictions.</p><p>This GBDT+LR works well because of its efficiency in combining features, which is mainly the benefit of using GBDT for transforming feature vectors. Each transformed feature represents not only one feature, but a set of determinant features that come from each node of a tree. It's because when building the trees in GBDT, they automatically select features that work well together. Thus, while putting these multiple features into Logistic Regression, they're treated linearly but indeed are meaningful for several features.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2.">LS-PLM</head><p>Large Scale Piece-wise Linear Model (LS-PLM), or Mixed Logistic Regression (MLR), is another effective model that Alibaba once used for its recommendation system. Though the model is still linear, it separates different clusters of training data and applies Logistic Regression to each cluster <ref type="bibr" target="#b11">[13]</ref>.</p><p>LS-PLM consists of two steps. In the first one, a function σ divides the feature space into m parts. Then, within each part, normal Logistic Regression η is applied to features to produce a prediction. The overall output is the sum of products of weights and predictions in each subspace.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>𝑝(𝑦</head><formula xml:id="formula_11">= 1|𝑥) = 𝑔 (∑ 𝜎(𝑢 𝑗 𝑇 𝑥)𝜂(𝑤 𝑗 𝑇 𝑥) 𝑚 𝑗=1 ) (23)</formula><p>LS-PLM is effective because when training data have obvious group divisions, normal Logistic Regression will treat them in the same way and lose useful information. MLR, on the other hand, fits training data in each group separately and uses different parameters to build the model. The hyperparameter m is arbitrary, where the optimal choice is based on experiments. Alibaba determined their optimal m to be 12, while in the dataset of this paper, the optimal m is approximately 10. Figure <ref type="figure" target="#fig_7">8</ref> shows the AUC curve of LS-PLM model on test samples with respect to the percentage of training samples. This graph presents that the performance of this model is approximately 0.73 (AUC) after sufficient training data are fed, which is slightly better than GBDT+LR. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3.">Kernel LR</head><p>Sometimes, the subspaces between different clusters of training data are hard to distinguish using LS-PLM. To solve this problem, a combination of Kernel Method and Logistic Regression can make boundaries easier to divide.</p><p>In LS-PLM, the space division function σ is usually linear. However, in the reality, the training data may not always have plane boundaries described in terms of linear variables. For example, a dataset of 2-dimention features may have a hyperbola as their boundary. And the equation for hyperbola is caught by normal methods of LS-PLM. Thus, kernel functions are introduced to solve this problem. Kernel functions usually raises the dimension from n (the number of features) to m. The additional dimensions are the function of original dimensions and allow the boundary to be written in linear combination of them. In the same example, one of the additional dimensions may be</p><formula xml:id="formula_12">𝑥 2 𝑎 2 − 𝑦 2</formula><p>𝑏 2 , so that the boundary between clusters of data is again a plane in higher dimensions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Challenges IN recommendation system</head><p>In the application process of recommendation system, user behavior is mostly observational, not experimental. This introduces a lot of bias, if these deviations are not considered, blind data fitting, will lead to a lot of serious problems. The Figure <ref type="figure" target="#fig_8">9</ref> shows the feedback mechanism of the recommendation system, which can be divided into the following processes. Information about the interaction between users and commodities is collected from users. The collected interaction is expressed as feedback matrix between users and commodities. Generally, there are two kinds of feedback: implicit (if there is interaction, it is 1; otherwise, it is 0) and explicit (users' score on commodities). Based on the collected data to learn the recommendation model, according to the historical data to predict the relative probability; Feedback the results of the recommendation to the user, this process will influence the user's behavior and decision.</p><p>One of the challenges that exist in the Recommendation system is bias. There are several factors about bias: First, User behavior is observational rather than experimental -user generates behaviors based on exposed items, so the observational data is confounded by the way the recommendation system exposes the data. Second, some items are more popular than others, which would cause the recommendation system to receive more feedback from popular items than others. As a result, those popular items would have a more significant impact on the modal training. Third, since the recommendation system has a feedback loop -it will intensify the bias, cause "the rich get richer."</p><p>Usually, users only rate items with the most interest -positive (like) or negative (dislike), and users tend to rate particularly good or bad items. Thus, cause selection bias. Selection bias exists when users decide which items they will rate by their willingness, missing randomness.</p><p>Conformity bias also comes with rating items. People tend to rate similarly to others in the same group, which will even come against their ideas and judgments. An item with a higher score will receive more high rating comments than it deserves, which will make the better one better, and the worse one worse. Thus, it will not show the true preference of people.</p><p>Position bias describes the tendency that users to note and interact with certain positions in the recommendation list with higher possibility, especially there are lots of items on the list. Moreover, users tend to trust more on first a few items on the list. Therefore, it fails to show the real preference of users.</p><p>Those are biases caused by users. However, there are also bias exists in the recommendation system itself.</p><p>Popularity bias causes popular products to be recommended even more often than they are. In most cases, a small fraction of the whole population of items accounts for the most interaction with users, which is the long-tail phenomenon.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.">Conclusions and future works</head><p>In this paper, we mainly compare the efficiency between 4 traditional methods used in recommender system. It displays that for certain kinds of data sets, FFMs outperform the GBDT+LR, LS-PLM and FM in terms of loss and accuracy.</p><p>For the future work, the performance of GBDT+LR in our experiments is worse than that of other models. The reason is probably that while using one-hot encoding on leave nodes (features set), which GBDT generate, the space complexities grow rapidly (fields expands to 10,000) and ends up cost too much time for LR to train. In addition, the huge sparsity caused by one-hot encoding might lead to low accuracy too. When it comes to FM and FFM, it only takes 2.5 minutes for FM and FFM to train 1.8M entries, each epoch takes 1.6 seconds in average. However, the performance of FFM is better than the other two methods (GBDT+LR and LS-PLM)</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="8.">Acknowledgement</head><p>Throughout the writing of this dissertation I have received a great deal of support and assistance. I would first like to thank my supervisor, Professor David Woodruff, whose expertise was invaluable in formulating the research questions and methodology. Your insightful feedback pushed me to sharpen my thinking and brought my work to a higher level.</p><p>I would like to acknowledge my teacher assistant Hudson Li from my Algorithm for Big Data course. I want to thank you for your patient support and for all of the opportunities and advice I was given to further my research.</p><p>I express gratitude to my dear partner Shuyi Wang, without his effort, this thesis cannot be accomplished. In the process of compilation, he made great contribution on data collecting and algorithm implementation. Besides, he completed the Chapter 4 by himself. This thesis is rather a common achievement than a private possession. Also, I would like to acknowledge my teammates also classmates Ziyang Liu and Linyan Li from Algorithm for Big Data course for their wonderful collaboration.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Algorithms of recommender system Figure 1 shows the traditional recommendation model consists of the following four components: CF, LR, FFM and the combined model (GBDT+LR).</figDesc><graphic coords="2,176.40,72.00,242.50,66.50" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 :Figure 2</head><label>22</label><figDesc>Figure 2: Example for the sigmoid valueFigure 2 shows the graph of the function. Then input feature vector X, and then assign corresponding weight w to each feature to represent the difference in importance. Sum up each feature by weight to get 𝑥 𝑇 𝑤. Input sigmoid function of 𝑥 𝑇 𝑤 to map it to the range of 0~1 to get the final "click rate". And Gradient descent is a common training method for logistic regression models. It is a first-order optimization algorithm, also known as the fastest descent method, whose purpose is to find the local minimum of a function. So we just take the derivative of the objective function to get the direction of the gradient, and then we go down in the opposite direction of the gradient, and we iterate until we find the local minimum. Input sample x, and the probability of positive sample and negative sample is: { P(y = 1|x; w) = f w (x) P(y = 0|x; w) = 1 − f w (x) (16) merge:P(y|x; w) = (f w (x)) y (1 − f w (x)) 1−y The objective function is obtained according to the maximum likelihood estimation principle: 𝐿(𝑤) = ∏ 𝑃(𝑦|𝑥; 𝑤) 𝑚</figDesc><graphic coords="5,229.05,277.65,137.20,96.09" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 4 :</head><label>4</label><figDesc>Figure 4: FM's and FFM's Accuracy of test data</figDesc><graphic coords="8,184.23,72.00,226.85,181.48" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 5 :</head><label>5</label><figDesc>Figure 5: FM's and FFM's AUC(Area Under the Curve) of test data Figure 4, 5 show that FFM has better ACC and AUC than FM and the accuracy grow faster than FM when training data ratio is around 1~20%.</figDesc><graphic coords="8,184.23,269.93,226.85,181.48" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 6 :</head><label>6</label><figDesc>Figure 6: FM's and FFM's AUC(Area Under the Curve) of test data Figure 6 shows that loss of FFM is smaller and decreases faster than FM.</figDesc><graphic coords="8,184.23,496.15,226.85,181.48" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head></head><label></label><figDesc>Figure 7 shows the AUC and F1 curve of GBDT+LR model on test samples with respect to the percentage of training samples. This graph indicates the performance of this model on the dataset stabilizes around 0.65 (F1) and 0.67 (AUC) after training enough data which avoid underfitting.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Figure 7 :</head><label>7</label><figDesc>Figure 7: GBDT+LR's AUC(Area Under the Curve) and F1 of different size test sample</figDesc><graphic coords="9,176.00,462.05,243.30,182.45" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>Figure 8 :</head><label>8</label><figDesc>Figure 8: LS-PLM's AUC(Area Under the Curve) of different size test sample</figDesc><graphic coords="10,203.90,256.63,186.89,140.15" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head>Figure 9 :</head><label>9</label><figDesc>Figure 9: Bias type caused by different processes</figDesc><graphic coords="11,176.65,72.00,241.60,161.10" type="bitmap" /></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Using collaborative filtering to weave an information tapestry</title>
		<author>
			<persName><forename type="first">D</forename><surname>Goldberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Nichols</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">M</forename><surname>Oki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Terry</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM</title>
		<imprint>
			<biblScope unit="volume">35</biblScope>
			<biblScope unit="issue">12</biblScope>
			<biblScope unit="page" from="61" to="70" />
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Item-based collaborative filtering recommendation algorithms</title>
		<author>
			<persName><forename type="first">B</forename><surname>Sarwar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Karypis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Konstan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Riedl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 10th international conference on World Wide Web</title>
				<meeting>the 10th international conference on World Wide Web</meeting>
		<imprint>
			<date type="published" when="2001-04">2001. April</date>
			<biblScope unit="page" from="285" to="295" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Matrix factorization techniques for recommender systems</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Koren</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Bell</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Volinsky</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer</title>
		<imprint>
			<biblScope unit="volume">42</biblScope>
			<biblScope unit="issue">8</biblScope>
			<biblScope unit="page" from="30" to="37" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Factorization machines</title>
		<author>
			<persName><forename type="first">S</forename><surname>Rendle</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International conference on data mining</title>
				<imprint>
			<date type="published" when="2010-12">2010. December. 2010</date>
			<biblScope unit="page" from="995" to="1000" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Anime recommendations database</title>
		<author>
			<persName><surname>Cooperunion</surname></persName>
		</author>
		<ptr target="https://www.kaggle.com/CooperUnion/anime-recommendations-database" />
		<imprint>
			<date type="published" when="2016-12-21">2016. December 21. December 7, 2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">WSDM -KKBOX&apos;s Music Recommendation Challenge</title>
		<author>
			<persName><surname>Kkbox</surname></persName>
		</author>
		<ptr target="https://www.kaggle.com/c/kkbox-music-recommendation-challenge/data" />
	</analytic>
	<monogr>
		<title level="j">Kaggle</title>
		<imprint>
			<date type="published" when="2021-12-07">December 7, 2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">Aksnzhy/xlearn: High performance, easy-to-use, and Scalable Machine Learning (ML) package, including linear model (LR), factorization machines (FM), and field-aware factorization machines (FFM) for Python and CLI interface</title>
		<author>
			<persName><surname>Aksnzhy</surname></persName>
		</author>
		<ptr target="https://github.com/aksnzhy/xlearn" />
		<imprint>
			<date type="published" when="2021-12-07">December 7, 2021</date>
		</imprint>
	</monogr>
	<note type="report_type">GitHub</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">LIBSVM: a library for support vector machines</title>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">C</forename><surname>Chang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">J</forename><surname>Lin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM transactions on intelligent systems and technology (TIST)</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="1" to="27" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Factorization machines</title>
		<author>
			<persName><forename type="first">S</forename><surname>Rendle</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International conference on data mining</title>
				<imprint>
			<date type="published" when="2010-12">2010. December. 2010</date>
			<biblScope unit="page" from="995" to="1000" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Field-aware factorization machines for CTR prediction</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Juan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhuang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">S</forename><surname>Chin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">J</forename><surname>Lin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 10th ACM conference on recommender systems</title>
				<meeting>the 10th ACM conference on recommender systems</meeting>
		<imprint>
			<date type="published" when="2016-09">2016. September</date>
			<biblScope unit="page" from="43" to="50" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Practical lessons from predicting clicks on ads at facebook</title>
		<author>
			<persName><forename type="first">X</forename><surname>He</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Pan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Jin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Xu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Xu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">.</forename><forename type="middle">.</forename><surname>Candela</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">Q</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Eighth International Workshop on Data Mining for Online Advertising</title>
				<meeting>the Eighth International Workshop on Data Mining for Online Advertising</meeting>
		<imprint>
			<date type="published" when="2014-08">2014. August</date>
			<biblScope unit="page" from="1" to="9" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Learning piece-wise linear models from large scale data for ad click prediction</title>
		<author>
			<persName><forename type="first">K</forename><surname>Gai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Zhu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Li</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Wang</surname></persName>
		</author>
		<idno type="arXiv">arXiv:1704.05194</idno>
		<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
	<note type="report_type">arXiv preprint</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
