<?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">Preference learning by matrix factorization on island models</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Štěpán</forename><surname>Balcar</surname></persName>
							<email>stepan.balcar@mff.cuni.cz</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Mathematics and Physics</orgName>
								<orgName type="institution" key="instit1">Charles University</orgName>
								<orgName type="institution" key="instit2">Czech Republic</orgName>
								<address>
									<settlement>Prague</settlement>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Preference learning by matrix factorization on island models</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">B2C360F248BBEDBFDC8878590A6F394C</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T09:12+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>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This paper presents island models, methods, implementation and experiments connecting stochastic optimization methods and recommendation task (collaborative one). Our models and methods are based on matrix factorization. Parallel run of methods optimizes the RMSE metric from an island model point-of-view.</p><p>This paper comments on architecture and some implementation decisions.</p><p>We dealt with two research hypotheses. First, whether island models bring always improvement. We will show that almost always yes. Second, whether evolutionary algorithm does or does not always find the best solution. This will be confirmed only on smaller data. Experiments were provided on Movie Lens 100k and 1M data.</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>This paper studies recommender systems, especially learning user/customer preferences. Main idea of this paper is to connect this study to evolutionary island models. Here, island models are a computational tool for matrix factorization.</p><p>Instances of one stochastic optimization method run in parallel on island models, searching the same state space. Such a method traverses the state space of solutions. The actual state they visit is influenced by (mutually independent) stochasticity. Hence, different instances can visit different parts of the state space. Island model parallelization is based on cooperation of methods during the computation.</p><p>This resembles ensemble and/or hybrid learning, where different optimization methods are:</p><p>• run in parallel</p><p>• allowed to run in different state spaces</p><p>The solution (usually one of them) is chosen at the end by an additional aggregation/decision method.</p><p>Using evolutionary computing for recommendation is surveyed in the paper of Horvath <ref type="bibr" target="#b0">[1]</ref>. This survey shows that usage of evolutionary methods is quite frequent in recommendation systems (see also <ref type="bibr" target="#b1">[2]</ref>). One of approaches is model based. Our approach uses matrix factorization and hence the model is constituted by factors. In <ref type="bibr" target="#b0">[1]</ref> they mention only one paper <ref type="bibr" target="#b2">[3]</ref> where evolution individuals are matrix factors. Authors of the article <ref type="bibr" target="#b2">[3]</ref> provide results on ML100k data on minimizing squared error depending on size of population and probability of mutation (other parameters are fixed).</p><p>In this paper, parameters of our methods were chosen after experiments on sample data. We will try to improve RMSE using parallelization. We will provide results on both ML100k and ML1M data.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Main contribution of this paper is:</head><p>• Multiple island model brings statistically significant improvement of recommendation in comparison to single instance optimization.</p><p>• Our implementation is able to handle individuals (matrix factors). Size of our individuals is several orders bigger than usual in evolutionary computation.</p><p>This paper is organized as follows: Chapter 2 "Related work" concerns recommender systems and matrix factorization; evolutionary algorithms and island model. Chapter 3 "Methods, models and parameters" sketches our view of stochastic optimization methods; parameters and settings of island model used in tests. Next section "Data" describes realization of experiments and design of tests and computing resources. Finally section 4 "Results" gives both numeric and graphic presentation of our results and discusses confirmation of our hypotheses. After conclusions paper ends with Future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Related work</head><p>This section gives basic notation for recommender systems, evolutionary computation used and overviews some relevant literature.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Recommender systems and matrix factorization</head><p>It was the Netflix price (announced in October 2006) which excited public and changed the landscape of recommender systems area research.</p><p>The BellKor squad included Chris Volinsky and his AT&amp;T colleagues Robert Bell and Yehuda Koren, along with four other engineers from the United States, Austria, Canada and Israel (BellKor's Pragmatic Chaos) on June 26, 2009, finally crossed the 10% finish line. Main ingredient of winning solution has been matrix factorization (MF), see e.g. <ref type="bibr" target="#b3">[4]</ref>.</p><p>We focus on latent model based recommendationwhich is a part of collaborative filtering technique (Co), asked for in Netflix Price competition. Co was introduced by <ref type="bibr" target="#b3">[4]</ref>.</p><p>Let us denote U set of user ids and I the set of item ids. Input data can be viewed as partial function r : U ×I −→ P, here P is the preference scale (e.g. one to five stars or real numbers). Alternative representation is in the form of algebraic matrix R ∈ P |U |×|I | with dimensions representing users and items respectively. Rating of user i ∈ U of an item j ∈ I is content of corresponding cell of matrix r i j ∈ P. Usually this matrix is very sparse, so in practice input data are represented in a form of a database table R with schema R(uid = user id, iid = item id, rating). Although implementation uses database table formal model of <ref type="bibr" target="#b3">[4]</ref> description is easier in the language of matrices. The matrix R is factorized to lower dimensional representation</p><formula xml:id="formula_0">R ≈ U × I = R<label>(1)</label></formula><p>where </p><formula xml:id="formula_1">e 2 i j = (r i j − r i j ) 2 = r i j − d ∑ k=1 u ik i jk<label>(2)</label></formula><p>here r i j will serve as approximation of value r i j .</p><p>Our main optimization method is SGD -stochastic gradient descent method. For other approaches and dimensions of research in recommender systems we reffer to <ref type="bibr" target="#b4">[5]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Evolutionary algorithms</head><p>Evolutionary algorithms became popular after 1970, thanks to John Holland <ref type="bibr" target="#b5">[6]</ref> as a means for solving optimization problems. The solution is represented as an individual, the set of individuals forms the population. Evolutionary algorithm is formed by phases: initialization, selection (parent selection for next generation offspring), crossover, mutation and evaluation of the whole population. The stochastic computing of individuals seeks convergence to the global optimum.</p><p>The contribution of evolutionary algorithms in the area of recommender systems was reviewed by Horvath de Carvalho in <ref type="bibr" target="#b0">[1]</ref>. This review analyzed more than 65 research papers using EC techniques for user recommendations. It analyzed different approaches according to five aspects: (i) recommendation technique used, (ii) datasets employed in the experiments and (iii) evaluation methods used in the experiments, (iv) baselines used to compare with the proposed methods and (v) reproducibility of the research.</p><p>Most of nature-inspired algorithms reviewed in <ref type="bibr" target="#b0">[1]</ref> find application in solving partial problems such as feature weighting extraction, model based approach, clustering and function learning.</p><p>Computing latent factor models by using of evolutionary algorithms has emerged as a possible approach <ref type="bibr" target="#b2">[3]</ref>. Available publications do not mention the parallelization of evolutionary algorithms in combination with the computation of latent factors.</p><p>Motivated by this, in our paper individuals are represented by concatenation of U and I (like a worm d-thick</p><formula xml:id="formula_2">and |U | + |I | long)    u 11 . . . u 1|U | i 11 . . . i 1|I | . . . . . . . . . . . . . . . . . . x d1 . . . u d|U | i d1 . . . x d|I |   </formula><p>Figure <ref type="figure">1</ref>: Individual represented by latent vector of users and latent vector of items</p><p>In our experiments we use the RMSE as the fitness function</p><formula xml:id="formula_3">∑ |U | i=1 ∑ |I | j=1 e 2 i j |U | * |I |<label>(3)</label></formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Island model</head><p>Island models are one of approaches how parallelize optimization algorithms. Their characterization is that there is no central master and populations are distributed. Island model consists of parallel algorithms enriched by sending and accepting migrants. Migrants are individuals from other islands population. The hope is that this propagation of genetic material can speed up convergence and escape from local optima trap. Parameters of island model are frequency of sendingreceiving migrants and the way how the migrant is chosen from local population (remember that parameters of methods are fixed and are chosen after experiments on a sample data). Optimal choice of these parameters depends on the type of optimization method and is subject of study. These aspects of island models are studied in <ref type="bibr" target="#b6">[7]</ref>.</p><p>Specific type of island models, heterogeneous, were used in the application of multi-criteria optimization by Martin Pilát and Roman Neruda <ref type="bibr" target="#b7">[8]</ref>. They designed a new algorithm of MOGASOLS (Multiobjective Genetic Algorithm with Single Objective Local Search) combining multi-criteria genetic algorithm (MOGA) with a singlecriteria genetic algorithm (SOGA). It is proved that parallelization of time-consuming method MOGA achieves worse results than parallel running MOGA and SOGA methods. They were tested in NSGA-II <ref type="bibr" target="#b8">[9]</ref> and IBEA <ref type="bibr" target="#b9">[10]</ref> algorithms. This was further developed in <ref type="bibr" target="#b10">[11]</ref>.</p><p>The first who come up with heterogeneous island models (HeIM), the way we understand them, was Martin Pilat ( <ref type="bibr" target="#b10">[11]</ref>). In these models, the islands may carry diverse computational methods, differing not only in parameters but also in the structure of the whole stochastic algorithm <ref type="bibr" target="#b10">[11]</ref>. For the choice of optimal methods for the given problem is responsible the central planner, which replaces unsuccessful method by more successful methods during the whole computation. In publication <ref type="bibr" target="#b10">[11]</ref> the original Balcar's tool <ref type="bibr" target="#b11">[12]</ref> was used.</p><p>In this paper this tool is used with homogeneous islands to find optimal user and item latent factor.</p><p>Then different optimization techniques are used to converge with factor to optimal one. For illustration we give formulas for stochastic gradient descent. Recall e<ref type="foot" target="#foot_1">2</ref> i j , then next generation values of user and item factors equal to</p><formula xml:id="formula_4">úik = u ik + α ∂ ∂ u ik e 2 i j í k j = i k j + α ∂ ∂ i k j e 2 i j<label>(4)</label></formula><p>Note, that in our implementation we do not consider normalization factor, this is left for future. Nevertheless, some normalization effect is obtained by migration and synergy of islands. α is not fixed, just bounded from above. More on our system is in <ref type="bibr" target="#b11">[12]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Methods, models and parameters</head><p>Island models where originally developed for parallelization of evolutionary algorithms. In this paper we will use also other stochastic optimization methods.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Stochastic optimization methods</head><p>Evolutionary algorithms try to balance trade off between exploration and exploitation. This property should help evolutionary algorithm to escape from local extremes and simultaneously converge to optimal solution. For this ability they pay a higher time complexity because of parallel development of bigger population. Because of this fact, on some types of problems, the winners are other stochastic optimization methods. An example is TSP solution by hill climbing with 2-opt ( <ref type="bibr" target="#b12">[13]</ref>). So, this is the main reason we consider several additional stochastic optimization methods (see Table <ref type="table" target="#tab_1">1</ref>).</p><p>All these methods use the stochastic gradient descent. A general link to description of stochastic optimization methods is <ref type="bibr" target="#b13">[14]</ref>.</p><p>Our implementation of stochastic optimization methods was changed in two ways. First, we had to create operators to enable them to work with latent factor based individuals. Second, methods were modified for parallel run in island models with migration. They were enriched with ability to cooperate. They receive individuals and enrich their local population. Please notice, that only evolution and differential evolution have bigger population. Remaining methods have only one individual population. In this case enrichment means replacement. They provide their solution from local population to neighboring islands. Methods manipulate incoming individuals in concordance with basic algorithm idea. E.g. the tabu search method inserts a newcomer to the tabu set.</p><p>Individual equals solution. Solution is represented by pair of latent factors of users and items (Figure <ref type="figure">1</ref>). Multiplying of these latent factor we get a matrix which represents our estimation of ratings. Length of first vector is the number of users and the length of second vector equals number of items. Size of the individual depends on size of input problem. Width of latent vector is an optional parameter.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Parameters and settings of island model used in tests</head><p>Now we describe island model -the environment in which the above methods will be parallelized. It is the environment which ensures dissemination of genetic material.</p><p>The main tool for this is the migration. This migration does not mean only exchange of best solutions. We would like to spread across the system (between islands) genetic material which has the potential to contribute to further improvement of population quality and to speed-up the convergence. Migration is inspired by processes in nature ( <ref type="bibr" target="#b14">[15]</ref>, <ref type="bibr" target="#b15">[16]</ref>). Most of island models exchange migrants in a synchronized way. In our system exchange of migrants is not synchronized -so in fact our islands are more general. Key parameter of island models , as nature shows ( <ref type="bibr" target="#b16">[17]</ref>), is the frequency of migration and size of local populations. The bigger the frequency of migration the bigger is the chance that islands will help each other. On other side each hardware and software is limited by data through put.</p><p>Matrix factorization needs migration of much bigger individuals than e.g. continuous optimization, where individual is a point in an n-dimensional space. In this paper we had to change architecture of model used in <ref type="bibr" target="#b10">[11]</ref>. In <ref type="bibr" target="#b10">[11]</ref> input problems were TSP (traveling salesman problem of size cca. 1000 cities), BP (bin packing, one dimensional with 1000 items), CO (continuous optimization, 10dimensional function) and vertex cover (1000 vertexes). Solution of preference learning by matrix factorization on island models is represented of much bigger individuals, rough estimation of our state space is &gt; #TSP 20 . Evolutionary algorithms use incoming individuals in groups and after a while. Hence, it is advantageous to store them in a front. As far as individuals are big and memory is limited we had to limit the size of fronts (see Table <ref type="table" target="#tab_2">2</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">Data</head><p>We used data from the movie recommendation domain in the experiments. The effectiveness of parallelization has been verified on datasets ml-100k<ref type="foot" target="#foot_0">1</ref> and ml-1m 2 . Datasets are formed by movie evaluation (1-5 stars), for trials we use the trinity (user, movie, rating).</p><p>The training set consists of four-fifths from the dataset, the rest is the test set. Counting derivatives for SGD lever- </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4">Realization of the experiment</head><p>Our main idea is to increase stochasticity of searching the state space (which is enormous for movie data). First level of stochasticity is enabled by stochastic optimization method. Second level is enabled by several independent islands. The third level is attained by migration. Our system enables all of these. Moreover, all of these run in parallel with mutually assisting methods (not competitive).</p><p>In order to be able to obtain the best solution from such a computation resource, the computation must be continuously monitored (Figure <ref type="figure" target="#fig_0">2</ref>). Solutions represent individuals that are unpredictably moving across the island model. We can never know when and where the best solution will appear (sometimes the best solution does not appear at the end, see Figure <ref type="figure">3</ref>).</p><p>Our implementation uses agent middle-ware Jade 3 for achievement of higher adaptivity of methods (in our three levels of stochasticity).</p><p>Here we were facing main decision. Whether to prefer higher adaptivity (based e.g. on Jade) or better use of effectiveness of specific hardware (based e.g. on C). From pure experimental curiosity we went along the agent based middle-ware framework direction.</p><p>The central brain of the multi-agent based system is a manager of migration which directs the computation and measures genetic material during evolution.  The use of this system is the implementation of methods as an agent, who can develop methods as adaptive computing resources. The infrastructure of the system is made up of two central points, by Agent-manager that manages computation and by Agent-monitor, that monitors genetic material in the system.</p><p>Software allows multiple ways of monitoring. The monitor statistically processes the quality of the individuals. Another way of observing what happens in the system is to produce the pedigrees of an individual. The basic idea is to enrich every individual of the pedigree that contains information on the involvement of concrete islands in its creation.</p><p>For our experiments, were used statistics that are computed from each monitored individuals in one iteration of planner. We will present the results as a measure of the system, which is monitoring follow-planner-iterations.</p><p>Our evolutionary methods (Table <ref type="table" target="#tab_1">1</ref>) use uniform crossover. In phase of mutation they apply stochastic gradient descent on a randomly chosen rating.</p><p>Differential evolution combines 3 latent vectors (individuals which are models/solutions) LV 1 which is a concatenation of U 1 and I 1 , similarly LV 2 and LV 3 . Result of the differential operator is latent vector</p><formula xml:id="formula_5">LV new = LV 1 + F * (LV 2 − LV 3 )</formula><p>here F is 0.25.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.5">Test design and computing resources</head><p>Two pairs of tests were created, comparing single methods and island models, differing in the size of the input Movieland dataset. The width of the latent vector was set to 10 (best after initial experiments on smaller samples).</p><p>The tests run on all initial parameter settings (Table <ref type="table" target="#tab_4">3</ref>) 9 times. As far as our computations are nondeterministic this makes difference (see Figures <ref type="figure" target="#fig_3">4 and 5</ref>). These are computationally demanding calculations. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Parameter value</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Results</head><p>Our experiments validated two hypotheses. First is that evolution does not necessary give best solution and second that island models improve results. We will present results for two datasets separately. will show the best solution of 9 runs and average of all runs (for distribution see Figures <ref type="figure" target="#fig_3">4 and 5</ref>). On the smaller data set the winner is always Evolution and Islands give always better solution.</p><p>On the bigger dataset the single island winner is simulated annealing (in both minimum and average). In Islands the winner is hill climbing (in both minimum and average). On bigger data we can not always observe advantage brought by parallelization by islands and migration. This can be observed especially by simulated annealing. One possible explanation is that hill climbing does not risk that much going in wrong direction as simulated annealing is doing (sometimes). Bigger data bring bigger state space and hence risk is necessary, but 50 iterations of the planner is probably not enough. In future research we will run island models with more iterations.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusions</head><p>We proved that island models are a good computing tool for recommender systems. Our experiments have shown following. Island models brought clear improvement on smaller data set. On bigger data, it is also true except of simulated annealing. Moreover on bigger data evolution does not find best solution.</p><p>Our implementation is publicly available on Github 4 and hence enables repeatability of our experiments (see <ref type="bibr" target="#b0">[1]</ref>, requirement (v)). </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Future work</head><p>In our future work we plan to extend this to heterogeneous island models. We also plan to develop new planners which will be specifically designed for recommendation domain. We would like to consider also islands with statistical learning methods. Challenge is extension to content based recommendation.   </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Methods</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Single</head></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: Architecture of system</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 3 :Figure 4 :</head><label>34</label><figDesc>Figure 3: Methods ML1m investigation of median run</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>S</head><label></label><figDesc>in g le -H il lC li m b in g Is la n d -H il lC li m b in g S in g le -S im u la te d A n n e a li n g Is la n d -S im u la te d A n n e a li n g S in g le -T a b u S e a rc h Is la n d -T a b u S e a rc h</figDesc></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: Methods ML1m boxplot of results</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>U ∈ P |U |×d , I ∈ P |I |×d are user and item latent factors matrices and × is a matrix product. d is much smaller than |U | and |I |. Approximation of R by R is measured by</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 1 :</head><label>1</label><figDesc>Methods and parameters</figDesc><table><row><cell>Algorithms HillClimbing RandomSearch generation of latent vectors Tool SGD random rating from each line numberOfNeighbors=10 Parameters Evolution uniform crossover + SGD popSize=10, mutationRate=0.9, crossRate=0.1, parentSelector=CompareTwoRandomSelectors BruteForce SGD according to the I-th rating TabuSearch SGD random rating from each line tabuModelSize=50 Sim.Annealing SGD random rating from each line temperature=10000, coolingRate=0.002 Diff.Evolution differential crossover popSize=50, F=0.25</cell></row><row><cell>Parameter Number of iterations 50, period = 60 seconds value Number of islands 4 (AMD Opteron 6376) Neighbors of method 3 (distributed to everyone) Migration frequency 5 seconds</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 2 :</head><label>2</label><figDesc>Parameters of the island model ages the training set. The test set is used to evaluate individuals.</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_4"><head>Table 3 :</head><label>3</label><figDesc>Parameters of the test</figDesc><table><row><cell>Number of runs Computing nodes Latent factor width 10 9 AMD Opteron 6376, 64GB memory Datasets ml-100k, ml-1m</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_5"><head>Table 4 :</head><label>4</label><figDesc>-min Islands-min Single-average Islands-average Comparison of single methods and island models: Dataset -MFML100k, Runs -9</figDesc><table><row><cell cols="2">BruteForce DifferentialEvolution 1.50105714 1.49096267 0.98787115 0.94367838 Evolution 0.88196787 0.87695296 HillClimbing 0.98047412 0.97400051 RandomSearch 1.60448414 1.58333447 SimulatedAnnealing 1.06110779 1.03108626 TabuSearch 0.98048607 0.97681064</cell><cell>0.99088728 1.51771324 0.88705747 0.98207866 1.61703977 1.07797515 0.98217126</cell><cell>0.94571058 1.49957429 0.87952888 0.97824895 1.60802325 1.03806128 0.97963446</cell></row><row><cell>Methods</cell><cell cols="3">Single-min Islands-min Single-average Islands-average</cell></row><row><cell cols="2">BruteForce DifferentialEvolution 1.55227103 1.55057106 1.22268511 1.18410586 Evolution 1.10254503 1.07069968 HillClimbing 0.96832015 0.96727131 RandomSearch 1.65483811 1.66265835 SimulatedAnnealing 0.96655732 0.97118289 TabuSearch 0.96873215 0.96735123</cell><cell>1.23279212 1.55780106 1.13526207 0.97065502 1.66738744 0.97048761 0.97106628</cell><cell>1.2033589 1.55422412 1.09140823 0.96840234 1.6660426 0.9729405 0.96854622</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_6"><head>Table 5 :</head><label>5</label><figDesc>Comparison of single methods and island models: Dataset -MFML1m, Runs -9 (in red there are violations of island improvement)</figDesc><table /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">http://grouplens.org/datasets/movielens/100k/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">https://grouplens.org/datasets/movielens/1m/</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgements. This work was supported by a Ph.D grant SVV2018-260451 under supervision of Peter Vojtas.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Evolutionary computing in recommender systems: a review of recent research</title>
		<author>
			<persName><forename type="first">Tomáš</forename><surname>Horváth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">P L F</forename><surname>André</surname></persName>
		</author>
		<author>
			<persName><surname>De Carvalho</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Natural Computing</title>
		<imprint>
			<biblScope unit="volume">16</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="441" to="462" />
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Using genetic algorithm to enhance nonnegative matrix factorization initialization</title>
		<author>
			<persName><forename type="first">M</forename><surname>Rezaei</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Boostani</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">6th Iranian Conference on Machine Vision and Image Processing</title>
				<imprint>
			<date type="published" when="2010-10">2010. Oct 2010</date>
			<biblScope unit="page" from="1" to="5" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Evolutionary based matrix factorization method for collaborative filtering systems</title>
		<author>
			<persName><forename type="first">Dariush</forename><surname>Zandi Navgaran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Parham</forename><surname>Moradi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Fardin</forename><surname>Akhlaghian</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">21st ICEE</title>
				<imprint>
			<date type="published" when="2013">2013. 2013</date>
			<biblScope unit="page" from="1" to="5" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Matrix factorization techniques for recommender systems</title>
		<author>
			<persName><surname>Koren</surname></persName>
		</author>
		<author>
			<persName><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="b4">
	<analytic>
		<title level="a" type="main">Using implicit preference relations to improve recommender systems</title>
		<author>
			<persName><forename type="first">L</forename><surname>Peska</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Vojtas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal on Data Semantics</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="15" to="30" />
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">Adaptation in Natural and Artificial Systems</title>
		<author>
			<persName><forename type="first">John</forename><forename type="middle">H</forename><surname>Holland</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1992">1992</date>
			<publisher>MIT Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">The island model genetic algorithm: On separability, population size and convergence</title>
		<author>
			<persName><forename type="first">Darrell</forename><surname>Whitley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Soraya</forename><surname>Rana</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Robert</forename><forename type="middle">B</forename><surname>Heckendorn</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J.Comp.Inf.Tech</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page" from="33" to="47" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Combining multiobjective and single-objective genetic algorithms in heterogeneous island model</title>
		<author>
			<persName><forename type="first">Martin</forename><surname>Pilát</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Roman</forename><surname>Neruda</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CEC 2010</title>
				<imprint>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="1" to="8" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">A fast and elitist multiobjective genetic algorithm: Nsga-ii</title>
		<author>
			<persName><forename type="first">K</forename><surname>Deb</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Pratap</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Agarwal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Meyarivan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Trans. Evol. Comp</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="182" to="197" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Spea2: Improving the strength pareto evolutionary algorithm</title>
		<author>
			<persName><forename type="first">Eckart</forename><surname>Zitzler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Marco</forename><surname>Laumanns</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lothar</forename><surname>Thiele</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
		<respStmt>
			<orgName>ETH Zurich</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Heterogeneous island model with replanning of methods</title>
		<author>
			<persName><forename type="first">S</forename><surname>Balcar</surname></persName>
		</author>
		<author>
			<persName><surname>Pilat</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">GECCO&apos;18</title>
				<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
	<note>accepted as poster</note>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<author>
			<persName><forename type="first">Stepan</forename><surname>Balcar</surname></persName>
		</author>
		<title level="m">Heterogeneous island model with replanning of methods</title>
				<imprint>
			<publisher>Martin Pilát supervisor</publisher>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
	<note type="report_type">Master thesis</note>
	<note>in czech</note>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">A method for solving traveling salesman problems</title>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">A</forename><surname>Croes</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Operations Research</title>
		<imprint>
			<biblScope unit="page" from="791" to="812" />
			<date type="published" when="1958">1958</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">Optimization: Algorithms and Applications</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">K</forename><surname>Arora</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2015">2015</date>
			<publisher>CRC Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Estimating effective population size and migration rates from genetic samples over space and time</title>
		<author>
			<persName><forename type="first">Jinliang</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><forename type="middle">C</forename><surname>Whitlock</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Genetics</title>
		<imprint>
			<biblScope unit="volume">163</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="429" to="446" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Population structure and cryptic relatedness in genetic association studies</title>
		<author>
			<persName><forename type="first">William</forename><surname>Astle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">David</forename><forename type="middle">J</forename><surname>Balding</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Statist. Sci</title>
		<imprint>
			<biblScope unit="volume">24</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="451" to="471" />
			<date type="published" when="2009">11 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">The coalescent in an island model of population subdivision with variation among demes</title>
		<author>
			<persName><forename type="first">John</forename><surname>Wakeley</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theoretical Population Biology</title>
		<imprint>
			<biblScope unit="volume">59</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="133" to="144" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

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