Aplicatii ale neuroinformaticii (machine learning in general)

Radu Dogaru,  2 oct. 2017
Natural Computing Lab.


Cadrul general - link curs introductiv ICI  curs2 (dupa stabilirea temei, dupa caz vor fi mai multe resurse)

Tema poate fi formulata: Aplicatie in recunoastera de [x] pe platforma [y] folosind clasificatoare [z]
[x] depinde de natura bazei de date (vezi tabelul de mai jos cu o selectie)
[y] poate fi Windows/Linux/Raspbian/ etc implementare Python, Java, C, Octave sau Scilab (Matlab free) etc..
[z] dintre cele uzuale (de ex. vezi kitul scikit-learn in Python, similar sunt biblioteci si pentru alte limbaje


Paradigme de antrenare de interes

SVM (foarte popular, implementat in multe pachete) LIBSVM - o biblioteca populara
cu suport pentru foarte multe limbaje
Extreme Learning Machine (foarte simpla, usor de inteles si de implementat in
limbaje / biblioteci cu suport vectorial). Partea de antrenare cu matematica aparent
complicata se implementeaza intr-o linie de cod in limbaje cu suport matricial (gen Matlab,
Python/NUMPY etc.)
Cele de mai sus se pot lua in considerare ca referinta (clasica) pentru aplicatia aleasa
in functie de baza de date din tabelul de mai jos.

(S)FSVC - clasificatoare cu performante similare SVM dar eficientizate
pentru viteza de antrenare si de recunoastere.  Este un model "proprietar"
al lab. nostru (Natural Computing), deocamdata exista 2 implementari
Matlab (mai lent dar util pentru intelegerea algoritmului)
Octave 4.0.0 (important sa instalati exact aceasta versiune) cu suport .MEX
Articol

Acesta poate fi implementat de catre dvs. pe o platforma / instr. de programare
diferit ca si contributie originala si comparat cu rezultatele obtinute utilizand aceeasi
baza de date dar cu clasificator SVM, ELM etc..

modele nerurale cu Deep Learning (! computational intensiv necesita resurse bune )

Instrumente de programare cu suport "machine learning"

Python 
http://scikit-learn.org/stable/supervised_learning.html#supervised-learning  (vezi SVM in special)
http://deeplearning.net/software/theano/  (Deep Learning - atentie antrenare extrem de lenta,
necesita resurse computationale eficiente)

Open-CV (ruleaza sub foarte multe platforme) http://docs.opencv.org/3.1.0/dc/dd6/ml_intro.html
https://www.bytefish.de/pdf/machinelearning.pdf
platforma Open-CV ofera suport si pentru prelucrari de imagini, ideala pentru aplicatii in
care esantioanele din seturile de date (antrenare/testare) sunt imagini.

Etc.. se pot cauta cu nume limbaj si nume clasificator

============================================================


Tabel cu principalele baze de date (asociate unor aplicatii)

Rec. cifre scrise de mana

Un exemplu de cercetare in dezvoltarea unei metode mai eficiente de clasificare
Alt exemplu ..
MNIST
USPS si altele 
OPTD

Rec. obiecte in general
Caltech
altele ..

Imagistica satelitara (stabilirea automata a hartilor pe baza imaginilor multispectrale)
Hyperspectral ..



Recunoastere de texturi
Brodatz (simplu)

Brodatz complet


Recunoastere pietoni
Caltech
(vezi si aici)
Daimler



Recunoastere de comenzi vocale izolate (ne contactati pentru baze de date obtinute in lab. Natural computing) Articol (PDF)
Articol

Recunoastere semne de circulatie
ETH Zurich
German dataset



.... multe altele









Resurse baze de date

Din LIBSVM   http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass.html#usps
UCI machine learning repository