System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and...

130
HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab An Open Source Optimization Environment for Research and Education M. Kommenda, A. Scheibenpflug Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics/Communications/Media, Campus Hagenberg University of Applied Sciences Upper Austria

Transcript of System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and...

Page 1: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

HEALHeuristic and Evolutionary

Algorithms Laboratory

System Identification and Data Mining with HeuristicLab

An Open Source Optimization Environment for Research and Education

M. Kommenda, A. Scheibenpflug Heuristic and Evolutionary Algorithms Laboratory (HEAL)

School of Informatics/Communications/Media, Campus Hagenberg University of Applied Sciences Upper Austria

Page 2: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Instructor Biographies

• Michael Kommenda – Diploma in computer sciences (2007)

Upper Austria University of Applied Sciences, Austria – MSc in bioinformatics (2011)

Upper Austria University of Applied Sciences, Austria – Research associate at the Research Center Hagenberg – Joined HEAL in 2006 – One of the main architects of HeuristicLab – http://heal.heuristiclab.com/team/kommenda

• Andreas Scheibenpflug – MSc in computer sciences (2011)

Upper Austria University of Applied Sciences, Austria – Research assistant at the Research Center Hagenberg – Joined HEAL in 2010 – One of the main architects of HeuristicLab – http://heal.heuristiclab.com/team/scheibenpflug

IMMM 2011 http://dev.heuristiclab.com 2

Page 3: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

HEALHeuristic and Evolutionary

Algorithms Laboratory

HeuristicLab Team

IMMM 2011 http://dev.heuristiclab.com 3

Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics, Communications and Media Upper Austria University of Applied Sciences Softwarepark 11 A-4232 Hagenberg AUSTRIA WWW: http://heal.heuristiclab.com

Page 4: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Agenda

• Objectives of the Tutorial • Introduction • Where to get HeuristicLab? • Plugin Infrastructure • Graphical User Interface • Available Algorithms & Problems

• Demonstration Part I: Working with HeuristicLab • Demonstration Part II: Data-based Modeling

• Some Additional Features • Planned Features • Suggested Readings • Bibliography • Questions & Answers

IMMM 2011 http://dev.heuristiclab.com 4

Page 5: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Objectives of the Tutorial

• Introduce general motivation and design principles of HeuristicLab

• Show where to get HeuristicLab

• Explain basic GUI usability concepts

• Introduce Metaheuristics and Evolutionary Algorithms

• Demonstrate basic features

• Demonstrate editing and analysis of optimization experiments

• Demonstrate custom algorithms and graphical algorithm designer

• Outline some additional features

IMMM 2011 http://dev.heuristiclab.com 5

Page 6: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Introduction to HeuristicLab

• Motivation and Goals – graphical user interface – paradigm independence – multiple algorithms and problems – large scale experiments and analyses – parallelization – extensibility, flexibility and reusability – visual and interactive algorithm development – multiple layers of abstraction

• Facts – development of HeuristicLab started in 2002 – based on Microsoft .NET and C# – used in research and education – second place at the Microsoft Innovation Award 2009 – open source (GNU General Public License) – version 3.3.0 released on May 18th, 2010 – latest version 3.3.5 released on July 9th, 2011

IMMM 2011 http://dev.heuristiclab.com 6

Page 7: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Where to get HeuristicLab?

• Download binaries – deployed as ZIP archives – latest stable version 3.3.5

• released on July 9th, 2011

– daily trunk build – http://dev.heuristiclab.com/download

• Check out sources – SVN repository – HeuristicLab 3.3.5 tag

• http://dev.heuristiclab.com/svn/hl/core/tags/3.3.5

– current development trunk • http://dev.heuristiclab.com/svn/hl/core/trunk

• License – GNU General Public License (Version 3)

• System requirements – Microsoft .NET Framework 4.0 Full Version – enough RAM and CPU power ;-)

IMMM 2011 http://dev.heuristiclab.com 7

Page 8: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Plugin Infrastructure

• HeuristicLab consists of many assemblies – 95 plugins in HeuristicLab 3.3.5 – plugins can be loaded or unloaded at runtime – plugins can be updated via internet – application plugins provide GUI frontends

• Extensibility – developing and deploying new plugins is easy – dependencies are explicitly defined,

