Elementi di Machine Learning: gli algoritmi di base [GUIDA]

L’apprendimento automatico (machine learning) è un campo dell’informatica profondamente diverso dai tradizionali settori computazionali. Nei campi tradizionali gli algoritmi sono infatti insiemi specifici di istruzioni che devono essere eseguite dai computer, istruzioni che non cambieranno nel tempo a meno che uno sviluppatore non le modifichi. Gli algoritmi di machine learning sono invece progettati proprio per cambiare nel tempo in base ai diversi input, ai pesi assegnati alle varie variabili ed ai diversi output.

Algoritmi di machine learning si possono applicare agli ambiti più diversi, dal riconoscimento facciale ai motori di reccomandation, dagli algoritmi predittivi delle fluttuazioni della borsa alle auto a guida autonoma. Il machine learning è infatti applicabile alle più diverse categorie di problemi, ma ovviamente ambiti diversi richiedono algoritmi di apprendimento diversi, algoritmi che differiscono fondamentalmente in base al fatto che gli output siano o meno “etichettati” (labeled), cioè che sia noto o meno a priori l’output atteso, ed a come si vuole che l’algoritmo “impari”.

Due dei metodi di apprendimento automatico più comuni e diffusi sono l’apprendimento supervisionato (supervised learning) e l’apprendimento non supervisionato (unsupervised learning).

Leggi tutto “Elementi di Machine Learning: gli algoritmi di base [GUIDA]”

Intelligenza Artificiale: i 10 attuali migliori framework di sviluppo [GUIDA]

L’Intelligenza Artificiale è senza ombra di dubbio il futuro del mondo della programmazione ed infatti, vista la crescente domanda, sempre più sviluppatori stanno approcciando la materia. Ma quali sono i migliori linguaggi/framework/librerie da usare ? Questo è il tema che proveremo a trattare in questa recensione di quelli che ad oggi sono i 10 migliori framework e librerie per l’Intelligenza Artificiale.

Come potete immaginare non tutti i linguaggi di programmazione sono adeguati per l’IA, per esempio molti sviluppatori in Ruby abbandonano tale linguaggio a favore di Python in quanto quest’ultimo è più adatto a tale scopo. I linguaggi più adatti all’IA, come ad esempio C++, offrono diversi framework e librerie tra le quali abbiamo selezionato per voi i seguenti:

– TensorFlow
– Torch
– Caffe
– Theano
– Amazon Machine Learning
– Accord.Net
– Scikit-learn
– Apache Mahout
– Microsoft Cognitive Toolkit
– Keras

Ma analizziamo in breve le caratteristiche di ciascuno e vediamo cosa li rende meritevoli di un posto nella nostra lista.

Leggi tutto “Intelligenza Artificiale: i 10 attuali migliori framework di sviluppo [GUIDA]”

Perché e come realizzare uno skill Alexa [GUIDA]

Gli assistenti vocali consentono di fare molto più di quanto potremmo immaginare in prima battuta e, sia che si tratti di registrare un rapido promemoria che di ordinare del cibo, ci permettono di farlo anche molto più velocemente e con maggior semplicità rispetto all’utilizzo di una applicazione mobile.

E’ quindi evidente che l’utilizzo della tecnologia di riconoscimento vocale è la prossima grande frontiera. Amazon Alexa, tecnologia oggi in testa alle classifiche con una quota di mercato del 73%, già consente di fare innumerevoli azioni e varie previsioni indicano che entro il 2020 il 50% di tutte le ricerche sarà vocale. Ogni anno Alexa stabilisce nuovi record di vendita su Amazon ed è anche diventata la Top app gratuita su Google Play e Apple Store (poiché richiede la sua applicazione mobile per configurarlo per la prima volta). E se ciò non bastasse non solo i dispositivi echo, ma anche altri dispositivi domestici intelligenti di mercato che sono in cima alle classifiche di vendita, sono dispositivi abilitati Alexa.

Leggi tutto “Perché e come realizzare uno skill Alexa [GUIDA]”

100 tra i siti più utili di Internet [GUIDA]

Quello che segue è un elenco, che ovviamente non potrà mai essere esaustivo, dei più diversi siti e risorse web che forse non conoscete ancora, ma che a nostro avviso sono utilissimi e vi consentiranno sia di accrescere le vostre competenze che di incrementare la vostra produttività.

Ciascuno dei siti elencati risolve molto bene almeno un problema, e se ne memorizzate gli indirizzi risparmierete anche il tempo di una ricerca su Google !

