La dipendenza funzionale

Una dipendenza funzionale è una relazione che si instaura tra due proposizioni. E' anche detta determinazione.

A cosa serve? E' usata per migliorare l'efficienza di un sistema informativo nelle operazioni di ricerca. E' anche usata come conoscenza pregressa nei sistemi di apprendimento induttivo ( machine learning ).

Un esempio pratico

Ho due proposizioni P e Q.

P = x è italiano
Q = x parla italiano

Il database del training set è composto da cinque record (x1,...,x5).

Ogni record identifica una persona ed è composto da quattro attributi (Nome, Cittadinanza, Lingua e Altezza).

il training set di apprendimento

Analizzando i dati si intravede subito una dipendenza funzionale.

Posso rappresentarla con la logica del primo ordine nel seguente modo:

la rappresentazione della dipendenza funzionale con la logica del primo ordine

oppure in modo più sintetico tramite la seguente notazione:

la rappresentazione sintetica di una determinazione

La dipendenza funzionale afferma che ogni persona italiana parla l'italiano.

E così via.

Pro e contro delle dipendenze funzionali

Vantaggi

Le dipendenze funzionali migliorano l'efficienza del processo di apprendimento, perché si riduce lo spazio delle ipotesi da analizzare.

Nota. La complessità computazionale di un algoritmo che usa le dipendenze funzionali è nettamente inferiore rispetto a un semplice algoritmo di costruzione degli alberi decisionali.

Esempio

Per capire se una persona parla una lingua, gli attributi Nome e Altezza sono irrilevanti.

Quindi possono essere eliminati.

la riduzione dello spazio delle ipotesi

Svantaggi

Non tutte le dipendenze funzionali sono rilevanti. Alcune dipendenze lo sono, mentre altre no.

Inoltre, esistono dipendenze che sono rilevanti soltanto apparentemente ( cd falsi amici ). E sono le più pericolose.

Esempio

Se entrambe le persone italiane del training set si chiamassero Mario, potrei dedurre che tutti gli italiani si chiamano Mario o soltanto chi si chiama Mario parla l'italiano.

E ovviamente, così non è.

un esempio di falso amico nei dati

Una base di conoscenza ( conoscenza pregressa ) costruita su false dipendenze funzionali è pericolosa perché fuorviante.

Pertanto, trovare le dipendenze funzionali rilevanti è un aspetto molto importante.

Nota. A cosa servirebbe sviluppare sviluppare un algoritmo che trova velocemente la risposta sbagliata?

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Libri di approfondimento

Machine Learning (ML)