automatically checked and resolved – automatic discovery of interface

implementations (service locator pattern)

• Plugin Manager – GUI to check, install, update or delete plugins

IMMM 2011 http://dev.heuristiclab.com 8

Page 9: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Graphical User Interface

• HeuristicLab GUI is made up of views – views are visual representations of content objects

– views are composed in the same way as their content

– views and content objects are loosely coupled

– multiple different views may exist for the same content

• Drag & Drop – views support drag & drop operations

– content objects can be copied or moved (shift key)

– enabled for collection items and content objects

IMMM 2011 http://dev.heuristiclab.com 9

Page 10: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Graphical User Interface

IMMM 2011 http://dev.heuristiclab.com 10

Algorithm View

Problem View

Parameter Collection View

Parameter View

Double Value View

Page 11: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Graphical User Interface

• ViewHost – control which hosts views – right-click on windows icon to switch views – double-click on windows icon to open another view – drag & drop windows icon to copy contents

IMMM 2011 http://dev.heuristiclab.com 11

Page 12: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Metaheuristics

• There are problems which can‘t be exactly solved in feasible time (e.g. NP-hard) – High complexity – Large search space – Curse of dimensionality/Combinatorial explosion – But: Solution evaluation is cheap

• Try to generate a solution • Check if you can generate a better solution • Metaheuristics don‘t (always) find the best solution,

but a good solution

IMMM 2011 http://dev.heuristiclab.com 12

Page 13: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Evolutionary Algorithms

IMMM 2011 http://dev.heuristiclab.com 13

– Idea: • Simulation of natural evolution

• Adaptation of species considered as an optimization process

• Population-based optimization

Mechanisms of optimization: • Evaluation on the basis of fitness

function • Selection on the basis of fitness • Solution manipulation • Acceptence or rejection

Mechanisms of evolution: • Selection • Variation • Replication

Page 14: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Flowchart of an EA

IMMM 2011 http://dev.heuristiclab.com 14

• Initial population of individuals is generated randomly or heuristically.

• Individuals are evaluated and are assigned a certain fitness value.

• While termination condition is not met • Fitter individuals are selected for

reproduction and children are produced by applying crossover and mutation on the parents.

• The new individuals are evaluated.

• New population is generated from the new and/or old individuals.

End while.

Page 15: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Genetic Algorithms

IMMM 2011 http://dev.heuristiclab.com 15

Population at time t

sele

cti

on

0 1 0 0 1 1 1 0

1 0 0 1 0 1 1 0

mutation

Population at time t+1

0 1 0 1 0 1 0 0

0 1 0 1 0 1 1 0

crossover

Page 16: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Crossover

IMMM 2011 http://dev.heuristiclab.com 16

• Simple but effective: –Single-Point Crossover

• Generalizations:

–Two-Point Crossover –n-Point Crossover

• Crossover points are set

randomly

Page 17: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Mutation

IMMM 2011 http://dev.heuristiclab.com 17

• Bit-Flip with little probability

• Generally one bit is changed in mutant (in case of

very long chromosomes sometimes even more bits)

• Mutation rate defines probability of being mutated

Page 18: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Available Algorithms & Problems

Algorithms • Genetic Algorithm • Island Genetic Algorithm • Offspring Selection Genetic Algorithm • Island Offspring Selection Genetic Algorithm • SASEGASA • Evolution Strategy • NSGA-II • Particle Swarm Optimization • Local Search • Simulated Annealing • Tabu Search • Variable Neighborhood Search • Linear Regression • Linear Discriminant Analysis • Support Vector Machine • k-Means • User-defined Algorithm

Problems • Single-Objective Test Function • Traveling Salesman Problem • Quadratic Assignment Problem • Vehicle Routing Problem • Scheduling • Knapsack • OneMax • Data Analysis • Regression • Symbolic Regression • Classification • Symbolic Classification • Clustering • Artificial Ant • External Evaluation Problem • User-defined Problem

IMMM 2011 http://dev.heuristiclab.com 18

Page 19: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Agenda

• Objectives of the Tutorial • Introduction • Where to get HeuristicLab? • Plugin Infrastructure • Graphical User Interface • Available Algorithms & Problems

