Aristotele

L'induzione è una modalità molto importante di apprendimento delle creature viventi.

Uno dei primi filosofi ad essere ricorso a questo concetto fu Aristotele il quale, attribuendo a   Socrate   il   merito   di   averla   scoperta,   sosteneva   che   l'induzione   fosse,   appunto,   "il procedimento che dai particolari porta all'universale” (Top., I, 12, 105 a 11).

Sempre secondo Aristotele non sono né i sensi per via induttiva, né la razionalità per via deduttiva, a dare di per sé garanzia di verità, bensì soltanto l'intuizione intellettuale: essa consente di cogliere l'essenza della realtà fornendo dei principi validi e universali, da cui il ragionamento sillogistico trarrà delle conclusioni coerenti con le premesse.

L'apprendimento, la vita e l'evoluzione sono fra di loro correlati.

Infatti la vita e' evoluzione ed evoluzione e' apprendimento di ciò che e' necessario alla  sopravvivenza.

Apprendimento e' la capacita' di elaborare le informazioni con intelligenza critica.

Quindi l'elaborazione critica delle informazioni e' vita. (Roberto Bello).

Un semplice esempio può illustrare come si apprende per induzione.

Ipotizziamo di aver di fronte una persona che non abbia mai visto dei contenitori di uso comune   come   bicchieri,   bottiglie,   barattoli,   tazze,   vasi,   scatole,   fiaschi,   boccali,   calici, tetrapack e via dicendo.

Senza alcun commento mostro in successione esempi reali di oggetti appartenenti alle categorie sopra descritte.

La persona può guardare, odorare, toccare e soppesare gli oggetti mostrati.

Dopo aver esaminato un sufficiente numero di oggetti, la persona facilmente sarà in grado di raggruppare gli oggetti in categorie contenenti gli oggetti fra di loro  globalmente  simili, privilegiando   alcune   caratteristiche   rispetto   ad   altre   ritenute   ininfluenti   perché   non discriminanti.

Ad apprendimento avvenuto, io potrei presentare un altro oggetto a forma di bicchiere di altro   colore,   di   altro   materiale   e   di   altro   peso   ottenendo   comunque   la   collocazione dell'oggetto nella categoria dei bicchieri.

Sempre   per   induzione   la   persona   in   addestramento   potrebbe   fare   due   categorie   dei bicchieri: quelli senza manico e quelli con manico (boccali).

L'apprendimento ha consentito alla persona di riconoscere gli aspetti dell'oggetto utili per passare dal particolare all'universale trascurandone gli aspetti non influenti.

Gli algoritmi basati sulle reti neurali, con particolare riferimento alle mappe di Kohonen (SOM Self Organizing Map), si basano sui principi appena illustrati nell'esempio.

Tale   modello   di   Rete   Neurale   riflette   in   modo   significativo   i   meccanismi   biologici   del sistema nervoso centrale; molti studi  hanno  infatti  dimostrato  che  sulla  superficie  della corteccia celebrale esistono delle zone ben definite, ciascuna delle quali risponde ad una precisa funzione sensoria o motoria.

Ogni neurone si specializza a rispondere a determinati stimoli attraverso un’interazione continua con i neuroni confinanti.

Avremo   quindi   zone   riservate   all’udito,   alla   visione,   all’attività   motoria   etc.,   e   la demarcazione spaziale tra i diversi gruppi è tanto netta che si parla di formazione di bolle  di attività.

Il modello di Rete Neurale presentato da Kohonen  imita il comportamento sopra descritto.

L’architettura è abbastanza semplice; la rete è formata da una griglia rettangolare, detta anche  strato di Kohonen, composta dai neuroni del livello di output, ciascuno dei quali occupa una precisa posizione ed è collegato a tutte le unità di ingresso.

I pesi delle connessioni tra il livello di input e quello di output sono aggiornati grazie al processo   di   apprendimento,   mentre   le   connessioni   tra   i   neuroni   del   livello   di   output presentano pesi che producono eccitazione tra i neuroni limitrofi ed inibizione tra i neuroni lontani.

