-
.
Vettori, Matrici, Tensori: rappresentare dati con certe dimensioni
Prima di fare post riguardo al funzionamento Matematico dei Big Data è fondamentale dare nozioni di base per chi parte da zero.
I nostri dati possono essere rappresentati in diverse dimensioni.
Il singolo valore rappresenta uno scalare (ad esempio il valore 10 è uno scalare) e solitamente viene associato ad una specifica unità di misura, però un dato può essere definito anche da più valori.
Da qui in poi è doveroso fare una premessa importante: il concetto di Vettore, Matrice e Tensore sono in realtà molto ampi e possono esistere diverse interpretazioni.
In questo caso io voglio riferirmi alla rappresentazione matriciale di questi componenti e quindi partiamo dal concetto di Matrice: la matrice ha due dimensioni e viene rappresentata come una tabella.
Esisteranno quindi due indici: uno per la riga e uno per la colonna.
Se può semplificarvi la vita è come dover giocare a battaglia navale!
Vi propongo questa immagine di Wikipedia che può aiutarvi a capire il concetto di matrice
Ovviamente al posto di tutti gli elementi al posto di 'a' e i relativi indici di riga e colonna ci saranno dei valori.
Il valore di a12 verrà specificato con indice di riga = 1 e indice di colonna = 2.
Nella vita reale potete pensare ad esempio di avere due variabili: il Nome di una persona e il voto che fornisce a certi film, nelle righe verrà rappresentato il nome, mentre nella colonna verranno rappresentati i voti dei film.
Le parti in blu servono solo per farvi capire meglio il concetto, ma nell'implementazione della matrice saranno presenti solo le parti in giallo.
Dal concetto di matrice arriviamo al concetto di Vettore Riga o Vettore Colonna che al momento è la definizione di vettore che daremo poiché la più adatta per problemi informatici: immaginiamo un vettore come una matrice che sia formata da 1 riga e N colonne (vettore riga) oppure da N righe e 1 colonna (vettore colonna).
In questo modo possiamo rappresentare sequenze di dati a una dimensione.
Immaginiamo di avere la lista dei voti di una singola persona, questo è un esempio di vettore riga:
Infine se vogliamo rappresentare dati a più di 2 dimensioni possiamo utilizzare delle matrici multidimensionali, anche chiamate tensori.
Quindi:- Nella Matrice abbiamo due indici: uno per la riga e uno per la colonna;
- Nel Vettore abbiamo un indice: per la riga (vettore riga) oppure per la colonna (vettore colonna);
- Nel Tensore abbiamo più di due indici a seconda di quante dimensioni vogliamo rappresentare;
Questa struttura dati presa sempre da Wikipedia mostra come un Tensore possa essere rappresentato come una "Matrice a tre dimensioni"
Quindi per riassumere possiamo utilizzare questa immagine mostrata in questo articolo di Medium
. -
.
fino ai numeri me la cavavo, quando li hanno sostituiti con le lettere mi sono perso comunque i database sono matrici? . -
.fino ai numeri me la cavavo, quando li hanno sostituiti con le lettere mi sono perso comunque i database sono matrici?
Le "lettere" servono per dare generalità alle formule matematiche, comunque non sei l'unico
Ammetto che la domanda sui database e le matrici mi ha colpito e ho fatto anche qualche ricerca per evitare di risponderti con una stupidaggine.
In C sono abituato a pensare che le matrici siano una tabella di elementi tutti dello stesso tipo (ad esempio o solo numeri interi o solo numeri reali), ovvero appartengano tutti a uno stesso insieme.
Vi è anche da dire che il concetto di Insieme può essere ampio e racchiudere anche dati di tipo diverso.
Quindi in generale per me la risposta è sì, più correttamente un database non è una matrice, ma un insieme di matrici (le tabelle del database).. -
.Quindi in generale per me la risposta è sì, più correttamente un database non è una matrice, ma un insieme di matrici (le tabelle del database).
ecco sì, ero stato impreciso, mi riferivo alle tabelle di un db.