• Demonstration Part I: Working with HeuristicLab • Demonstration Part II: Data-based Modeling

• Some Additional Features • Planned Features • Team • Suggested Readings • Bibliography • Questions & Answers

IMMM 2011 http://dev.heuristiclab.com 19

Page 20: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Demonstration Part I: Working with HeuristicLab

• Create, Parameterize and Execute Algorithms

• Save and Load Items

• Create Batch Runs and Experiments

• Multi-core CPUs and Parallelization

• Analyze Runs

• Analyzers

• Building User-Defined Algorithms

IMMM 2011 http://dev.heuristiclab.com 20

Page 21: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

HeuristicLab Optimizer

IMMM 2011 http://dev.heuristiclab.com 21

double-click to open sample algorithms and problems

Page 22: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Create Algorithm

IMMM 2011 http://dev.heuristiclab.com 22

Page 23: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Create or Load Problem

IMMM 2011 http://dev.heuristiclab.com 23

Page 24: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Import or Parameterize Problem Data

IMMM 2011 http://dev.heuristiclab.com 24

Page 25: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Parameterize Algorithm

IMMM 2011 http://dev.heuristiclab.com 25

Page 26: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Start, Pause, Resume, Stop and Reset

IMMM 2011 http://dev.heuristiclab.com 26

Page 27: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Results

IMMM 2011 http://dev.heuristiclab.com 27

Page 28: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Compare Runs

• A run is created each time when the algorithm is stopped – runs contain all results and parameter settings – previous results are not forgotten and can be compared

IMMM 2011 http://dev.heuristiclab.com 28

Page 29: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Save and Load

• Save to and load from disk – HeuristicLab items (i.e., algorithms, problems, experiments, …)

can be saved to and loaded from a file – algorithms can be paused, saved, loaded and resumed – data format is custom compressed XML – saving and loading files might take several minutes – saving and loading large experiments requires some memory

IMMM 2011 http://dev.heuristiclab.com 29

Page 30: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Create Batch Runs and Experiments

• Batch runs – execute the same optimizer (e.g. algorithm, batch run, experiment)

several times

• Experiments – execute different optimizers – suitable for large scale algorithm comparison and analysis

• Experiments and batch runs can be nested

• Generated runs can be compared afterwards

IMMM 2011 http://dev.heuristiclab.com 30

Page 31: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Create Batch Runs and Experiments

IMMM 2011 http://dev.heuristiclab.com 31

drag & drop here

to add additional

algorithms,

batch runs,

experiments, etc.

Page 32: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Clipboard

IMMM 2011 http://dev.heuristiclab.com 32

drag & drop

here to add

algorithms,

problems,

batch runs,

experiments,

etc.

Page 33: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Clipboard

• Store items – click on the buttons to add or remove items – drag & drop items on the clipboard – use the menu to add a copy of a shown item to the clipboard

• Show items – double-click on an item in the clipboard to show its view

• Save and restore clipboard content

– click on the save button to write the clipboard content to disk – clipboard is automatically restored when HeuristicLab is started the next time

IMMM 2011 http://dev.heuristiclab.com 33

Page 34: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Start, Pause, Resume, Stop, Reset

IMMM 2011 http://dev.heuristiclab.com 34

Page 35: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Compare Runs

IMMM 2011 http://dev.heuristiclab.com 35

Page 36: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Analyze Runs

• HeuristicLab provides interactive views to analyze and compare all runs of a run collection – textual analysis

• RunCollection Tabular View

– graphical analysis • RunCollection BubbleChart • RunCollection BoxPlots

• Filtering is automatically applied to all open run collection views

IMMM 2011 http://dev.heuristiclab.com 36

Page 37: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

RunCollection Tabular View

IMMM 2011 http://dev.heuristiclab.com 37

Page 38: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

RunCollection Tabular View

• Sort columns

– click on column header to sort column – Ctrl-click on column header to sort multiple columns

• Show or hide columns – right-click on table to open dialog to show or hide columns

• Compute statistical values – select multiple numerical values to see count, sum, minimum,

maximum, average and standard deviation

• Select, copy and paste into other applications

IMMM 2011 http://dev.heuristiclab.com 38

Page 39: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

RunCollection BubbleChart

IMMM 2011 http://dev.heuristiclab.com 39