Le reti di Kohonen sono definite anche  reti competitive  poiché si basano sul principio di competizione tra i neuroni per vincere e rimanere attivi; solo i pesi delle unità attive sono modificati. L’unità vincente  i*  è quella che possiede il potenziale di attivazione maggiore; quanto più un’unità è attiva per un certo  pattern  di ingresso, tanto più il vettore dei  pesi  sinaptici è simile a tale pattern.

In   base   a   questo   assunto   è   possibile   trovare   l’unità   vincente   calcolando   la  distanza  euclidea  tra   il   vettore  di   input  ed   il   relativo  vettore   di  pesi   sinaptici.  A  questo   punto   si seleziona il neurone i* cui corrisponde la distanza minima.

Una volta determinato il neurone vincitore viene effettuato un aggiornamento automatico dei pesi del neurone stesso e di quelli che fanno parte del suo vicinato, in base ad una regola di tipo hebbiano.

In   particolare   si   prende  in   considerazione   una   formula  di   modifica   dei   pesi   che   deriva dall’originale regola di Hebb;  dato che quest’ultima farebbe crescere i pesi all’infinito viene introdotto un fattore di  dimenticanza,  spingendo i pesi verso i vettori di ingresso ai quali l’unità risponde maggiormente.

Si   crea   in   questo   modo   una   mappa   relativa   alle   caratteristiche   degli   input   dove   unità limitrofe rispondono a determinati stimoli di ingresso grazie alla similarità dei pesi sinaptici.

A questo proposito è necessario introdurre anche il concetto di funzione di vicinanza, che determina l’area di ampiezza r intorno ad i* in cui le unità sono attive.

Minore è la dimensione del vicinato, minore è il numero di unità dello strato di Kohonen i cui pesi sono modificati significativamente, quindi maggiore è la capacità dei neuroni di differenziarsi   e   di   acquisire   dettagli   ma   anche   la   complessità   del   sistema   di apprendimento.

Secondo   Kohonen   l’ampiezza   della  funzione   di   vicinanza  deve   essere   fatta   variare, scegliendola   inizialmente   in   modo   da   coprire   tutte   le   unità   dello   strato   e   facendola decrescere gradualmente.

In   questo  modo  si   passerà   dall’apprendimento   delle  caratteristiche   di  ingresso   di   base all’apprendimento di dettagli e di specializzazione delle aree nel rispondere a determinati stimoli.

Conclusa la fase di addestramento la rete è in grado di fornire risposte in corrispondenza dei nuovi input presentati.   La   proprietà   di   generalizzazione   deriva dal   fatto   che   anche   i   neuroni   vicini   a   quello selezionato sono modificati.

La   rete   dovrà   quindi   auto o­rganizzarsi   in   aree costituite   da   un   ampio   insieme   di   valori   attorno all’input dal quale apprende; questo farà sì che se è presentato   un   input   mai   visto   prima   ma   con caratteristiche   simili,   la   rete   sarà   in   grado  di classificarlo nel modo appropriato.

Rispetto agli algoritmi di tipo supervisionato, inoltre, il  processo   di   apprendimento   auto organizzato risulta efficiente anche se vengono utilizzati dati di input incompleti o contenenti errori, caratteristica che rende queste reti particolarmente adatte ad essere applicate nel processo di Data Mining.

Infatti l'algoritmo di Kohonen, al termine della fase di addestramento  non supervisionato, produce una matrice tridimensionale che può essere utilizzata   per   la  classificazione  di  nuove  registrazioni   nei   gruppi   con   caratteristiche   di maggiore somiglianza.

Mentre la fase di addestramento può richiedere molto tempo di elaborazione, quella di classificazione  di   nuove   registrazioni   nei   gruppi   con   maggiore   somiglianza   è   quasi istantanea, rendendo questa funzione utilmente applicabile a processi decisori in tempo reale (es. controllo di qualità in produzione, automazione di processo, sistemi di controllo, etc.).

