Posts

Robust on-line neural learning classifier system for data streams

The ever-increasing integration of technology in the different areas of science and industry has fostered practitioners the design of applications that generate stupendous amounts of data on-line (e.g., smart sensors or network monitoring just to mention two real cases). Extracting information from these data is key, in order to gain a better understanding of the processes that the data are describing. However, learning from these data poses new challenges to traditional data mining techniques, which are not designed to deal with data streams: data in which concepts and noise vary over time. In this regard, I am proud to present the supervised neural constructivist system ( SNCS ), a neural Michigan-style Learning Classifier System  that has been designed to provide a fast reaction capacity and adaptability to the distinct possible changes in concept (concept drifts) with varying noisy inputs.  Inheriting the intrinsically on-line fashion of Michigan-style learning clas...

Insights on Linkage Learning: Truly Competent Genetic Algorithms

Image
In the last post we acknowledged that competent GAs are those that automatically identify building blocks (BBs) and exchange these BBs without disrupting them. As a simple example, the compact genetic algorithm (cGA) was presented for competently solving the trap-n functions. In spite of the good results obtained by cGA in these environments, this algorithm is way too simple for truly tough problems : the m-concatenated trap-n problems, as depicted in Figure 1 . In these kinds of problems, deceptive trap-n functions are concatenated into a single, bigger problem.   cGA’s probability vector representation cannot detect the complicated combinations of BBs so, again, a new strategy to tackle this challenging environments is required: we need an order-n probabilistic optimization algorithm (in contrast cGA is of order-1). Figure 1: the 4-concatenated trap-3: It is composed of four trap-3 functions and the objective is to find  111111111111 , but the problem is deceptive and ...

Toward Competent Genetic Algorithms: Linkage Learning

Image
We endorse the term Competent Genetic Algorithms to those GAs that solve hard problems quickly, accurately and reliably [1]. We already know that GAs process building blocks (BB): low order ---few specific bits---and low length ---small distance between specific bits---schema with above average fitness. However, crossover may disturb these BB. Ideally, crossover should identify the fundamental BB of the problem at hand and mix them well, but in the real world this phenomenon scarcely happens. In order to tackle this issue a radical approach is required: remove the classic selecto-recombinative operators out of the GA loop and develop strategies that automatically identify BBs ensuring that these are not disrupted. Researchers call this strategy as Linkage Learning [2]. Estimation of Distribution Algorithms (EDAs) use probabilistic models that perform the task. They learn a probabilistic model and then build new solutions by sampling candidates from the model. One of the sim...

Currently under Review

Value in science is currently measured by the index of citations received via your journal articles. More specifically, the Journal Citation Reports (JCR) is the organism that designates the "value" (in academic terms) of the scientific journals scientists publish on. To this purpose, this organism gives a ranking in terms of what is called impact factor (IF)---to be honest they give distinct rankings but for this post we will stick to the IF. In short and greatly simplifying, this metric is measured as the number of citations the articles of a particular journal has divided by the total number of articles published in the journal. In this regard, the more papers a scientist has in high IF journals the better CV the researcher has. So, as a scientist and wannabe researcher your interest is to publish articles in journals that appear in the JCR list.  In the particular case of Computer Science, publishing in journals is, generally, for free. The journal gets the income ...

Comparing Two (Or More) Classifiers

The problem of comparing two (or more) classifiers on a set of problems is not trivial. For that matter I want to share some fundamental definitions and procedures about it. This post is mainly based on the work of Demsar (2006). I will use a more informal way of describing this issue for the sake of clarity. First, let's start with some (not-so-) complex and essential definitions. 1) The null hypothesis (or H_0). The hypothesis we want to prove false using, in our case, a statistical test; typically that all classifiers perform the same on average. 2) The alternative hypothesis (or H_1). The opposite hypothesis to the null hypothesis. In our particular case that not all the classifiers perform the same on average. 3) Type I Error or a false positive. Rejecting the null hypothesis (incorrectly) when is actually true. 4) Type II Error or a false negative. Conversely to type I error, not rejecting the null hypothesis when is actually false. 5) The level of s...

Optimization: Simplex Algorithm

Imagine we have a set of computers running simulations. Those computers can be described by a group of features, for example its power consumption per hour and the total number of processes it can run per hour. From our R+D personnel, a series of programs are send to these computers so we have to perform some schedule to run the applications, but for our profit we wish to minimise the total consumption of the set of machines. Let's show some more detail: Computer 1 has a power consumption of 100 watts per hour and can run 10  high cpu-demanding processes per hour and 7 low cpu-demanding processes per hour at the same time. Computer 2 has a power consumption of 350 watts per hour and can run 60 high cpu-demanding processes per hour and 20 low cpu-demanding processes per hour at the same time. From the R+D area there are a set of at least 3125 high cpu-demanding processes and at least 710 low cpu-demanding processes to be processed. How many hours should o...