Page 40: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

RunCollection BubbleChart

• Choose values to plot – choose which values to show on the x-axis, the y-axis and as bubble size – possible values are all parameter settings and results

• Add jitter – add jitter to separate overlapping bubbles

• Zoom in and out – click on Zoom and click and drag in the chart area to zoom in – double click on the chart area background or on the circle buttons beside the scroll bars to zoom out

• Color bubbles – click on Select, choose a color and click and drag in the chart area to select and color bubbles – apply coloring automatically by clicking on the axis coloring buttons

• Show runs – double click on a bubble to open its run

• Export image – right-click to open context menu to copy or save image – save image as pixel (BMP, JPG, PNG, GIF, TIF) or vector graphics (EMF)

• Show box plots – right-click to open context menu to show box plots view

IMMM 2011 http://dev.heuristiclab.com 40

Page 41: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

RunCollection BoxPlots

IMMM 2011 http://dev.heuristiclab.com 41

Page 42: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

RunCollection BoxPlots

• Choose values to plot – choose which values to show on the x-axis and y-axis – possible values are all parameter settings and results

• Zoom in and out – click on Zoom and click and drag in the chart area to zoom in – double click on the chart area background or on the circle buttons

beside the scroll bars to zoom out

• Show or hide statistical values – click on the lower left button to show or hide statistical values

• Export image – right-click to open context menu to copy or save image – save image as pixel (BMP, JPG, PNG, GIF, TIF) or vector graphics (EMF)

IMMM 2011 http://dev.heuristiclab.com 42

Page 43: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Filter Runs

IMMM 2011 http://dev.heuristiclab.com 43

Page 44: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Multi-core CPUs and Parallelization

• Parallel execution of optimizers in experiments – optimizers in an experiment are executed sequentially from top to bottom per

default – experiments support parallel execution of their optimizers – select a not yet executed optimizer and start it manually to utilize another

core – execution of one of the next optimizers is started automatically after an

optimizer is finished

• Parallel execution of algorithms – HeuristicLab provides special operators for parallelization – engines decide how to execute parallel operations – sequential engine executes everything sequentially – parallel engine executes parallel operations on multiple cores – Hive engine (under development) executes parallel operations on multiple

computers – all implemented algorithms support parallel solution evaluation

IMMM 2011 http://dev.heuristiclab.com 44

Page 45: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Parallel Execution of Experiments

IMMM 2011 http://dev.heuristiclab.com 45

1. start experiment

2. start other optimizers

Page 46: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Parallel Execution of Algorithms

IMMM 2011 http://dev.heuristiclab.com 46

Page 47: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Analyzers

• Special operators for analysis purposes – are executed after each iteration – serve as general purpose extension points of algorithms – can be selected and parameterized in the algorithm – perform algorithm-specific and/or problem-specific tasks – some analyzers are quite costly regarding runtime and memory – implementing and adding custom analyzers is easy

• Examples – TSPAlleleFrequencyAnalyzer – TSPPopulationDiversityAnalyzer – SuccessfulOffspringAnalyzer – SymbolicDataAnalysisVariableFrequencyAnalyzer – SymbolicRegressionSingleObjectiveTrainingBestSolutionAnalyzer – …

IMMM 2011 http://dev.heuristiclab.com 47

Page 48: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Analyzers

IMMM 2011 http://dev.heuristiclab.com 48

Page 49: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

TSPAlleleFrequencyAnalyzer

IMMM 2011 http://dev.heuristiclab.com 49

Page 50: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

TSPPopulationDiversityAnalyzer

IMMM 2011 http://dev.heuristiclab.com 50

Page 51: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Building User-Defined Algorithms

• Operator graphs – algorithms are represented as operator graphs – operator graphs of user-defined algorithms can be changed – algorithms can be defined in the graphical algorithm designer – use the menu to convert a standard algorithm into a user-defined algorithm

• Operators sidebar – drag & drop operators into an operator graph

• Programmable operators – add programmable operators in order to implement custom logic in an algorithm – no additional development environment needed

• Debug algorithms – use the debug engine to obtain detailed information during algorithm execution

IMMM 2011 http://dev.heuristiclab.com 51

Page 52: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Building User-Defined Algorithms

