Skip to content

Classificazione di testi, entropia e clustering

Per classificare un testo in base al suo contenuto è necessario ottenere un vettore di ingresso.

Prendiamo un vettore con le 𝑛 parole più significative del ‘dizionario’. Poi per ogni parola trovata nel testo, aumentiamo di 1 la componente corrispondente nel vettore (bag of words).

Otteniamo un grande vettore di ingresso. Ora dobbiamo capire quali sono le features più significative. Per trovare correlazioni tra coppie di parole possiamo misurarne la dipendenza.

|ℙ(word1,word2)−ℙ(word1)ℙ(word2)|

Se il valore della differenza è alto, allora c’è alta dipendenza tra le variabili.

Si usa per testare la dipendenza degli output dall’input.

Χ2=∑𝑦,𝑥(count𝑦,𝑥−𝑛ℙ(𝑦)ℙ(𝑥))2𝑛ℙ(𝑦)ℙ(𝑥)

Dove count𝑦,𝑥 è il numero di occorrenze del valore 𝑥 per una data classe 𝑦 e 𝑛 è il numero totale di esempi nel dataset.

Le features migliori sono quelle con il Χ2 più grande.

Si usa per misurare quanta informazione fornisce una certa feature, maggiore è l’incertezza, maggiore sarà il valore:

𝐻(𝑌)=−∑𝑦∈𝑌ℙ(𝑦)log(ℙ(𝑦))[bit]

Quando conosciamo un valore d’ingresso 𝑥𝑖, otteniamo l’entropia condizionale. Essa sarà minore o uguale a quella iniziale.

𝐻(𝑌|𝑋𝑖)=∑𝑥𝑖∈𝑋𝑖ℙ(𝑥𝑖)(−∑𝑦∈𝑌ℙ(𝑦|𝑥𝑖)log(ℙ(𝑦|𝑥𝑖)))[bit]

L’informazione mutua di 𝑥𝑖 è definita come la differenza tra l’entropia iniziale e quella condizionale.

𝐼(𝑌,𝑋𝑖)=𝐻(𝑌)−𝐻(𝑌|𝑋𝑖)=∑𝑦,𝑥𝑖ℙ(𝑦,𝑥𝑖)log(ℙ𝑦,𝑥𝑖ℙ(𝑦)ℙ(𝑥𝑖))

Se 𝑦 e 𝑥𝑖 sono indipendenti, allora 𝐼(𝑌,𝑋𝑖)=0 e possiamo scartare la feature.

L’informazione mutua è in grado di catturare dipendenze non lineari arbitrarie tra due variabili, quindi ci dice se otteniamo informazioni anche quando il coefficiente di correlazione è 0.

Il clustering è l’operazione di raggruppare nuovi input (in maniera non supervisionata) e assegnare etichette ad essi.

A livello matematico, significa riconoscere delle singole varietà all’interno di spazi altamente dimensionali. Fatto questo, molte features diventeranno ridondanti e quindi potranno essere scartate.

La compressione dell’informazione avviene attraverso i prototipi. Ogni prototipo riassume l’informazione contenuta nel sottoinsieme di casi che rappresenta. In questo caso riassumere significa applicare una funzione 𝑓:ℝ𝑛→ℝ𝑚, dove 𝑛>𝑚.

Approcci per l’apprendimento non supervisionato

Section titled “Approcci per l’apprendimento non supervisionato”
  • top-down: si decide il numero di classi e poi si dividono i dati in queste classi.
  • bottom-up: si inizia a raggruppare i dati e ci si ferma quando ha senso per la specifica applicazione.