• Non ci sono risultati.

(a) Visuale Molecola (b) Dettaglio Atomo

Figura 5.7: Dettaglio del formato usato per visualizzare le molecole.

5.3

Contributi Strutturali

Come accennato nell’introduzione del capitolo, la particolarit`a di questo tool `e di poter evidenziare le sotto strutture che hanno contribuito maggiormente alla predizione, in modo da fornire un ulteriore supporto all’esperto che user`a il sistema. Come `e mostrato in Fig. 5.7, nella vista dettagliata di una molecola `e possibile individuare le seguenti informazioni:

• Il nome identificativo della molecola;

• Un numero progressivo identificativo di ogni atomo; • Il contributo numerico del singolo atomo;

• Un marker che indica il peso del contributo nel costituire la predizione;

Come descritto precedentemente (vedere Sez. 2.4) parlare del contributo degli ato- mi, o di gruppi di atomi, per generare la predizione di una propriet`a di una molecola `e equivalente, nel nostro approccio, a parlare del contributo dei vertici del grafo associato a quella molecola, all’interno del modello NN4G.

Per attribuire un valore numerico al contributo di ogni vertice di un grafo si `e, quindi, partiti dall’equazione del layer di uscita (2.27) del modello NN4G, riscrivendola

in una forma che mettesse in risalto il contributo dei vertici yo(g ) = fo Nh−1 X h=0 ˜ wohXh(g ) + bo ! = fo Nh−1 X h=0 ˜ woh · 1 k X v∈vg xh(v) + bo ! = = fo X v∈vg 1 k Nh−1 X h=0 ˜ wohxh(v) + bo !

Dato che nel nostro caso utilizziamo un task di classificazione binaria, il modello presenter`a un’unica uscita. Da qui possiamo definire la funzione contributo Cv(g ),

corrispondente al contributo del vertice v rispetto al grafog

Cv(g ) = 1 k Nh−1 X h=0 ˜ whxh(v) (5.1)

dove ˜w sono i pesi dell’unit`a di uscita del modello. Nelle istanze addestrate, ed usate per i test eseguiti con il predittore, il valore di normalizzazione k si `e posto pari al massimo numero di vertici nei grafi del training set. Questa formulazione permette di avere la seguente equivalenza in modo da avere l’equivalenza:

f X

v∈vg

Cv(g ) + b

!

= y(g )

Mediante l’equazione (5.1) `e possibile definire l’uscita del modello, in risposta ad una certa molecola, in base ai contributi dei singoli atomi. Questa informazione viene fornita all’esperto nella rappresentazione grafica della molecola, in modo da permetterli di identificare agevolmente le sotto-strutture che contribuiscono maggiormente alla formulazione della predizione.

Seguendo lo stile di altri tool, come T.E.S.T. (vedere Fig. 3.4), il predittore svi- luppato fornisce all’esperto un’equazione (vedere Fig. 5.4) che mette in risalto i coef- ficienti usati dal modello per effettuare la predizione. A differenza di altri tool, dove mostravano come coefficienti i descrittori usati, nel nostro caso saranno presenti i vari contributi strutturali, con una corrispondenza binaria con gli atomi visualizzati nella rappresentazione grafica.

La rappresentazione grafica della molecola (visibile in Fig. 5.7) permette, nel suo complesso, di avere una buona sintesi visuale del contributo degli atomi nel formulare l’esito della predizione, anche nel caso si osservino diverse molecole alla volta (come nel caso visibile in Fig. 5.3).

Il colore assegnato al marker del contributo di un atomo permette di riconoscere rapidamente le seguenti informazioni:

5.3 Contributi Strutturali 103

• se il contributo `e positivo o negativo, in base al colore: rosso e verde, rispettiva- mente;

• la grandezza del contributo, rispetto ai contributi massimi e minimi riscontrati dal modello sul training set, rappresentato mediante una trasparenza del marker: pi`u il marker `e trasparente e minore sar`a il peso relativo del contributo;

• se il contributo supera o meno la soglia del modello, ovvero il bias dell’unit`a di uscita, rappresentato da una componente blu aggiunta ai colori rosso e verde del segno del contributo;

Questo sistema `e finalizzato ad evidenziare graficamente il peso che i contributi hanno, positivo o negativo, nel formulare la predizione, facendo passare in secondo piano i contributi di minore peso (sia in assoluto, che rispetto alla soglia del modello).