IMMM 2011 http://dev.heuristiclab.com 52

Page 53: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Building User-Defined Algorithms

IMMM 2011 http://dev.heuristiclab.com 53

Page 54: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Programmable Operators

IMMM 2011 http://dev.heuristiclab.com 54

Page 55: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Debugging Algorithms

IMMM 2011 http://dev.heuristiclab.com 55

Page 56: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Agenda

• Objectives of the Tutorial • Introduction • Where to get HeuristicLab? • Plugin Infrastructure • Graphical User Interface • Available Algorithms & Problems

• Demonstration Part I: Working with HeuristicLab • Demonstration Part II: Data-based Modeling

• Some Additional Features • Planned Features • Team • Suggested Readings • Bibliography • Questions & Answers

IMMM 2011 http://dev.heuristiclab.com 56

Page 57: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Demonstration Part II: Data-based Modeling

• Introduction

• Regression with HeuristicLab

• Model simplification and export

• Variable relevance analysis

• Classification with HeuristicLab

• Validation techniques

IMMM 2011 http://dev.heuristiclab.com 57

Page 58: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Introduction to Data-based Modeling

IMMM 2011 http://dev.heuristiclab.com 58

x1 x2 x3 x4 x5 x6 y

52.0085 58497.7 26.9956 24.0391 12.9005 66.2633 4.027

52.9874 59181.1 27.0061 23.7483 12.7239 66.8367 4.154

54.0505 58879.2 26.8679 23.5869 12.5877 67.6773 4.047

55.3182 58982.3 27.1852 23.7869 12.6229 67.7128 4.118

46.5388 59270.3 26.4421 24.2601 12.5892 65.7425 4.743

56.0167 58234.5 26.1072 23.4412 12.4224 67.9462 4.042

57.0168 58021.7 26.2513 23.3085 12.3036 69.4392 3.721

57.0139 59228.5 26.2285 23.4041 12.3685 68.3322 3.593

62.5214 49855.7 26.3076 22.7812 12.0711 70.3331 3.785

69.9885 53534.4 25.5916 21.3448 11.0299 73.7138 3.028

70.0156 55058.2 25.5759 21.4617 11.0915 72.9846 3.137

70.0446 56099.4 26.059 21.4652 11.0684 73.2351 ?

70.0335 55891.6 26.1834 21.3318 10.6288 74.8925 ?

70.0164 56841.1 26.1791 21.2119 10.0354 74.8419 ?

70.0147 58254.6 26.7381 21.3367 10.9244 73.2341 ?

70.0061 54444.9 26.5786 21.2395 10.6505 74.9187 ?

70.0325 48858.2 26.3799 21.4135 10.8558 74.0993 ?

Trai

nin

g Te

st

Page 59: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Introduction to Data-based Modeling

• Dataset: Matrix (xi,j) i=1..N, j= 1..K

– N observations of K input variables – xi,j = i-th observation of j-th variable – Additionally: Vector of labels (y1…yN)T

• Goal: learn association of input variable values to labels

• Common tasks – Regression (real-valued labels) – Classification (discrete labels) – Clustering (no labels, group similar observations)

IMMM 2011 http://dev.heuristiclab.com 59

Page 60: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Data-based Modeling Algorithms in HeuristicLab

• Symbolic regression and classification based on genetic programming

• External Libraries: – Support Vector Machines for Regression and Classification

– Linear Regression

– Linear Discriminate Analysis

– K-Means clustering

– Random Forests for Regression and Classification

– Neural Networks

IMMM 2011 http://dev.heuristiclab.com 60

Page 61: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Case Studies

• Demonstration – problem configuration

• data import • target variable • input variables • data partitions (training and test)

– analysis of results • accuracy metrics • visualization of model output

IMMM 2011 http://dev.heuristiclab.com 61

Page 62: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Case Study: Regression

• Poly-10 benchmark problem dataset – 10 input variables x1 … x10

– y = x1 ∙ x2 + x3 ∙ x4 + x5 ∙ x6 + x1 ∙ x7 ∙ x9 + x3 ∙ x6 ∙ x10

– non-linear modeling approach necessary

– frequently used in GP literature

– download http://dev.heuristiclab.com/AdditionalMaterial#IMMM2011

