Questo sito utilizza cookie di terze parti per inviarti pubblicità in linea con le tue preferenze. Se vuoi saperne di più clicca QUI 
Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie. OK

Tecniche di classificazione basate sulla separazione sferica di insiemi

La costruzione di macchine capaci di apprendere da esperienze è stato per molto tempo oggetto di dibattiti sia filosofici che tecnici. L’aspetto tecnico di queste discussioni ha ricevuto un impulso significativo dopo l’avvento dei calcolatori elettronici, i quali hanno dimostrato che le macchine possono mostrare un elevato livello di abilità d’apprendimento, sebbene i limiti e le possibilità di queste abilità siano ancora molto lontani dall’essere definiti in modo chiaro ed esplicito.
La disponibilità di sistemi learning affidabili è d’importanza strategica, poiché esistono tipi di problemi che non possono essere risolti da tecniche classiche di programmazione, giacché per essi non sempre sono presenti modelli matematici attendibili.
Generalmente, quando sono utilizzati calcolatori e software di risoluzione per problemi di natura pratica, gli algoritmi che permettono di raggiungere dei risultati (output) a partire da dati d’ingresso (input) sono descritti in modo rigoroso e preciso: l’obiettivo di chi analizza il sistema è dare delle specifiche esplicite al programmatore che implementa il codice, in modo tale da definire una sequenza d’istruzioni che i computer eseguono step by step.
I computer, quindi, elaborano dati cercando di risolvere problemi molto complessi; comunque, nella realtà esistono situazioni che non possono essere affrontate con algoritmi matematici specifici, o per l’elevato costo computazionale che essi comportano o per la natura delle stesse; prendiamo ad esempio la modellazione di reazioni chimiche complesse, dove non si conosce esattamente l’interazione dei differenti reagenti, o la classificazione dei tipi di proteine, basata sulla sequenza del DNA da cui sono state generate. Questi problemi non possono essere risolti tramite l’approccio tradizionale di programmazione dal momento che non è possibile specificare con precisione il modello matematico che restituisce l’output del sistema, nonostante se ne conosca l’input.
Una strategia alternativa per la risoluzione di questi tipi di problemi è per i calcolatori tentare di apprendere (learn) la funzione input/output da determinati esempi; quest’approccio è conosciuto come metodologia learning, mentre gli esempi sono detti training data.
Infatti, le coppie input/output tipicamente riflettono una relazione funzionale che colleghi gli ingressi alle uscite, sebbene spesso le stesse uscite siano alterate da disturbi; questa funzione è detta target function. Nei problemi di classificazione, la stima di questa funzione o il valore che fuoriesce dall’applicazione di un algoritmo learning è detto decision function. Di solito, si sceglie la funzione da un insieme particolare di funzioni candidate dette ipotesi. Quindi, due aspetti fondamentali di questa strategia sono la scelta della classe delle ipotesi e l’algoritmo che utilizza come dati di ingresso i training data.
Negli esempi precedenti, gli output potrebbero essere un numero finito di categorie per la classificazione dei tipi di proteine, e le concentrazioni dei reagenti nel modello di una reazione chimica.
La qualità di un algoritmo learning si misura, utilizzando il cross-validation protocol, con il valor medio di correttezza sui training set e testing set; tutto questo include quindi la presenza inevitabile di errori sia nella fase di training che di testing, derivabile essenzialmente da due problemi: a) non sempre la funzione che cerchiamo è di semplice rappresentazione e perciò di facile verifica; b) spesso i dati di training non sono corretti, con la conseguenza di avere una funzione che rappresenti in modo sbagliato il legame input/output.
Gli svantaggi della metodologia learning sono quindi molti e tutti meritevoli di analisi e studi attenti e approfonditi; un possibile inconveniente, per esempio, deriva dalla scelta sbagliata della funzione da una classe non sufficientemente ricca, oppure eccessivamente grande tanto da rendere proibitiva la complessità d’apprendimento. A causa, perciò, di queste difficoltà sono evidenti le severe restrizioni sui possibili campi d’applicabilità di quest’approccio.
A dispetto di questi inconvenienti, però, esistono vantaggi incredibili dallo studio e dall’utilizzo del Learning: innanzi tutto, come detto sopra, la possibilità di analizzare sistemi reali altamente complessi e non modellabili, e quindi il vasto range di applicazione su problemi che non potrebbero essere risolti dalle tecniche usuali, ed inoltre l’evidente mole di lavoro di progettazione e programmazione, che queste tecniche comportano e che può essere evitato.
In questo campo un significativo passo in avanti è stato fatto dallo sviluppo delle Support Vector Machines (SVMs), un insieme di sistemi learning che utilizzano uno spazio di funzioni lineari (ipotesi) in uno spazio caratteristico ad alta dimensione, in cui applicano algoritmi derivanti da teorie di ottimizzazione.

Mostra/Nascondi contenuto.
2 Introduzione La metodologia learning La costruzione di macchine capaci di apprendere da esperienze è stato per molto tempo oggetto di dibattiti sia filosofici che tecnici. L’aspetto tecnico di queste discussioni ha ricevuto un impulso significativo dopo l’avvento dei calcolatori elettronici, i quali hanno dimostrato che le macchine possono mostrare un elevato livello di abilità d’apprendimento, sebbene i limiti e le possibilità di queste abilità siano ancora molto lontani dall’essere definiti in modo chiaro ed esplicito. La disponibilità di sistemi learning affidabili è d’importanza strategica, poiché esistono tipi di problemi che non possono essere risolti da tecniche classiche di programmazione, giacché per essi non sempre sono presenti modelli matematici attendibili. Generalmente, quando sono utilizzati calcolatori e software di risoluzione per problemi di natura pratica, gli algoritmi che permettono di raggiungere dei risultati (output) a partire da dati d’ingresso (input) sono descritti in modo rigoroso e preciso: l’obiettivo di chi analizza il sistema è dare delle specifiche esplicite al programmatore che implementa il codice, in modo tale da definire una sequenza d’istruzioni che i computer eseguono step by step. I computer, quindi, elaborano dati cercando di risolvere problemi molto complessi; comunque, nella realtà esistono situazioni che non possono essere

Laurea liv.I

Facoltà: Ingegneria

Autore: Salvatore Tucci Contatta »

Composta da 53 pagine.

 

Questa tesi ha raggiunto 1068 click dal 08/02/2005.

 

Consultata integralmente 2 volte.

Disponibile in PDF, la consultazione è esclusivamente in formato digitale.