La community di TIM per gli sviluppatori italiani

timopen

Developer di tutta Italia, unitevi!
Chi ha una grande idea deve pensare in grande anche quando si parla di infrastruttura. Qualsiasi piattaforma software dovrebbe essere scalabile ed estendibile, quando si parla di servizi cloud queste caratteristiche diventano chiave per la riuscita del prodotto. Questo significa che già in fase di progettazione é necessario fare le scelte giuste in quanto a tecnologie, soluzioni e partners.

E’ qui che entra in gioco TIM OPEN ,una piattaforma b2b collegata a TIM Impresa Semplice che mette a disposizione degli sviluppatori un’infrastruttura consistente per applicazioni cloud e un marketplace per la distribuzione dei servizi.

Quando avrai già trasformato la tua idea in un applicazione forse non avrai bisogno soltanto di un partner tecnico e commerciale che ti consenta di farla crescere, servirà capitale per investimenti mirati al consolidamento del software e al marketing. In questo caso ricorda che le software house possono proporsi all’accellerazione di Working CAPITAL per le start-up innovative, un altro progetto complementare di TIM.

Per capire se il sistema funziona servono case history di start-up innovative che lo confermino e diano spunto agli sviluppatori che vogliono provarci. La storia di ArchiSMALL é un ottimo punto di partenza, nel canale youtube TIM Impresa Semplice ne trovi molti altri.

La documentazione del progetto (strano ma vero) é ben scritta, un punto di partenza perfetto con tanto di video tutorial che spiegano come pubblicare o come configurare la tua app.

In tutto questo TIM cosa ci guadagna? Perché se non c’é un’utile é utopistico pensare che spingano per distribuire il tuo software. Per le risorse cloud c’é un costo di attivazione e un canone mensile che dipende dalle performance richieste mentre sulle vendite fatte tramite digital store tim trattiene una percentuale.

Se hai una buona idea forse é arrivato il momento giusto per realizzarla, con #TIMOPEN avrai alle spalle un partner in grado di fornirti tutte le infrastrutture necessarie e il giusto supporto per trasformarla in un’impresa di successo.

 

 

Si, questo é un contenuto sponsorizzato. Su questo blog parlo sempre e comunque di cose innovative e che funzionano veramente. D’altronde Sicurezza, AI e Automazione sono argomenti seri!

Buzzoole

It’sMe: identitá e sicurezza online

phone

Online non sai mai chi c’é dall’altra parte. Questa forse é un ovvietà ma nel contempo é la base della maggior parte dei problemi di sicurezza online.

La gestione dell’identitá diventa un fattore chiave in tutti quelli scenari nei quali il destinatario di informazioni, comunicazioni e dati risulti essere davvero quello previsto. It’sMe é un sistema di verifica dell’identità digitale per essere #RealiAncheOnline. L’utente può creare un’identità digitale verificata e condividerla facilmente.

L’operazione di verifica é semplice e rapida, inoltre per garantire il massimo della privacy l’utente ha il pieno controllo dei propri dati e può revocare la condivisione delle informazioni in qualsiasi momento. Prima di iniziare la procedura accertati di avere a portata di mano un documento e una carta di credito che sono necessari a completare il processo di verifica.

L’app é gratuita ma la verifica ha un costo di 1.90€ da rinnovare ogni anno. L’abbonamento annuale comprende: la verifica dei dati e la validazione del profilo, l’archiviazione dei dati in un’area protetta accessibile solo dall’utente, l’utilizzo di funzionalità innovative per la condivisione dei dati e dell’identità.

It’sMe é un progetto interessante anche se probabilmente non ancora maturo per un uso “pro”. Sembra essere un MVP che si basa su un’idea (e un brevetto) interessante che comunque va ancora esplorata ed ampliata.

Comunque da provare!

Buzzoole

ItsMe Voglio Vivere Internet from SocialNation on Vimeo.

 

 

Si, questo é un contenuto sponsorizzato. Su questo blog parlo sempre e comunque di cose innovative e che funzionano veramente. D’altronde Sicurezza, AI e Automazione sono argomenti seri!

Quando è un’algoritmo a scegliere cosa ti interessa

Nessuno ci conosce meglio del web. Ogni interazione online diventa informazione e permette di stilare un profilo preciso dei nostri gusti, dei nostri interessi e forse anche dei nostri sogni e desideri.

Machine Learning, data mining e algoritmi avanzati di classificazione stanno rapidamente rivoluzionando il mondo dell’informazione sul web, che diventa sempre più personalizzata e aderente ai gusti del lettore.