Leggi tutto “100 tra i siti più utili di Internet [GUIDA]”

IoT – Una guida per avviare il vostro primo progetto [GUIDA]

State pensando di avviare un progetto IoT ? Allora probabilmente vi starete ponendo diverse domande… Cosa realizzo ? Come si costruisce ? E cos’è di preciso un progetto “Internet of Things” ? In questo articolo che vuole essere una guida introduttiva al tema (liberamente tradotta dall’articolo  “The Ultimate Guide To Starting Your First IoT Project” di Jeffrey Lee sul sito hackernoon.com) iniziamo l’analisi affrontando proprio quest’ultima domanda !

Leggi tutto “IoT – Una guida per avviare il vostro primo progetto [GUIDA]”

Ethereum per principianti [NEWS-GUIDA]


Nella guida “Ethereum: ma come funziona ?”  abbiamo affrontato il tema del funzionamento della blockchain Ethereum dal punto di vista tecnico. Vediamolo ora dal punto di vista dell’utente “medio”, cioè chi, pur usando le app, non necessariamente è uno sviluppatore, o chi fa acquisti online, ma non vuole necessariamente capire come questi vengono gestiti dietro le quinte.

Ethereum è una piattaforma decentralizzata che esegue “contratti intelligenti”, cioè applicazioni che funzionano esattamente come programmato senza alcuna possibilità di interruzione dell’attività, censura, frodi o interferenze di terze parti.

Anche se è stata fondata alla fine del 2014 ed il volume di articoli che spiegano la complessità della tecnologia è cresciuto nell’ultimo anno, il concetto rimane complesso da comprendere. Ad esempio il libro giallo scritto dal CTO di Ethereum Gavin Wood, o il libro bianco originale scritto dal fondatore Vitalik Buterin, sono indicativi della complessità del funzionamento della piattaforma complessiva.

Se lo desiderate, prima di procedere con la lettura di questa “sintesi semplificata”, potete anche dare uno sguardo ai video seguenti realizzati dal team dei fondatori di Ethereum:

“Ethereum for Dummies” [di Gavin Wood, CTO, Ethereum]:

“Ethereum explained in 100 seconds” [Gavin & Vitalik]:

Ma ora iniziamo: Leggi tutto “Ethereum per principianti [NEWS-GUIDA]”

Ethereum: ma come funziona ? [GUIDA]


E’ molto probabile che abbiate sentito parlare di Ethereum, una criptovaluta nata più recentemente rispetto al Bitcoin che sta però avendo un enorme successo e sembra destinata a prenderne il posto. Sia che sappiate, sia che non sappiate bene di cosa si tratti la lettura di articoli su Ethereum (se ne è parlato molto ultimamente, anche sulle copertine di riviste importanti) può confondere o risultare complessa se non si dispone di una base di conoscenza su cosa è e come funziona tecnicamente.

Cos’è dunque Ethereum ? In estrema sostanza possiamo definirlo un database pubblico che registra in modo permanente le transazioni digitali. È importante aggiungere che questo database non necessita di alcuna autorità centrale per essere manutenuto o protetto, ma funziona come un sistema transazionale “implicitamente affidabile” in cui tutti gli individui possono effettuare operazioni peer-to-peer senza preoccuparsi di doversi fidare di terzi o l’uno dell’altro.

Siete ancora confusi ? Proviamo ad analizzare insieme come funzionano gli Ethereum in dettaglio ed a livello tecnico, ma senza addentrarci in formule matematiche complesse o dall’aspetto incomprensibile. Anche se non siete programmatori spero che al termine della lettura di questa breve guida introduttiva avrete acquisito una migliore padronanza della tecnologia, e se alcune parti fossero troppo tecniche… va benissimo lo stesso, non c’è bisogno di capire ogni dettaglio per farsi un’idea del suo funzionamento complessivo ! Leggi tutto “Ethereum: ma come funziona ? [GUIDA]”

IoT: Sarà la Blockchain la soluzione per il collegamento sicuro dei dispositivi ? [NEWS]

I dispositivi IoT (Internet of Things) stanno pervadendo sempre più rapidamente in ogni aspetto della nostra vita e diventa evidente ed urgente la necessità di una tecnologia universale per connetterli e controllarli in modo sicuro ed affidabile.