Nel dettaglio, il colore c del marker `e espresso nella tupla dei sui componenti c = (cr, cg, cb, cα), dove cr, cg, cb ∈ [0, 1] sono le sue componenti rosse, verdi e blu e cα∈ [0, 1]

`e il suo coefficiente di trasparenza. Queste componenti sono formate nel seguente modo: • cr = max N orm Cv(g ) , 0 • cg = max −N orm Cv(g ) , 0 • cb = max  1 −|Cv(g )| |b| , 0  • cα = |N orm Cv(g ) |

dove b `e il valore bias dell’unit`a di uscita del modello, e N orm(Cv(g )) `e definito nel

seguente modo: N orm Cv(g ) =            1 N orm Cv(g ) > 1 −1 N orm Cv(g ) < −1 N orm Cv(g )  altrimenti (5.2) con: N orm Cv(g ) = 2 · Cv(g ) − Cmin Cmax− Cmin − 1

dove Cmax e Cmin sono, rispettivamente, il massimo e il minimo contributo valutato su

tutti gli atomi del training set usato per addestrare il modello. In caso di bias dell’unit`a di uscita nullo, il colore blu sar`a nullo.

Dato che i coefficienti dei colori richiedono un valore normalizzato, `e necessario ese- guire una normalizzazione dei contributi. L’equazione (5.1) `e una combinazione lineare di coefficienti limitati in un certo intervallo5, dunque risulta teoricamente limitata nel codominio. In pratica, tuttavia, questo limite si applica solo in limitate situazioni e una normalizzazione in funzione di contributi massimi e minimi riscontrati nel dataset permette di risaltare meglio il colore dei contributi.

Per questo motivo si `e preferito effettuare la normalizzazione di Cv(g ) in funzione

dei valori massimi e minimi riscontrati nel training set, mediante la funzione N orm e limitare il valore mediante la funzione N orm.

Il caso del componente cb `e particolare, e viene usato direttamente il valore del

contributo, invece del suo valore normalizzato, in quanto deve essere messo a rapporto con il bias, che `e un valore non limitato. Il valore cb risulter`a comunque entro il range

necessario al colore, per come `e definita la sua funzione.

Con questa definizione `e possibile sintetizzare qualitativamente i valori di cr, cg e

cα in funzione del modulo |Cv(g )| e segno sgn(Cv(g )) del contributo del vertice v, come

mostrato nella tabella 5.1.

|N orm(Cv(g ))| sgn N orm(Cv(g ))



cr cg cα

Alto Positivo Alto 0 Alto

Alto Negativo 0 Alto Alto

Basso Positivo Basso 0 Basso

Basso Negativo 0 Basso Basso

Tabella 5.1: Tabella di sintesi qualitativa dei componenti rosso, verde e della trasparenza, rispetto al valore assoluto del contributo normalizzato, e al suo segno.

Il valore cb dipende dalla grandezza relativa dei moduli del contributo non nor-

malizzato e il bias dell’unit`a di uscita del modello, e il suo andamento qualitativo `e osservabile nella tabella 5.2. Questo coefficiente `e stato definito in questo modo per avere un riscontro visivo sul superamento, da parte del contributo dell’atomo, del bias dell’unit`a di uscita. Il confronto col bias, chiamato anche soglia, `e importante, in quando una molecola risulta positiva (o negativa) in base al superamento, mediante la combinazione lineare dei contributi dei suoi atomi, di questa soglia.

5I modelli che abbiano trattato prevedono un’uscita non lineare e limitata per le funzioni di

5.3 Contributi Strutturali 105 sgn |Cv(g )| − |b|  |Cv(g )| − |b| cb

Negativo Alto Alto

Negativo Basso Basso

Positivo - 0

Tabella 5.2: Tabella di sintesi qualitativa del componente blu, rispetto al valore assoluto della differenza del contributo col bias, e al suo segno.

Figura 5.8: Un esempio di rappresentazione grafica di una molecola. `E possibile notare come, a seconda del contesto, atomi di uno stesso elemento hanno un contributo molto diverso.

La molecola mostrata in Fig. 5.7, per le sue caratteristiche di simmetria, presenta lo stesso valore del contributo, per ogni atomo appartenente allo stesso elemento. Questo comportamento non `e vero in generale, in quanto il valore del contributo si basa su un’informazione contestuale, e varia a seconda del tipo di struttura che viene analizzata. Ad esempio, in Fig. 5.8 `e possibile osservare la differenza del valore dei contributi del carbonio, ottenuta mediante la stessa istanza del modello usata per la Fig. 5.7. `E possibile osservare che il contributo di un atomo viene assegnato dal modello in base all’informazione contestuale degli atomi vicini. A seconda del contesto in cui l’atomo di carbonio `e inserito, nell’immagine di esempio, il valore del contributo varia, passando addirittura da positivo a negativo.