Con la nuova veste grafica SuperEva.it diventa il brand di Italiaonline dei contenuti trendy e feel good, delle #bellestorie, delle notizie divertenti, stravaganti, curiose.

supereva machine Learning news
Per andare oltre il solito like a disposizione del lettore ben cinque sentiment differenti per esprimere la propria opinione. Interazioni che permettono di generare il trendometro, ovvero la pagina che segue le tendenze del momento in real time.

Un’applicazione interessante, un’esperimento giornalistico che può essere applicato a strutture dati ancora più pertinenti basate sulle interazioni online di un unico utente. Se avete il coraggio di conoscere cosa interessa davvero all’italiano medio . . . fai un giro sul trendometro.

Buzzoole

Pagamenti in sicurezza da smartphone

full_header_banner
#MySI è l’app per iOS e Android che permette di gestire in sicurezza tutte le carte di debito e prepagate da un unico HUB dal quale è possibile effettuare acquisti e controllare lo storico delle transazioni.

L’interfaccia dell’app è gradevole e l’utilizzo risulta semplice per tutti gli utenti. I possessori di CartaSi hanno accesso a servizi informativi e di sicurezza aggiuntivi ma le funzionalità principali possono essere utilizzate con qualsiasi carta del circuito Visa e Mastercard.

Ho provato la versione iOS (quindi niente MySi Pay, la funzionalità di virtualizzazione delle carte) e controllare lo storico diventa semplice e sicuro con l’accesso tramite impronta digitale.

MySi Pay (pagamenti QR Code e Web Code) sono disponibili per iOS e Andorid.
MySi Pay ))) (pagamenti HCE) sono disponibili solo per Android.

Gli SMS Alert da impostare con pochi tap sono utilissimi, permettono un layer di sicurezza aggiuntivo e un monitoraggio delle spese più puntuale.

Se vuoi aumentare la sicurezza dei tuoi acquisti con carte prepagate prova subito l’app nella versione Android (la scarichi da qui) o iOS (la trovi qui).

Buzzoole

[APP REVIEW] Con myCicero® andare in giro è più divertente.

Non importa il mezzo ma il fine. Penso che sia questa l’idea che sta dietro allo sviluppo di myCicero® – l’app che ti porta dove vuoi, con ogni mezzo.

A fare la differenza, sia da un punto di vista tecnico che da un punto di vista pratico, in questo caso non è l’idea in se (che non è poi così originale) ma la realizzazione. Dico questo perché  myCicero® funziona, è semplice da utilizzare e ben disegnata e ben integrata con i principali servizi di trasporto italiani. Insomma, non è finita nella fatidica cartella “TantoPerOccupareSpazio” del mio smartphone.

Queste sono le funzionalità chiave dell’app:

  • Sosta – Con l’app paghi solo i minuti effettivi di sosta, con la possibilità di richiedere la fatturazione mensile. Il servizio è attivo in parecchie città, purtroppo non la mia e quando sono fuori non sono in auto. Peccato.
  • Mezzi pubblici – treni, autobus locali, linee a lunga percorrenza e metropolitana. Tutti i vettori in un’unico strumento che permette anche di pianificare gli spostamenti e acquistare i biglietti in real time. Questa è la cosa più interessante perchè in giro quando non si conoscono linee e orari fa risparmiare molto tempo.

I punti di forza sono l’interfaccia grafica (immediata, gradevole e semplice) e le partnership con i servizi di trasporto pubblico (tante rispetto alla concorrenza). Chi vive o visita le città coperte da myCicero® troverà quest’app molto utile, uno strumento unico per organizzare tutti gli spostamenti quotidiani. Per capire quali sono le città attive e i partner integrati visita il sito ufficiale dell’app.

Visto che ti sei sorbito tutta questa review ti sei guadagnato un codice sconto da € 2,00. Scarica l’app gratuitamente e utilizza il seguente codice promozionale: MYC95875. Potrai utilizzarlo per ricaricare il credito myCicero seguendo questi passaggi: dall’app accedi alla sezione ‘Ricarica Credito’ –> ‘Hai un coupon?’ e inserisci il codice. In questo modo avrai diritto a 2€ di ricarica omaggio, la promo è valida naturalmente solo per i nuovi iscritti!

 

Buzzoole
Buzzoole

Machine Learning: le librerie

Per capire i meccanismi fondamentali del machine learning abbiamo sviluppato un perceptron e una piccola rete neurale direttamente in python. Naturalmente per applicazioni reali in cui è necessario analizzare una notevole quantità di dati complessi non è il caso di reinventare la ruota scrivendo gli algoritmi di machine learning da zero.