Uno studio di Gartner  stima infatti che la blockchain raggiungerà un valore commerciale di 3,1 trilioni di dollari entro il 2030, mentre Statista prevede che il mercato IoT crescerà  fino al l’incredibile valore di 8,8 trilioni di dollari nel 2020. E la tecnologia blockchain potrebbe essere in grado di fornire una soluzione reale e concreta per la definizione e realizzazione di uno standard globale di connettività per l’IoT.

Leggi tutto “IoT: Sarà la Blockchain la soluzione per il collegamento sicuro dei dispositivi ? [NEWS]”

Blockchain: potrà contribuire a migliorare la distribuzione di contenuti HD-4K su Internet ? [NEWS]


La maggior parte di noi considera Internet come un bene primario, di utilizzo quotidiano, del quale non possiamo più fare a meno. Utilizzare i social media, leggere i più disparati siti di notizie, utilizzare i motori di ricerca, guardare i nostri programmi TV preferiti su Netflix o farci guidare da Google Maps sono attività divenute abituali. Le nostre vite sono ormai in gran parte “digitali” grazie alla disponibilità di un sempre crescente numero di servizi, ma a differenza di quanto molti potrebbero pensare la stessa Internet, la “rete delle reti”, sta facendo fatica a tenere il passo della rivoluzione digitale in corso, la sua struttura globale è già oggi afflitta da significativi problemi che ostacolano il suo stesso sviluppo.

In questo articolo ci occuperemo del problema della distribuzione massiva di contenuti ad alta ed altissima definizione (HD, 4K, VR, AR, ecc.) verso un pubblico sempre crescente vedendo come funziona una possibile nuova soluzione (il NOIA Network) basata su tecnologia “Blockchain“, la stessa su cui si basano tutte le “criptomonete” (compresa la più famosa, il Bitcoin).

Il problema: l’attuale infrastruttura di Internet è inadeguata

Poiché il consumo complessivo di contenuti online è in costante vertiginoso aumento (ed è previsto che cresca di 4 volte nei prossimi anni) l’attuale infrastruttura di Internet non sarà in grado di soddisfare le esigenze di tutti, il rendere disponibili contenuti ad alta definizione ad un pubblico globale di spettatori sempre crescente è già oggi un serio problema.

Leggi tutto “Blockchain: potrà contribuire a migliorare la distribuzione di contenuti HD-4K su Internet ? [NEWS]”

Digital Transformation: comprendere la tecnologia Blockchain sviluppandone un esempio [GUIDA]


La “Digital Transformation” sta pervadendo sempre più ogni aspetto del nostro quotidiano introducendo costantemente nuovi servizi, nuovi software, maggiore efficienza, miglior operatività e riduzione dei costi. Ma cos’è di preciso la “Digital Transformation” ? Sicuramente non è solo un ridisegnare e migliorare i processi che governano il business utilizzando una combinazione di nuove e diverse soluzioni tecnologiche, ma è anche e sopratutto un nuovo approccio culturale al business per fare convergere molteplici forze digitali dirompenti e affrontare i cambiamenti tecnologici che al giorno d’oggi sono più rapidi di quanto non lo siano mai stati, impattano milioni di persone, cambiano lo status quo e, di fatto, possono portare alla paralisi le aziende impreparate a seguirla.

In questo articolo inizieremo ad affrontare il tema a partire dalla comprensione di una delle nuove tecnologie che stanno alimentando la Digital Transformation (insieme a diverse altre che affronteremo di volta in volta in altri articoli di approfondimento), la “Blockchain“, tecnologia su cui si basano tutte le “criptomonete” (compresa la più famosa, il Bitcoin). Il suo funzionamento non è semplice, in rete sono disponibili alcuni video complessi da seguire, diversi tutorial alquanto “rognosi” e, cosa più frustrante in assoluto, troppo pochi esempi…

Ma ecco una possibile alternativa: proviamo a seguire passo passo lo sviluppo di un esempio di  Blockchain, processo che, affrontando il tema dal punto di vista della scrittura del codice, ci porterà inevitabilmente a comprendere i vari aspetti ed elementi del modello implementato.

Se seguirete fino al termine questo articolo (liberamente tradotto dall’articolo  “Learn Blockchains by Building One” di Daniel van Flymen sul sito hackernoon.com) avrete realizzato una  Blockchain funzionante ed avrete acquisito una conoscenza di base dei suoi elementi ! Leggi tutto “Digital Transformation: comprendere la tecnologia Blockchain sviluppandone un esempio [GUIDA]”