Gli   algoritmi   delle   reti   neurali   hanno,   come   aspetto   comune,   di  non   spiegare  le caratteristiche dei gruppi ottenuti.

E' però possibile, utilizzando le informazioni contenute nella matrice di addestramento ed altre   tecniche   statistiche,   fornire   le   informazioni   sulle   caratteristiche   di   ogni   gruppo aiutando   il   ricercatore   nell'approfondire   l'analisi   dei   risultati   per   meglio   documentare   le conclusioni della sua ricerca.

E' anche possibile determinare quanto la globalità delle registrazioni utilizzate in fase di addestramento abbia dei contenuti di conoscenza o, al contrario, sia composta da dati fra di loro poco correlati e quindi non idonei ai fini della ricerca: infatti è possibile calcolare un indice   globale   di   omogeneità   dei   gruppi   nel   loro   insieme,   informando   il   ricercatore sull'idoneità   dell'archivio   dei   dati   sottoposti   ad   elaborazione   di   conseguire   gli   obiettivi attesi.

Visite: (1302)

neural_data_mining

L'opera ha per obiettivo di presentare e di descrivere nei dettagli gli algoritmi di calcolo per l'estrazione della conoscenza nascosta nei dati utilizzando il linguaggio Python, linguaggio che consente di leggere e capire facilmente la natura e le caratteristiche delle regole di calcolo utilizzate, a differenza di quanto avviene per gli applicativi commerciali forniti solo nella forma di codice eseguibile che restano misteriosi ed inaccessibili a qualsiasi modifica.

Gli algoritmi di calcolo contenuti nell'opera, minutamente descritti, documentati e disponibili in formato sorgente Python, hanno lo scopo di estrarre la conoscenza nascosta nei dati siano essi di tipo testuale o di tipo numerico.

Sono presentati anche diversi esempi di utilizzo, evidenziandone le caratteristiche, le modalità di esecuzione e fornendo i commenti ai risultati ottenuti.

Download KB Neural Data Mining

Sorgenti in Python: http://www.freeopen.org/?p=73

Esempi: http://www.freeopen.org/?p=89

KIndex: http://www.freeopen.org/?p=213

Visite: (706)

Python-Programming-Language_sourcesI 4 programmi in Python: kb_cat.py, kb_cla.py, kb_sta.py kb,_rnd.py  in kb_sources.zip

Nota bene: per ridurre di 7 volte il tempo di esecuzione, soprattutto di kb_cat.py, utilizzare pypy  (pypy.org) al posto di python.

Download kb_sources.zip

Inoltre è disponibile il programma kb_sim.py che consente di calcolare alcuni indici di somiglianza / similarità fra coppie dei gruppi ottenuti dal precedente  programma di catalogazione kb_cat.py.

Per mandarlo in esecuzione:

  • digitare in terminale python kb_sim.py
  • successivamente digitare il nome del file *_outsrt.txt ottenuto dal programma di catalogazione kb_cat.py
  • terminare digitando i nomi dei due gruppi per i quali si vogliono ottenere gli indici di similarità.

Come si può constatare dagli esempi allegati, la coppia dei mammiferi predatori G_03_01 con i mammiferi domestici G_03_00 ha indici di similarità di valore ben maggiore rispetto alle altre coppie.

Utilizzando il programma kb_sim_all.py, ogni gruppo è confrontato con tutti gli altri determinando quanti valori siano identici nelle variabili deile coppie in esame. Minori sono le coincidenze dei valori delle variabili presenti in entrambi i gruppi e maggiormente distinti fra di loro sono i gruppi.

I risultati del programma kb_sim_all.py possono confermare il valore di KIndex ottenuto dal programma kb_cat.py.

Download kb_sim.zip

Inoltre è disponibile il programma kb_pie.py che consente di ottenere un grafico a torta dei CV delle variabili / colonne del gruppo scelto.

CV_G_03_00Per mandarlo in esecuzione:

  • digitare in terminale python kb_pie.py
  • successivamente digitare il nome del file *_cv.txt ottenuto dal programma di catalogazione kb_cat.py
  • terminare digitando il nome del gruppo per il quale si vuole ottenere il grafico a torta dei CV.

