• Non ci sono risultati.

Clustering gerarchico e rappresentazione tramite dendrogramma

2.7 Concatenazione di voice leading e serie temporali

2.7.2 Clustering gerarchico e rappresentazione tramite dendrogramma

Nell’esempio precedente abbiamo visto come confrontare i brani a coppie attraverso la DTW.

Possiamo pensare ora a un insieme di n brani (o alla loro rappresentazione come concatenazio-

ne di voice leading) come a una nuvola di n punti in uno spazio metrico, in cui la distanza tra

due punti `e la distanza DTW; `e ora possibile descrivere il posizionamento tra tali punti attra-

verso un’analisi di clustering gerarchico (si veda [Ott 2009] e [Jain e Dubes 1988]). Questa analisi

restituisce una semplice rappresentazione di tutti i possibili cluster tra i punti, visualizzabile

come dendrogramma.

2.7. CONCATENAZIONE DI VOICE LEADING E SERIE TEMPORALI

49

0 10 9 8 7 6 5 4 3 2 1 0

A

B

C

D

E

H

G

F

I

J

(a) Insieme di dati bidimensionali.

2 4 6 8 10 12 14 16 A B C D I E H F G J (b) Dendrogramma.

Figura 2.17: Dendrogramma che riporta la dissomiglianza tra dati. La struttura della nuvola

di punti `e fatta da due gruppi distinti e da due elementi outliers. Il dendrogramma riporta

una tale struttura, rappresentando i due gruppi come cluster separati e unendo gli outliers ai

cluster rispettando la loro posizione relativa rispetto alla configurazione della nuvola di punti.

Rappresentazione di dati tramite dendrogrammi

I dendrogrammi forniscono una rappresentazione intuitiva del clustering gerarchico di dati (si

veda [Langfelder, Zhang e Horvath 2008], [W. L. Martinez, A. R. Martinez e Solka 2010] per una

descrizione completa di questi argomenti). Si considerino i dati bidimensionali rappresentati

come punti inR

2

nella figura 2.17a. I dati formano due cluster e hanno due elementi distaccati

(outliers) etichettati come I e J. L’asse orizzontale del dendrogramma rappresenta la distanza (o

dissomiglianza) tra i cluster, mentre ogni oggetto `e rappresentato dalla sua etichetta nell’asse

verticale. L’informazione che restituisce il dendrogramma riguarda quindi la somiglianza e

il clustering tra dati. Ogni unione `e rappresentata dalla divisione di una linea orizzontale in

due linee orizzontali. La posizione della divisione consente di recuperare la distanza tra due

cluster. Osservando il dendrogramma nella figura 2.17b, si pu `o vedere come i due cluster

principali sono rappresentati come rami che stanno circa alla stessa distanza. I valori anomali

sono congiunti a distanze ben pi `u elevate.

I valori presenti all’interno di un dendrogramma sono chiamati foglie (o leaves, in inglese).

Calcolo del dendrogramma

Si consideri un gruppo di n oggetti e sia D

= (d

u v

)la matrice

che rappresenta la distanza tra i cluster u e v, composti da n

u

e n

v

oggetti rispettivamente. Il

dendrogramma `e calcolato come segue:

1. Si trovano i cluster u e v tali che d

u v

`e minimo in D.

2. Si raggruppano u e v in un nuovo cluster z con n

z

=n

u

+n

v

oggetti.

3. Occorre ora ricalcolare le distanze tra il nuovo cluster z e gli altri cluster w, ottenendo

una nuova matrice di distanze; a ogni tipo di distanza calcolata corrisponde la scelta di

un diverso algoritmo. Citiamo alcuni degli algoritmi pi `u utilizzati:

Sicut

Estote Discendi Se Tu m’accogli

Sicut

0 0, 7585

1, 6229

1, 3089

Estote 0, 7585

0

1, 5336

1, 2251

Discendi 1, 6229 1, 5336

0

1, 0962

Se Tu m’accogli 1, 3089 1, 2251

1, 0962

0

Tabella 2.5: Matrice delle distanze DTW tra i brani analizzati in questi esempi.

• Il linkage singolo (single) assegna la distanza:

d

z w

=min{d(z

i

, w

j

) |i∈ {1, 2, . . . , n

z

}, j∈ {1, 2, . . . , n

w

}}

• il linkage completo (complete) assegna come distanza:

d

z w

=max{d(z

i

, w

j

) |i∈ {1, 2, . . . , n

z

}, j∈ {1, 2, . . . , n

w

}}

• nel linkage medio (average) la distanza tra cluster `e definita come media aritmetica

delle distanze:

d

z w

=

i=1,...,nz j=1,...,nw

d(z

i

, w

j

)

n

z

·n

w

• il linkage pesato (weighted), infine, assegna la seguente distanza:

d

z w

=

d

(u, w) +d(v, w)

2

4. Si iterano i passaggi precedenti.

Il metodo del clustering gerarchico ha una propriet`a fondamentale: l’assegnazione di un ogget-

to a un cluster `e irrevocabile, ovvero una volta che un oggetto `e entrato a far parte di un cluster,

non ne viene pi `u rimosso.

Esempio 2.7.2.

Proviamo ad applicare il clustering gerarchico ai brani analizzati nell’esempio

2.7.1.

Per allargare la complessit`a del dendrogramma, aggiungiamo all’analisi una versione del

corale Wer nur den lieben Gott l¨aßt walten, armonizzato da Johann Sebastian Bach su melodia di

Georg Neumark (di seguito riportato col titolo della versione in italiano, Se Tu m’accogli), gi`a

citato a pagina 24; una volta analizzati i suoi voice leading, le distanze DTW rispetto agli altri

brani sono riportate, insieme a quelle della tabella 2.4, nella tabella 2.5.

Dalle distanze delle tabelle 2.4 e 2.5 si ottiene il dendrogramma riportato in figura 2.18 a

fronte. Si pu `o vedere come ci siano due cluster nettamente distinti: uno formato dai due brani

del 1500, caratterizzati da una grande indipendenza tra le voci, l’altro formato dai due brani

pi `u omoritmici, sebbene Se Tu m’accogli riporti una complessit`a maggiore rispetto a Discendi

Santo Spirito.

2.7. CONCATENAZIONE DI VOICE LEADING E SERIE TEMPORALI

51

Sicut cervus

Estote fortes

Se Tu m'accogli

Discendi, Santo Spirito

0.0

0.5

1.0

1.5

2.0

Figura 2.18: Dendrogramma che rappresenta il clustering tra i quattro brani polifonici

analizzati in precedenza.

Capitolo 3

Metodi e risultati

In questo capitolo sar`a mostrato il procedimento sperimentale utilizzato per l’analisi: nella

prima sezione sono presentati i metodi con cui essa `e stata affrontata, per poi descrivere i brani

analizzati e infine riportare e commentare i risultati.

3.1

Algoritmo e metodi utilizzati

Il linguaggio utilizzato per l’analisi `e Python, versione 2.7.10; l’algoritmo iniziale `e quello utiliz-

zato in [Bergomi 2015, Parte 2] e [Bergomi, Jadanza e Portaluri 2015], opportunamente adattato

per gli scopi di questa tesi.

I brani analizzati, in formato MIDI, vengono codificati come liste di pitch dal pacchetto

Music21; i file MIDI sono creati con il software di scrittura musicale Finale; la versione del

programma che `e stata utilizzata `e la versione 2012a.

I file MIDI devono presentare le seguenti caratteristiche:

• Ogni traccia del file riferita a voci diverse deve essere impostata su un canale diverso;

• Nel caso dei MIDI generati con Finale, occorre impostare Human Playback su Nessuno

prima di esportare il file in formato MIDI, per evitare complicazioni nella fase di conteg-

gio dei valori delle note, necessaria per quanto descritto nella sezione 3.1.3 nella pagina

successiva;

• All’inizio della sperimentazione era necessario che ogni voce fosse in un file MIDI se-

parato; si `e poi modificato l’algoritmo di conversione MIDI, consentendo di inserire un

unico file per ogni brano, riducendo sensibilmente le tempistiche di sperimentazione. Si

`e comunque conservata la possibilit`a precedente.

Documenti correlati