Film e Motori (di Raccomandazione)
Introduzione.
Un elemento fondamentale di un sito moderno di commercio elettronico è il motore di raccomandazione, la componente del sistema che suggerisce ai clienti quali possono essere i prodotti o gli oggetti di maggiore interesse.
Ma come funziona e come può essere realizzato un motore di raccomandazione? Ed esiste una sola tecnica per realizzarlo, oppure, come possiamo immaginare, è possibile scegliere quale "anima" dare al nostro sito scegliendo su quale tecnica basare il suo motore di raccomandazione?
E, le aziende più famose, ad esempio Netflix, come hanno realizzato il loro motore di raccomandazione?
In questo articolo voglio esaminare alcune delle tecniche utilizzate ed arrivare ad indicare come, avendo i dati giusti a disposizione, oggi è possibile realizzare un tale motore con poche righe di codice.
Se, poi, vi interessa il cinema, spero vi troverete ulteriori spunti di interesse. Ho utilizzato per i miei esperimenti i dati di MovieLens.
Metriche di prestazione di un modello (in campo medico)
Introduzione.
Voglio ritornare sull'importante tema relativo alle metriche che si utilizzano per valutare le prestazioni di un modello di classificazione.
In un articolo precedente ho definito metriche quali: precision, recall ed F1 score. In questo articolo voglio definire alcune metriche che sono utilizzate sopratutto in campo medico: la Sensibilità, la Specificità, il PPV ed NPV, il C-index.
Sensibilità e specificità sono, ad esempio, termini molto usati nel campo dell'epidemiologia, ad esempio per caratterizzare un test diagnostico nei confronti dei positivi e negativi al test.
Read more: Metriche di prestazione di un modello (in campo medico)
Un'altra competizione su Kaggle: Cassava Leaf Disease
Introduzione.
Il mio viaggio nel mondo delle competizioni su Kaggle continua. Da alcuni giorni ho iniziato a sviluppare modelli per la "Cassava Leaf Disease Classification".
Cassava è una pianta, probabilmente più nota come Manioca. E' una pianta utilizzata per l'alimentazione e, come possiamo immaginare, è un elemento importante per la nutrizione e l'economia, sopratutto in quei paesi poveri, come i paesi africani. E' la terza fonte di carboidrati, dopo il riso ed il mais, nei paesi tropicali.
Come tutte le piante, vi sono malattie che possono ridurre o rovinare i raccolti. Ma, il problema è più grave in Africa, sopratutto per la difficoltà di avere esperti sul campo che possano compiere la diagnosi in tempo ed evitare la diffuzione.
Per questa ragione, un'istituto di ricerca, il Makerere University AI Lab, ha pensato di stimolare lo sviluppo di modelli di AI che possano, a partire da fotografie delle foglie e delle piante, diagnosticare la presenza o meno di una malattia virale che può danneggiare il raccolto.
In collaborazione con Kaggle, il noto sito di competizioni di ML e DL, hanno lanciato alcuni giorni fa la competizione, fornendo un dataset di circa 21000 immagini per il training.
Read more: Un'altra competizione su Kaggle: Cassava Leaf Disease
Lolifast, marzo 2020: Video
Bellissima giornata, Loly è molto... fast con il Gennaker
https://www.facebook.com/1286415117/videos/10217673078080513/?extid=31PU27zBJ5PUmhtc
Uso di reti pre-trained: EfficientNet
Perchè EfficientNet?
Quando si tratta di mostrare come concretamente attuare il Transfer Learning gli esempi che si trovano sui libri, i tutorial online, utilizzano troppo spesso reti convolutive (CNN) ben note quali: VGG16, Inception, Resnet, DenseNet.
Un esempio lo potete trovare nel bel libro di F. Chollet, Deep Learning In Python, pag. 145, ove, appunto, è utilizzata la rete VGG16.
Si tratta di reti sviluppate alcuni anni fa, che hanno anche vinto competizioni quali la ImageNet Large Scale Visual Recognition Competition (ILSRVC). Reti che hanno fatto la storia, dimostrato, concretamente, le enormi potenzialità del DL e dato l'avvio all'enorme potenziale di investimenti, in soldi ed in termini di potenziale umano, in questo campo.
La lettura di tali esempi è senza dubbio istruttiva, ma se vogliamo usare una rete CNN pre-trained per risolvere un problema concreto conviene oggi usare una rete VGG16 o Inception?