Download kb_pie.zip

Inoltre è disponibile il programma kb_pie_cv.py che consente di ottenere un grafico a torta delle variabili / colonne evidenziandone il contributo a caratterizzare i gruppi attraverso il rapporto fra i CV dopo la catalogazione e i CV prima della catalogazione.

animals_cvPer mandarlo in esecuzione:

  • digitare in terminale python kb_pie_cv.py
  • successivamente digitare il nome del file *_cv.txt ottenuto dal programma di catalogazione kb_cat.py

Download kb_py_cv.zip

Visite: (824)

iris_groupsSono disponibili diversi esempi di utilizzo di KB_CAT con relativi output.

animali Animali da catalogare

biblio_rionali Prestiti nelle Biblioteche rionali

cancer Tumori al seno

censimento Censimento popolazione in Lombardia

contenitori Contenitori da catalogare

credit_rating Valutazione del fido

credit_score Valutazione del fido

gender_inequality Disuquaglianza di genere

heart Disturbi cardiaci

houses Caratteristiche delle abitazioni

iris Catalogazione dei fiori iris

mammal_size Dimensioni dei mammiferi

prestiti_biblio Prestiti nelle biblioteche

quart_milano Abitanti nei quartieri di Milano

ricettivita_turistica Ricettività turistica in Piemonte

running_records Record di corsa piana

sardegna_comuni_integrati Servizi nei comuni della Sardegna

sondaggio Sondaggio politico

student_scores Valutazione degli studenti

tecnologia Uso delle tecnologie

virusb Malattie epatiche

water_quality Qualità dell'acqua

wines Caratteristiche del vino

Visite: (764)

kb_inglese_copertina

The aim of this book is to present and describe in detail the algorithms to extract the knowledge hidden inside data using Python language, which allows us to read and easily understand the nature and the characteristics of the rules of the computing utilized, as opposed to what happens in commercial applications, which are available only in the form of running codes, which remain impossible to modify.

The algorithms of computing contained within the book are minutely described, documented and available in the Python source format, and serve to extract the hidden knowledge within the data whether they are textual or numerical kinds. There are also various examples of usage, underlining the characteristics, method of execution and providing comments on the obtained results.

Download KB_neural_data_mining

Python sources: http://www.freeopen.org/?p=73

Examples: http://www.freeopen.org/?p=89

KIndex: http://www.freeopen.org/?p=213

Know4Business - Neural Data Mining in Google App Engine - Tutorial

Know4Business in GAE Cloud provides six tools:

  • SOURCE to acquire and maintain records to process available in tabular form
  • CATALOGUE to catalog the sources, with an algorithm based on the theory of neural networks (Kohonen)
  • STATISTICS to perform statistical analysis, to explore the goodness of classification, in addition to the results of the cataloging function (see SHOW)
  • CLASSIFIER to classify new entities "on the fly", using the training matrix function obtained from the previous catalog
  • SHOW   to   view   the   reports,   analytical   and   descriptive   summary   of   the   groups   created   by   cataloging   and classification
  • CHART that displays a vertical bar graph in the CV (coefficient of variation) of the variables / columns of the identified groups

Download know4business_tutorial

Visite: (3644)

Achieved cataloging into groups by a SOM neural network, the question arises
whether or not there is knowledge in the groups, namely whether the groups are between them distinct and have homogeneous characteristics within each group.
The use of the coefficient of variation (CV) can be of help.
KINDEX (Knowledge Index) is an index that measures how much knowledge is
contained in the groups obtained from the SOM neural network: in the case KINDEX
reaches the maximum value of 1, each group would consist of records with constant
values ​​in all the variables / columns, and each group would be quite distinct
from other groups.
KINDEX is calculated using the weighted-average CV of variables / columns
groups, comparing them to the CV of the variables / columns of the input file before
cataloging.
************************************************************************

Coef_of_Var