La scelta migliore è quella di affidarsi ad una delle librerie per il machine learning disponibili sul web. Per non perdersi tra il mare di alternative disponibili c’è questo articolo: una (personale) valutazione dei framework migliori. Tutti disponibili gratuitamente per l’uso.

 

TensorFlow

Probabilmente la libreria open source più nota. Open Source e sviluppata direttamente da Google. La libreria mette a disposizione una serie di API che semplificano, e di molto, le operazioni di calcolo. La documentazione è completa e i tutorial abbondano, sia per i neofiti che per i sviluppatori con esperienza nel campo.

LINK: https://www.tensorflow.org

 

 

Theano

Questa in realtà non è una libreria per algoritmi di apprendimento. Si tratta piuttosto di un’insieme di strumenti (in python) che permette di elaborare strutture multidimensionali in moto semplice ed efficiente dal punto di vista delle performance. Può sfruttare le risorse di calcolo delle GPU per velocizzare in modo significativo le operazioni.

LINK: http://deeplearning.net/software/theano/

 

Keras

Questa mi piace parecchio.  TensorFlow e  Theano in un’unica libreria di alto livello che ne semplifica l’utilizzo. Modulare, facilmente estendibile e minimalista quanto basta per non perdere di versatilità.

LINK: https://keras.io

 

Blocks

Un elegante wrap per Theano, che lavora benissimo in coppia con fuel per processare i dataset. Molto interessante la funzionalità di Live Plotting che sfrutta  Bokeh per la visualizzazione grafica dei dati.

LINK: https://blocks.readthedocs.io/en/latest/

 

Lasagne

Una libreria di alto livello per Theano che coniuga la leggerezza ad una curva di apprendimento rapida. La libreria è in continua evoluzione, tutto il codice è disponibile in un repository GitHub.

LINK: https://lasagne.readthedocs.io/en/latest/

 

Caffe

Licenza BSD, sviluppata a Berkeley. Veloce, stabile e in grado di utilizzare CPU o GPU per i calcoli. Probabilmente non è la più immediata ma la documentazione e gli esempi disponibili sono sufficienti a prendere dimestichezza con il framework.

LINK: http://caffe.berkeleyvision.org

 

Ne esistono altre ma un’articolo più lungo sarebbe poco utile, basta utilizzare Google per trovarle in breve tempo. Ma quale di queste scegliere? Non esiste la risposta universale a questa domanda perché bisogna conoscerle  e  valutare di volta in volta quale è la più adeguata al progetto che hai in mente..

Machine learning: PAC learning

Un’applicazione (teoretica al momento) dell’apprendimento automatizzato è il probably approximately correct learning.  Semplificando per quanto possibile cerchiamo di esplorare quest’interessante ragionamento matematico che poi sarà semplice trasformare in un’algoritmo reale.

Penso che sia bene partire da un caso pratico al quale applicare il ragionamento. Proveremo a sviluppare un’algoritmo in grado di determinare pazienti a rischio cancro analizzando i dati sulle loro tive al fumo. Le variabili in gioco che ci interessano sono due:

  • Quantitá media di sigarette fumate ogni giorno
  • Anni trascorsi da fumatore

Il training set dovrà contenere anche un’altro dato fondamentale: un valore booleano che indica se il paziente é o è stato affetto da cancro. Ma come stabilire se un’algoritmo è efficace o meno?

Il nostro problema è PAC learnable se esiste un’ipotesi h che ha un’alta probabilitá di prevedere il rischio cancro con un basso margine di errore basandosi sui due parametri descritti. Matematicamente parlando alto e  basso non significa praticamente nulla quindi chiariamo il concetto trasformandolo in una formula.

 

 

Ok, in realtà per arrivare a questa conclusione abbiamo semplificato parecchio ma l’idea di base del PAC learning non è troppo articolata. Praticamente qualsiasi insieme finito è PAC learnable a patto di avere un training set sufficientemente articolato che contenga tutti i casi necessari. Ora però abbiamo bisogno di pratica . . . dal prossimo articolo sul Machine Learning metteremo le mani al codice. Rispolvera il tuo python.

Machine Learning: quanto può scoprire su di me?

machine learning e privacy

Il funzionamento delle macchine ad apprendimento automatico è molto distante dai classici paradigmi di programmazione a cui siamo abituati, decisioni e risultati non sono frutto di una logica predefinita ma di funzioni elaborate in autonomia. La conseguenza di questo semplice assunto è che non possiamo sapere esattamente come verranno prese alcune decisioni e come verranno calcolati alcuni risultati.