IMMM 2011 http://dev.heuristiclab.com 62

Page 63: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Linear Regression

• Create new algorithm

IMMM 2011 http://dev.heuristiclab.com 63

Page 64: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Import Data from CSV-File

IMMM 2011 http://dev.heuristiclab.com 64

Page 65: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect and Configure Dataset

IMMM 2011 http://dev.heuristiclab.com 65

Page 66: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Imported Data

IMMM 2011 http://dev.heuristiclab.com 66

Page 67: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Set Target Variable

IMMM 2011 http://dev.heuristiclab.com 67

Page 68: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Select Input Variables

IMMM 2011 http://dev.heuristiclab.com 68

Page 69: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Configure Training and Test Partitions

IMMM 2011 http://dev.heuristiclab.com 69

Page 70: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Run Linear Regression

IMMM 2011 http://dev.heuristiclab.com 70

Page 71: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Results

IMMM 2011 http://dev.heuristiclab.com 71

Page 72: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Scatterplot of Predicted and Target Values

IMMM 2011 http://dev.heuristiclab.com 72

Page 73: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Linechart

IMMM 2011 http://dev.heuristiclab.com 73

Page 74: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Graphical Representation of Model

IMMM 2011 http://dev.heuristiclab.com 74

Page 75: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Nonlinear Regression Methods

• Random Forests Regression

– Learns multiple models on different sample subsets

• Support Vector Regression

– Maps data to higher dimensional space

– Calculates linear model

– Transfers the data back to the input space

IMMM 2011 http://dev.heuristiclab.com 75

Page 76: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Symbolic Regression with HeuristicLab

• Linear regression produced an inaccurate model. • Nonlinear methods produces overfit models • Next: produce a nonlinear symbolic regression model using genetic

programming

• Genetic programming – evolve variable-length models – model representation: symbolic expression tree – structure and model parameters are evolved side-by-side – white-box models

IMMM 2011 http://dev.heuristiclab.com 76

-

x3 +

x1 *

x2 x1

Page 77: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Genetic Programming Life Cycle

IMMM 2011 http://dev.heuristiclab.com 77

Page 78: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Generating new Models

IMMM 2011 http://dev.heuristiclab.com 78

Page 79: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Mutating models

IMMM 2011 http://dev.heuristiclab.com 79

Page 80: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Symbolic Regression with HeuristicLab • Demonstration

– problem configuration – function set and terminal set – model size constraints – evaluation

• Algorithm configuration – Selection – mutation

• Analysis of results – model accuracy – model structure and parameters

IMMM 2011 http://dev.heuristiclab.com 80

Page 81: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Create New Genetic Algorithm

IMMM 2011 http://dev.heuristiclab.com 81

Page 82: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Create New Symbolic Regression Problem

IMMM 2011 http://dev.heuristiclab.com 82

Page 83: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Import Data

IMMM 2011 http://dev.heuristiclab.com 83

Page 84: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Data and Configure Dataset

IMMM 2011 http://dev.heuristiclab.com 84

Page 85: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Set Target and Input Variables

IMMM 2011 http://dev.heuristiclab.com 85

Page 86: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Configure Maximal Model Depth and Length

IMMM 2011 http://dev.heuristiclab.com 86

Page 87: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Configure Function Set (Grammar)

IMMM 2011 http://dev.heuristiclab.com 87

Page 88: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Configure Function Set (Grammar)

IMMM 2011 http://dev.heuristiclab.com 88

Page 89: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Configure Algorithm Parameters

IMMM 2011 http://dev.heuristiclab.com 89

Page 90: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Configure Mutation Operator

IMMM 2011 http://dev.heuristiclab.com 90

Page 91: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Configure Selection Operator

IMMM 2011 http://dev.heuristiclab.com 91

Page 92: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Configure Tournament Group Size

IMMM 2011 http://dev.heuristiclab.com 92

Page 93: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Start Algorithm and Inspect Results

IMMM 2011 http://dev.heuristiclab.com 93

Page 94: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Quality Chart

IMMM 2011 http://dev.heuristiclab.com 94

Page 95: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Best Model on Training Partition

IMMM 2011 http://dev.heuristiclab.com 95

Page 96: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Linechart of Best Model on Training Partition

