Credits:
Sebastian Thomas - Development, Prototyping, Testing, Documentation
Martin-Patrick Pauli - Optimization, Threading, Progress Bar
Prof. Martin Golz - Supervising professor
There is no warranty that the software works properly.
Copyright (c) 2018 Sebastian Thomas
Hiermit wird unentgeltlich jeder Person, die eine Kopie der Software und der
zugehörigen Dokumentationen (die "Software") erhält, die Erlaubnis erteilt, sie
uneingeschränkt zu nutzen, inklusive und ohne Ausnahme mit dem Recht, sie zu
verwenden, zu kopieren, zu verändern, zusammenzufügen, zu veröffentlichen, zu
verbreiten, zu unterlizenzieren und/oder zu verkaufen, und Personen, denen diese
Software überlassen wird, diese Rechte zu verschaffen, unter den folgenden
Bedingungen:
Der obige Urheberrechtsvermerk und dieser Erlaubnisvermerk sind in allen Kopien oder
Teilkopien der Software beizulegen.
DIE SOFTWARE WIRD OHNE JEDE AUSDRÜCKLICHE ODER IMPLIZIERTE GARANTIE BEREITGESTELLT,
EINSCHLIEßLICH DER GARANTIE ZUR BENUTZUNG FÜR DEN VORGESEHENEN ODER EINEM BESTIMMTEN
ZWECK SOWIE JEGLICHER RECHTSVERLETZUNG, JEDOCH NICHT DARAUF BESCHRÄNKT. IN KEINEM
FALL SIND DIE AUTOREN ODER COPYRIGHTINHABER FÜR JEGLICHEN SCHADEN ODER SONSTIGE
ANSPRÜCHE HAFTBAR ZU MACHEN, OB INFOLGE DER ERFÜLLUNG EINES VERTRAGES, EINES
DELIKTES ODER ANDERS IM ZUSAMMENHANG MIT DER SOFTWARE ODER SONSTIGER VERWENDUNG DER
SOFTWARE ENTSTANDEN.
The documentation gives a instruction how to use the software and describes the
most steps. If there are some questions how to use, please read this textfile.
If questions are not answered inside this textfile, it is recommended to contact
SThomas4292@googlemail.com directly or to ask Adolf Schenka Dipl.-Inf. (FH),
B228, Building B, Faculity Informatik,University of Applied Science Schmalkalden.
Getting Started:
It is recommended to use the commandprompt of Windows or similiar tools.
In the following the folder, where you placed the lvq.exe is called lvq-folder.
First Step:
- copy your feature-matrix to the lvq-folder\daten\... (defaultname: "featureMatrix.mat")
- navigate to folder, where the lvq.exe is placed (use cd)
- execute the .exe (just tip "lvq")
Structure of feature-vectors:
The feture-vectors must be saved as an ascii .mat-file.
In Matlab you can generate such a file with the following command.
save('featureMatrix.mat','variableName','-ascii')
The structure of the feature-matrix, which includes all the feature-vectors,
must be like the following.
There should be no metadata columns or it will occur a wrong learning-result.
general example:
classLabel | dimension1 | dimension2 | ... | dimensionN |
---|---|---|---|---|
cl1 | dim11-value | dim12-value | ... | dim1N-value |
cl2 | dim21-value | dim22-value | ... | dim2N-value |
cl3 | dim31-value | dim32-value | ... | dim3N-value |
. | . | . | ... | . |
. | . | . | ... | . |
. | . | . | ... | . |
clM | dimM1-value | dimM2-value | ... | dimMN-value |
specified example with 3 classes in a 2-dimensional feature-space:
1 | -4.0365800e+00 | -1.2178400e+00 |
1 | -2.8847100e+00 | 1.6222400e-01 |
1 | -4.4241300e+00 | -1.9401300e+00 |
2 | 5.0256000e+00 | -1.8624100e+00 |
2 | 4.4240700e+00 | -1.2250000e+00 |
2 | 3.8281200e+00 | 1.1708000e+00 |
3 | -8.3245500e-01 | -3.4938000e+00 |
3 | -1.8584200e+00 | -2.8479800e+00 |
3 | -5.5594600e+00 | -2.1142500e+00 |
The failure-estimation is saved in the results-folder inside the lvq-folder.
columns of failureEstimation:
1. - count of initialized neurons before adaption
2. - count of neurons after adaption
3. - reclassificationaccurracy over all classes
4. - classificationaccurracy over all classes
5. - reclassificationaccurracy class 1
6. - classificationaccurracy class 1
7. - reclassificationaccurracy class 2
8. - classificationaccurracy class 2
... (for more classes the structure of the file is consistent)
specified example with 3 classes:
50 48 96.542 89.123 98.542 90.123 94.542 88.123
parameters:
- input X
X equals the name of the input feature-matrix with file extension (string)
default: featureMatrix.mat
- start X
X equals the count of start Neurons (integer values)
default: 2
- step X
X equals the stepsize of neurons from start to stop (integer values)
default: 2
- stop X
X equals the count of max used neurons (integer values)
default: 30
- trainSize X
X equals the percentage share of the training size (integer values)
default: 80
- epochs X
X equals the count of epochs (integer values)
default: 10
- pairsEpoch X
X equals the count of feature vectors, which will be used to learn while a
epoch (integer values)
if X equals 0 the algorithm will use all trainig vectors to adapt the data
default: 0
- iniEta X
X equals the initial eta value (float values between 0.1 and 1)
default: 0.8
- initWithClass X
X describes, whether the neurons should be initialised classbounded (boolean values 0 or 1)
default: true (1)
- initClassAfterEpoch X
only important if "-initWithClass 0"
after X epochs the classlabels will be added to the neurons
default: 2