QUANTO CI CONOSCONO LE MACCHINE?
Gli algoritmi di machine learning funzionano davvero bene e hanno a disposizione un’enorme quantità di dati che noi stessi produciamo continuamente interagendo con la rete e con gli smart device. In molti casi la quantità di informazioni che una macchina può interpolare da questi dati va oltre le nostre aspettative.

Sapevi che sono stati elaborati algoritmi in grado di prevedere la possibilità che una persona cada in depressione analizzando dati generati dalle interazioni online? Una previsione che forse nemmeno un’amico sarebbe in grado di fare con la stessa accuratezza, una possibilità che si farebbe fatica ad ammettere anche a se stessi.

COME VENGONO USATE QUESTE ANALISI?   
Questo è stato solo un’esempio, ma ci sono una grande quantità di informazioni sensibili che possono essere usate per advertising mirato o scelte aziendali di tipo diverso. Immaginiamo una situazione: cosa succede se un’azienda usa la previsione di una macchina sulla probabilità che un candidato possa soffrire di depressione in futuro per decidere chi verrà assunto e chi no?

Quando sono in gioco implicazioni etiche l’utilizzo di algoritmi di machine learning per coadiuvare processi decisionali delicati diventa una questione complessa. Non bisogna tenere conto solo della loro efficienza o della loro accuratezza, diventa importante stabilire le conseguenze sul piano morale di un’eventuale valutazione errata.

Le domande che mi hanno fatto scrivere quest’articolo penso siano il modo migliore per concluderlo:  qual’è il limite invalicabile per l’utilizzo del machine learning? Come stabilire quali decisioni possono essere delegate ad un’algoritmo?

 

 

 

Machine learning overfitting: quando è troppo, è troppo.

 

Ma se l’identificazione del modello venisse alterata da un rumore che deriva dall’eccesso di correlazioni ricavate dai training data? In questo caso si parla di overfitting ovvero . . . quando è troppo è troppo.

Quando si va in overfitting?
Se l’algoritmo “memorizza” i dati invece di analizzarli per trovare la funzione che generalizza l’andamento dei training data.  Questo significa che la radice di questo problema non è da ricercare nella quantità/qualità dei training data ma nel modo in cui l’algoritmo è chiamato a studiarli.

Cosa succede quando si va in overfitting?
La macchina non impara ad analizzare correttamente gli input, è poco efficiente e in caso di modelli complessi gli output risultanti possono allontanarsi molto dalla realtà.

Come risolvere il problema?
Esistono diverse tecniche per generalizzare i risultati dell’elaborazione dell’algoritmo evitando così l’overfitting. Alcuni esempi sono la distribuzione di probabilità a priori, la probabilità bayesiana applicata ai parametri, o la convalida incrociata. Ne riparleremo.

 

Machine Learning: come minimizzare il rischio di errore

A questo punto per continuare a parlare con profitto di Machine Learning bisogna passare dalle argomentazioni alla strumentazione matematico-statistica necessaria. Abbiamo già visto qui le tipologie di machine learning implementabili. Qui invece è dove abbiamo visto le potenzialità del machine learning passivo.

Sappiamo che si impara sbagliando e questo vale anche per le macchine, il compito del nostro codice sarò minimizzare il rischio di errore trovando la funzione che meglio rappresenta la relazione tra input e output  dei training set. Il principio che seguiremo per ottenere questo risultato da qui in avanti lo chiameremo ERM che sta per Empirical Risk Minimization.

Il training set che abbiamo a disposizione possiamo definirlo così:
training set machine learning

 

L’obiettivo è quello di analizzare questi dati per trovare una funzione che si avvicini alla distribuzione originale
distribuzione originale machine learning

 

Nel caso ipotetico in cui conoscessimo già questa distribuzione (e quindi la nostra analisi sarebbe inutile) potremmo individuare facilmente il rischio associato all’ipotesi h ricavata dall’algoritmo
rischio associato all'ipotesi - machine learning

 

 

In un caso reale però questa formula è impossibile da risolvere perché non abbiamo a disposizione la distribuzione originale P. In questo caso invece di valutare il rischio reale possiamo valutare il rischio empirico
rischio associato all'ipotesi - machine learning
E cosa possiamo farcene di tutto questo? Semplice . . . arriviamo al principio dell’ERM che ci indica uno degli obiettivi primari da raggiungere, ovvero portare il rischio empirico al valore più basso possibile. Tutto questo si traduce formalmente così:
ERM - machine learning

 

Esiste anche un parametro indispensabile per valutare l’accuratezza dei risultati . . . al prossimo post!