Information Technology Reference
In-Depth Information
is evaluated using the MLP evaluator described in Sect. 4.2.3.3 . To produce each gen-
eration, a number of new recipes are generated equal to the number of recipes in the
population. For each new recipe, two recipes are selected, with probability propor-
tional to their fitness, for genetic crossover. The crossover is performed by randomly
selecting a pivot index in the ingredient list of each recipe, thus dividing each recipe
into two sub-lists of ingredients. A new recipe is then created by combining the first
sub-list of the first recipe with the second sub-list of the second recipe.
After crossover, each recipe is subject to some probability of mutation. If a muta-
tion occurs, the type of mutation is selected uniformly from the following choices:
Change of ingredient amount. An ingredient is selected uniformly at random from
the recipe and its quantity is set to a new value drawn from a normal distribution that
is parameterized by the mean and standard deviation of that ingredient's amount
as determined from the inspiring set.
Change of one ingredient to another. An ingredient is selected uniformly at random
from the recipe and is changed to another ingredient from the same super-group,
chosen uniformly at random. The amount of the ingredient does not change.
Addition of ingredient. An ingredient is selected uniformly at random from the
database and inserted into a random location (chosen uniformly) in the recipe's
ingredient list. The amount of the new ingredient is determined by a draw from
a normal distribution parameterized by the mean and standard deviation of the
ingredient amount as determined from the inspiring set.
Deletion of ingredient. An ingredient is selected uniformly at random and removed
from the recipe.
At the completion of each iteration, evolved recipes are re-normalized to 100
ounces for equal comparison to other recipes. The next generation is then selected
by taking the top 50 % (highest fitness) of the previous generation and the top 50 %
of the newly generated recipes. The rest of the recipes are discarded, keeping the
population size constant.
4.2.3.3 Evaluation
To assess the quality of recipes, PIERRE uses an interpolation of two multilayer
perceptrons (MLPs). Taking advantage of the (online) public user ratings of the
recipes in the inspiring set, these MLPs perform a regression of the user rating
using ingredient amounts as inputs. The two MLPs are trained at different levels of
abstraction within our ingredient hierarchy, with one operating at the super-group
level and the other at the sub-group level. Thus, the model at the higher level of
abstraction attempts to learn the proper relationship of major groups (meats, liquid,
spices, etc.), and the other model works to model the correct amounts of divisions
within those groups.
Because we assume any recipe from the online websites is of relatively good
quality, regardless of its user rating, we supplemented the training set with randomly
constructed recipes given a rating of 0. These negative examples enabled the learner
Search WWH ::




Custom Search