Dimensionalità e varietà


13

Una frase comunemente ascoltata nell'apprendimento automatico senza supervisione è

Gli input ad alta dimensione in genere vivono su o vicino a una varietà a bassa dimensione

Che cos'è una dimensione? Che cos'è una varietà? Qual è la differenza?

Puoi fare un esempio per descrivere entrambi?

Collettore da Wikipedia:

In matematica, una varietà è uno spazio topologico che ricorda lo spazio euclideo vicino a ciascun punto. Più precisamente, ogni punto di una varietà n-dimensionale ha un vicinato omeomorfo allo spazio euclideo della dimensione n.

Dimensione da Wikipedia:

In fisica e matematica, la dimensione di uno spazio (o oggetto) matematico è definita in modo informale come il numero minimo di coordinate necessarie per specificare qualsiasi punto al suo interno.

Cosa significa Wikipedia anche in termini laici? Sembra una definizione bizzarra come la maggior parte della definizione di machine learning?

Sono entrambi spazi, quindi qual è la differenza tra uno spazio euclideo (es. Manifold) e uno spazio dimensionale (es. Basato su feature)?


1
Hai provato la ricerca in Internet? Questo dovrebbe essere abbastanza.
Aleksandr Blekh,

1
sì, avevo google ma sicuramente non è abbastanza, vedi la domanda aggiornata.
alvas,

1
Non sono sicuro che sia una buona idea cercare una spiegazione di concetti complessi di apprendimento automatico "in termini profani". Inoltre, dovresti ampliare la tua ricerca oltre Wikipedia.
Aleksandr Blekh,

Risposte:


29

Che cos'è una dimensione?

Per dirla semplicemente, se si dispone di un set di dati tabulari con m righe e n colonne, la dimensionalità dei dati è n:

Che cos'è una varietà?

L'esempio più semplice è il nostro pianeta Terra. Per noi sembra piatto, ma è davvero una sfera. Quindi è una specie di varietà 2d incorporata nello spazio 3d.

Qual è la differenza?

Per rispondere a questa domanda, considera un altro esempio di varietà:

inserisci qui la descrizione dell'immagine

Questo è il cosiddetto "swiss roll". I punti dati sono in 3d, ma si trovano tutti su 2d manifold, quindi la dimensionalità del manifold è 2, mentre la dimensionalità dello spazio di input è 3.

Esistono molte tecniche per "scartare" queste varietà. Uno di questi si chiama Incorporamento lineare locale , ed è così che:

inserisci qui la descrizione dell'immagine

Ecco uno snippet di apprendimento di scikit per farlo:

from sklearn.manifold import LocallyLinearEmbedding

lle = LocallyLinearEmbedding(n_neighbors=k, n_components=2)
X_lle = lle.fit_transform(data)
plt.scatter(X_lle[:, 0], X_lle[:, 1], c=color)
plt.show()

6

La dimensionalità di un set di dati è il numero di variabili utilizzate per rappresentarlo. Ad esempio, se fossimo interessati a descrivere le persone in termini di altezza e peso, il nostro set di dati "persone" avrebbe 2 dimensioni. Se invece avessimo un set di dati di immagini e ogni immagine sia un milione di pixel, la dimensionalità del set di dati sarebbe un milione. In effetti, in molte moderne applicazioni di machine learning, la dimensionalità di un set di dati potrebbe essere enorme.

Quando la dimensionalità è molto grande (maggiore del numero dei campioni nel set di dati), potremmo riscontrare alcuni seri problemi. Considera un semplice algoritmo di classificazione che cerca di trovare un insieme di pesi in modo tale che, quando punteggiato con un campione x, dia un numero negativo per una classe e un numero positivo per un'altra. w avrà una lunghezza uguale alla dimensionalità dei dati, quindi avrà più parametri di quanti sono i campioni nell'intero set di dati. Ciò significa che uno studente sarà in grado di sovrautilizzare i dati e di conseguenza non generalizzerà bene ad altri campioni non visti durante l'allenamento.

Una varietà è un oggetto di dimensionalità d che è incorporato in uno spazio dimensionale superiore. Immagina una serie di punti su un foglio di carta. Se pieghiamo la carta, i punti sono ora in 3 dimensioni. Molti algoritmi di apprendimento molteplici cercano di "sgualcire" il foglio di carta per riportare i dati in 2 dimensioni. Anche se non ci occupiamo del sovradimensionamento del nostro modello, un discente non lineare può produrre uno spazio che semplifica i problemi di classificazione e regressione.


Ci sono casi in cui l'alta dimensionalità non si piega a una varietà?
alvas,

Decisamente! A volte, i dati giacciono già nel loro spazio intrinseco. In tal caso, tentare di ridurre la dimensionalità sarà probabilmente deleterio per le prestazioni di classificazione. In questi casi, dovresti scoprire che le funzionalità nel set di dati che stai utilizzando sono in gran parte statisticamente indipendenti l'una dall'altra.
Giordania,

