LGPL License, is well documented, has a well-
defined interface for the development of the ANN,
supplies several implemented classes which ease the
training and execution of the Neural Network and,
besides, is approved by the academic community
(Malcangi and Frontini, 2009) (Zhu et al., 2006).
There are several ANN architectures. However,
we opted for using a multilayer architecture. Some
works like (Melo et al., 2009) report the gain in the
performance of the ANN from a more refined choice
of its architecture. For the present work, we chose a
three-layer MLP. The first layer was composed by
three neurons, the internal layer by four neurons and
the output layer with just one neuron to represent the
output value of the network.
We opted for the supervised learning of the
ANN, which needed a training set capable of
representing both the information given as input to
the neural network and the information expected at
the output. Another necessary aspect was a dataset to
test and validate the trained ANN.
According to (Feitosa et al., 2010), TAC supplies
a complete software infrastructure for the
development, execution and analysis of the
performance of agents. This way, we used the TAC
server, some agents made available in the TAC
website, and the methodology, also described in the
same work, to generate the data that will form the
training dataset.
After analyzing the problem, it was possible to
distinguish the most important information to
compose the attributes of the training database of the
ANN. This way, we selected the buy price of the
good; the game time elapsed; the transaction value,
more formally described by the following tuple
=<
,
,,
>.
Where,
= sell price of an item at auction in the
time interval t;
= buy price of an item at auction
in the time interval t; t = elapsed game time;
=
transaction price at a given moment t.
After the execution of 70 games and the
preprocessing of data, it was generated a set with the
total of 1450 examples in the format of 4-tuples. No
separation concerning the types of ticket was made,
that is, new lines were added to a text file to form
the training set. After selecting the attributes and
generating data to form the training set, another
important step in the mining of this data is the
preprocessing. If significant amounts of data
containing noises, faulty, inconsistent or non-
normalized are presented, the ANN will possibly
have a unsatisfactory performance. So, the data
preprocessing occurs with the preparation of the
example values that will be presented to the network
in such a way that it can generalize the training set.
We carried out the following procedures.
As the number of bids that end up in a
transaction is quite smaller than the number of bids
that do not end up in a transaction, we selected only
examples where C
v
>0, C
c
>0 and P
t
>0; for values
concerning the buy and sell prices of some good, as
well as the transaction price, we noticed that: the
prices cannot be smaller than zero, because negative
prices do not exist; and the maximum prices offered
to the entertainment events do not go above 200
monetary units. So, all prices were divided by 200;
and, the calculation of the time unit was made with
basis on total time of the match. Since each match
takes 90 minutes or 540 seconds long, the time
values were divided by 540 to obtain the normalized
data.
For example, analyzing the auction for
amusement park tickets for the third day, if in the
time of 308 seconds of the auction the buy price is
$66 and the sell price is $98 and a transaction was
made by $79, the training set would generate the
following tuple T = <98.0, 66.0, 307, 79.0>. After
preprocessing, the values change to T = <0.49, 0.33,
0.57, 0.39>.
In the present work, the separation of the
examples set was made in 10 parts or instances.
After separation, 90% of data or 9/10 of the parts
were used for training and the remaining 10% for
tests. This set of techniques used for training and test
of the neural network is similar to the n-fold
stratified cross-validation technique, in this case, 10-
fold (Witten and Frank. 2005).
The training of the network by using the
described technique was performed according to the
following stages: with the training set (input and
desired response) already constructed, we separated
it in 10 parts, having in mind the equal
representation of the classes of data in each of the
parts; the parts were regrouped in 10 different
subsets, each one with 90% of the total number of
examples. Notice that for each subset created, one
part does not participate in the training set, making
sure that all the instances remain separated at least
once. The remaining part corresponds to the 10% not
used which were separated for tests; after the
separation, 10 batteries of trainings were performed.
At the end of each training session, the remaining set
will have been tested; the network training occurs
through the repetitive presentation of an example set
called epoch. The number of epochs must be chosen
so that the network result converges to a desired
minimal error. During the training of the ANN, at
each 1000 epochs the order of the values contained
ARTIFICIAL NEURAL NETWORKS APPLIED TO AN AGENT ACTING IN CDA AUCTIONS IN TAC
273