Ottenuta la catalogazione in gruppi da una rete neurale di tipo SOM, sorge il dubbio
se nei gruppi esista o meno della conoscenza, ossia se i gruppi sono fra di loro
distinti e con caratteristiche omogenee all'interno di ogni gruppo.
L'utilizzo del coefficiente di variazione (CV) può essere di aiuto.
KIndex (Knowledge Index) è un indice che misura quanta conoscenza sia
contenuta nei gruppi catalogati: nel caso KIndex raggiunga il valore massimo di 1,
ogni gruppo sarebbe composto da record con valori costanti in tutte le variabili /
colonne e renderebbe ogni gruppo del tutto distinto dagli altri gruppi.
KIndex è calcolato utilizzando i CV medi-ponderati delle variabili / colonne dei
gruppi rapportandoli al CV delle variabili / colonne del file di input prima della
catalogazione.

Download kindex_clubti.pdf

Download kindex_articolo2_eng.pdf

Download kindex_py

  (438)

giustizia

Il libro contiene consigli pratici per chi volesse intraprendere la professione di Ctu (Consulente Tecnico di Ufficio) o di Ctp (Consulente Tecnico di Parte).
Contiene anche molti consigli legali, tecnici e di buon senso informatico utili a prevenire inutili e lunghi contenziosi.
L'esposizione dei temi trattati è volutamente semplice nei limiti consentiti dagli argomenti legali e informatici citati.
Le pagine sono il concentrato di quindici anni di esperienza presso il Tribunale di Milano sia come Ctu sia come Ctp.
La nuova edizione contiene nuovi capitoli dedicati all'Analisi forense, alla Perizia giurata / asseverata e alla sicurezza informatica nelle Imprese e nella Pubblica Amministrazione  e al Regolamento interno per dipendenti e collaboratori.

Download La perizia informatica

Visite: (757)

non_mi_spiegoQuando il Computer ride,
amaramente,
ma ride.
Ride di se stesso,
ride dei suoi stregoni,
ride dei suoi utilizzatori,
ride dei manager,
ride dei pigiatasti,
ride di quelli che se la tirano,
non rendendosi conto
che sono solo dei pigiatasti,
ride di quelli che dicono che
è colpa del computer
sapendo che il computer
non tiene lingua,
ride di quelli che pensano
che lui sia il migliore,
mentre è soltanto, nel bene e nel male,
soltanto un prodotto sempre perfettibile
dell'Uomo.

Download riso_amaro_computer

Visite:

(489)

mostri_webInternet   è   frequentato   da   personaggi   variamente   classificabili   che   fanno   del   web   una riserva  di soggetti seri, divertenti, pericolosi, pigri, curiosi, impiccioni, falsi, commoventi, teneri, scostumati, fanatici, arroganti, questuanti e via dicendo.
Molti navigatori possiedono contemporaneamente più profili psicologici di atteggiamento e
di comportamento. E'   importante   riconoscerli,   perché   riconoscendoli   forse   potremo   scoprire   anche   i   nostri maggiori difetti quando navighiamo nel web: personalmente sono un mostro sotto diversi aspetti e non mi sono offeso scrivendo quello che state leggendo.
Castigat ridendo mores: io, da aspirante mostro  tuttologo, penso che il mio  spargere il
ridicolo sui vizi e i difetti del web sia un piccolo apporto per un utilizzo più etico di Internet.

Download i mostri_del web

Visite: (424)

amaresulcis10

Il documento del link sottostante contiene suggerimenti pratici di azioni che le persone di buona volontà possono singolarmente e insieme intraprendere per uno sviluppo di un turismo diffuso ed ecocompatibile della Costa Sulcitana.
Le azioni suggerite sono attuabili valorizzando e facendo conoscere le risorse già presenti e fruibili nel territorio; non richiedono finanziamenti da parte delle istituzioni locali, regionali, statali o europee.
Non servono i tavoli di concertazione, le commissioni di valutazione, gli studi di fattibilità, i piani di programmazione, gli organi di controllo ecc.
Serve solo la buona volontà dei singoli per il bene di tutti.
Download amare_sulcis10

  (11)