1

Un modo per ridurre le dimensioni è fare l'hash delle caratteristiche. Questo era noto negli anni '60. Ad esempio, se i tuoi dati sono un insieme sparso di punti in 3 dimensioni (x, y, z) crei una (buona) funzione hash h (x, y, z). Puoi usarlo ovviamente per una tabella hash o per una ricerca del filtro Bloom. Questa è una buona forma di compressione dei dati. Non so perché la comunità AI non la usi. È molto più al punto di una rete neurale.


1
In che modo la riduzione della dimensionalità è collegata a molteplici?
alvas,

È un modo per selezionare tutto sul collettore ed escludere tutto il resto.
SeanOCVN,

Penso che @alvas abbia ragione qui. Non è immediatamente chiaro come ciò si collega alla domanda originale riguardo a una spiegazione di varietà e dimensioni.
Ryan J. Smith,

Per aiutare a risolvere il collegamento mancante della risposta di SeanOCVN e il commento delle alvas: Una varietà (in uno spazio topologico) è l'output dell'esecuzione dell'algoritmo di incorporamento lineare locale (o a) con i dati di input in uno spazio incorporato. Il risultato è che la quantità della dimensione dei dati di input è superiore alla quantità della dimensione dei dati di output. L'estrazione di una nuova rappresentazione di dati (mappabile alla rappresentazione di dati originale) viene definita "estrazione di caratteristiche"; che è un sottotipo di "riduzione della dimensionalità".
pds

0

@Alexey Grigorev ha già dato un'ottima risposta, tuttavia penso che potrebbe essere utile aggiungere due cose:

  • Vorrei fornirti un esempio che mi ha aiutato a comprendere il significato della varietà in modo intuitivo.
  • Elaborando ciò, vorrei chiarire un po 'la "somiglianza allo spazio euclideo".

Esempio intuitivo

Immagina di lavorare su una raccolta di immagini HDready (in bianco e nero) (1280 * 720 pixel). Quelle immagini vivono in un mondo di 921.600 dimensioni; Ogni immagine è definita da singoli valori di pixel.

Ora immagina che costruiremmo queste immagini riempiendo ogni pixel in sequenza lanciando un dado a 256 facce.

L'immagine risultante sarebbe probabilmente simile a questa:

inserisci qui la descrizione dell'immagine

Non molto interessante, ma potremmo continuare a farlo fino a quando non colpiamo qualcosa che vorremmo mantenere. Molto stancante, ma potremmo automatizzare questo in poche righe di Python.

Se lo spazio delle immagini significative (per non parlare del realistico) fosse anche remoto quanto lo spazio dell'intera feature, vedremmo presto qualcosa di interessante. Forse vedremmo una tua foto per bambini o un articolo di notizie da una sequenza temporale alternativa. Ehi, che ne dici di aggiungere una componente temporale, e potremmo anche essere fortunati e generare Ritorno al futuro con un finale alternativo

In effetti avevamo macchine che facevano esattamente questo: le vecchie TV non erano sintonizzate correttamente. Ora ricordo di averli visti e non ho mai visto nulla che avesse persino una struttura.

Perché succede? Bene: le immagini che riteniamo interessanti sono in realtà proiezioni ad alta risoluzione di fenomeni e sono governate da cose molto meno dimensionali. Ad esempio: la luminosità della scena, che si avvicina a un fenomeno monodimensionale, in questo caso domina quasi un milione di dimensioni.

Ciò significa che esiste un sottospazio (il molteplice), in questo caso (ma non per definizione) controllato da variabili nascoste, che contiene le istanze che ci interessano

Comportamento euclideo locale

Comportamento euclideo significa che il comportamento ha proprietà geometriche. Nel caso della luminosità che è molto evidente: se la aumenti lungo "il suo asse", le immagini risultanti diventano continuamente più luminose.

Ma è qui che diventa interessante: quel comportamento euclideo funziona anche su dimensioni più astratte nel nostro spazio Collettore. Considera questo esempio di Deep Learning di Goodfellow, Bengio e Courville

A sinistra: la mappa 2-D delle facce di Frey è molteplice.  Una dimensione che è stata scoperta (orizzontale) corrisponde principalmente a una rotazione del viso, mentre l'altra (verticale) corrisponde all'espressione emotiva.  A destra: la mappa 2-D del collettore MIST

A sinistra: la mappa 2-D delle facce di Frey è molteplice. Una dimensione che è stata scoperta (orizzontale) corrisponde principalmente a una rotazione del viso, mentre l'altra (verticale) corrisponde all'espressione emotiva. A destra: la mappa 2-D del collettore MIST

Uno dei motivi per cui l'apprendimento profondo ha così tanto successo nell'applicazione che coinvolge le immagini è perché incorpora una forma molto efficiente di apprendimento multiplo. Questo è uno dei motivi per cui è applicabile al riconoscimento e alla compressione delle immagini, nonché alla manipolazione delle immagini.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.