IMMM 2011 http://dev.heuristiclab.com 96

Page 97: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Structure of Best Model on Training Partition

IMMM 2011 http://dev.heuristiclab.com 97

Page 98: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Model Simplification and Export

• Demonstration – automatic simplification

– visualization of node impacts

– manual simplification • online update of results

– model export • MATLAB

• LaTeX

IMMM 2011 http://dev.heuristiclab.com 98

Page 99: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Detailed Model Analysis and Simplification

IMMM 2011 http://dev.heuristiclab.com 99

Page 100: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Symbolic Simplification and Node Impacts

IMMM 2011 http://dev.heuristiclab.com 100

Page 101: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Manual Simplification

IMMM 2011 http://dev.heuristiclab.com 101

double-click nodes

Page 102: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Automatic Symbolic Simplification

IMMM 2011 http://dev.heuristiclab.com 102

Page 103: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Textual Representations Are Also Available • Use ViewHost to switch to textual representation view.

IMMM 2011 http://dev.heuristiclab.com 103

Page 104: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Default Textual Representation for Model Export

IMMM 2011 http://dev.heuristiclab.com 104

Page 105: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Textual Representation for Export to LaTeX

IMMM 2011 http://dev.heuristiclab.com 105

Page 106: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

LaTeX Export

IMMM 2011 http://dev.heuristiclab.com 106

Page 107: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Variable Relevance Analysis

• Which variables are important to predict classes correctly?

• Demonstration – Variable frequency analyzer – symbol frequency analyzer – variable impacts

IMMM 2011 http://dev.heuristiclab.com 107

Page 108: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Variable Frequency Chart

IMMM 2011 http://dev.heuristiclab.com 108

Page 109: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Variable Impacts

IMMM 2011 http://dev.heuristiclab.com 109

Page 110: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Symbol Frequencies

IMMM 2011 http://dev.heuristiclab.com 110

Page 111: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Classification with HeuristicLab

• Symbolic classification – evolve discriminating function using GP

– find thresholds to assign classes

• Demonstration – real world medical application

– model accuracy

– visualization of model output • discriminating function output • ROC-curve • confusion matrix

IMMM 2011 http://dev.heuristiclab.com 111

Page 112: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Case Study: Classification

• Real world medical dataset (Mammographic Mass) from UCI Machine Learning Repository – data from non-invasive mammography screening – variables:

• patient age • visual features of inspected mass lesions: shape, margin, density

– target variable: severity (malignant, benign)

– download

http://dev.heuristiclab.com/AdditionalMaterial#IMMM2011

IMMM 2011 http://dev.heuristiclab.com 112

Page 113: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Open Sample

IMMM 2011 http://dev.heuristiclab.com 113

Page 114: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Configure and Run Algorithm

IMMM 2011 http://dev.heuristiclab.com 114

Page 115: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Quality Linechart

IMMM 2011 http://dev.heuristiclab.com 115

Page 116: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Best Training Solution

IMMM 2011 http://dev.heuristiclab.com 116

Page 117: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Model Output and Thresholds

IMMM 2011 http://dev.heuristiclab.com 117

Page 118: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Confusion Matrix

IMMM 2011 http://dev.heuristiclab.com 118

Page 119: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect ROC Curve

IMMM 2011 http://dev.heuristiclab.com 119

Page 120: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Validation of Results

• Overfitting = memorizing data

• Strategies to reduce overfitting

– validation partition

– cross-validation

IMMM 2011 http://dev.heuristiclab.com 120

Training Validation Test

Test

Test

Test

Test

Test

Training

Training

Training

Training

Training

Page 121: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Validation of Results • Demonstration

– Configuration of a validation set

– Inspection of best solution on validation set

– Analysis of training- and validation fitness correlation

– Cross-validation • Configuration • Analysis of results

IMMM 2011 http://dev.heuristiclab.com 121

Page 122: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Configuration of Validation Partition

IMMM 2011 http://dev.heuristiclab.com 122

Page 123: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Best Model on Validation Partition

IMMM 2011 http://dev.heuristiclab.com 123

Page 124: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Inspect Linechart of Correlation of Training and Validation Fitness

IMMM 2011 http://dev.heuristiclab.com 124

Page 125: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Agenda

• Objectives of the Tutorial • Introduction to Metaheuristics • Introduction • Where to get HeuristicLab? • Plugin Infrastructure • Graphical User Interface • Available Algorithms & Problems

• Demonstration Part I: Working with HeuristicLab • Demonstration Part II: Data-based Modeling

• Some Additional Features • Planned Features • Team • Suggested Readings • Bibliography • Questions & Answers

IMMM 2011 http://dev.heuristiclab.com 125

Page 126: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Some Additional Features

• HeuristicLab Hive – parallel and distributed execution of algorithms

and experiments on many computers in a network

• Optimization Knowledge Base (OKB) – database to store algorithms, problems, parameters and results – open to the public – open for other frameworks – analyze and store characteristics of problem instances and problem classes

• External solution evaluation and simulation-based optimization – interface to couple HeuristicLab with other applications (MatLab,

AnyLogic, …) – supports different protocols (command line parameters, TCP, …)

• Parameter grid tests and meta-optimization – automatically create experiments to test large ranges of parameters – apply heuristic optimization algorithms to find optimal parameter settings for heuristic

optimization algorithms

IMMM 2011 http://dev.heuristiclab.com 126

Page 127: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Planned Features

• Algorithms & Problems – steady-state genetic algorithm – unified tabu search for vehicle routing – scatter search – …

• Cloud Computing – port HeuristicLab Hive to Windows Azure

• Linux – port HeuristicLab to run on Mono and Linux machines

• Have a look at the HeuristicLab roadmap – http://dev.heuristiclab.com/trac/hl/core/roadmap

• Any other ideas, requests or recommendations? – please write an e-mail to [email protected]

IMMM 2011 http://dev.heuristiclab.com 127

Page 128: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Suggested Readings

• S. Voß, D. Woodruff (Edts.) Optimization Software Class Libraries Kluwer Academic Publishers, 2002

• M. Affenzeller, S. Winkler, S. Wagner, A. Beham Genetic Algorithms and Genetic Programming Modern Concepts and Practical Applications CRC Press, 2009

IMMM 2011 http://dev.heuristiclab.com 128

Page 129: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Bibliography

• S. Wagner, M. Affenzeller HeuristicLab: A generic and extensible optimization environment Adaptive and Natural Computing Algorithms, pp. 538-541 Springer, 2005

• S. Wagner, S. Winkler, R. Braune, G. Kronberger, A. Beham, M. Affenzeller Benefits of plugin-based heuristic optimization software systems Computer Aided Systems Theory - EUROCAST 2007, Lecture Notes in Computer Science, vol. 4739, pp. 747-754 Springer, 2007

• S. Wagner, G. Kronberger, A. Beham, S. Winkler, M. Affenzeller Modeling of heuristic optimization algorithms Proceedings of the 20th European Modeling and Simulation Symposium, pp. 106-111 DIPTEM University of Genova, 2008

• S. Wagner, G. Kronberger, A. Beham, S. Winkler, M. Affenzeller Model driven rapid prototyping of heuristic optimization algorithms Computer Aided Systems Theory - EUROCAST 2009, Lecture Notes in Computer Science, vol. 5717, pp. 729-736 Springer, 2009

• S. Wagner Heuristic optimization software systems - Modeling of heuristic optimization algorithms in the HeuristicLab software environment Ph.D. thesis, Johannes Kepler University Linz, Austria, 2009.

• S. Wagner, A. Beham, G. Kronberger, M. Kommenda, E. Pitzer, M. Kofler, S. Vonolfen, S. Winkler, V. Dorfer, M. Affenzeller HeuristicLab 3.3: A unified approach to metaheuristic optimization Actas del séptimo congreso español sobre Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB'2010), 2010

• Detailed list of all publications of the HEAL research group: http://research.fh-ooe.at/de/orgunit/detail/356#showpublications

IMMM 2011 http://dev.heuristiclab.com 129

Page 130: System Identification and Data Mining with HeuristicLab · 2016-09-11 · HEAL Heuristic and Evolutionary Algorithms Laboratory System Identification and Data Mining with HeuristicLab

Questions & Answers

IMMM 2011 http://dev.heuristiclab.com 130

http://dev.heuristiclab.com

[email protected]

[email protected]