• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
machine-learning

Cos’è il Machine Learning | Semplice con esempi

Cos’è il Machine Learning | Semplice con esempi

Per machine learning si suole riferirsi ad un campo di studi il cui intento è fornire ai computer l’abilità di imparare senza essere esplicitamente programmati.

Arthur Samuel, 1959.

La missione di oggi è semplice: fare chiarezza, e comprendere le basi teoriche del machine learning.

Non sarà semplice.

Molti concetti da interiorizzare, e concretizzare in qualcosa di visibile.

Ma insieme, io e te, porteremo a termine questa missione. Siamo pronti?

Ricorda, non lo facciamo perché è semplice. Lo facciamo perché è difficile.

Domande

La curiosità umana genera molte domande, utili a capire un nuovo argomento. In questo post risponderemo a:

  • Perché (è utile, e lo usiamo rispetto ad altre soluzioni)
  • Cosa (è il machine lerning)

Soluzione a nuovi problemi: il perché!

Prima di sviscerare la definizione che abbiamo letto poco fa, svilupperemo una comprensione intuitiva del machine learning e delle sue potenzialità.

Risponderemo al perché, e implicitamente ad un cosa intutitivo.

Un problema tradizionale: lampadina domotica

In camera mia ho una scheda Arduino, assimilabile ad un micro-computer, dotato di un sensore di luce ambientale.

Pretendo che la scheda accenda la luce, quando la luminosità è bassa.

Semplificando, il sensore genera un numero tra 0 (luce assente) e 1023 (luce del sole).

Usando il costrutto logico if/else definisco una regola molto semplice:

//controllo se il valore di luce è maggiore di 500
if(light_val > 500){
 //in questo caso spengo la luce
 digitalWrite(light, LOW);
}else{
 //altrimenti se il valore è minore o uguale a 500 la accendo
 digitalWrite(light, HIHG);
}

Con questo codice programmiamo esplicitamente il computer (la scheda Arduino) ad eseguire un task specifico: accendere o spegnere la luce.

Definito il problema (accendere la luce), abbiamo individuato i nostri dati (valore luce ambientale), che hanno un valore minimo e massimo definito (0, 1023) e stabilito una regola (luce > 500 spegni, altrimenti accendi) che produce un risultato (luce accesa, luce spenta)

Così abbiamo trovato la soluzione.

Un approccio del genere è possibile perché conosco la regola con la quale gestire il problema: il valore della luminosità ambientale determina l’accensione o spegnimento della luce.

E sopratutto perché i valori dei miei dati sono confinati in un intervallo preciso, quindi conosco tutti i possibili casi. Creo uno spartiacque (la soglia di 500) e il gioco è fatto.

Cosa succede però quando voglio risolvere un problema di cui non conosco le regole?

Un problema nuovo: previsioni di vendita

Mia madre è una fiorista, crea e vende composizioni floreali.

Spesso si trova a dover gettare fiori e piante ormai appassite o troppo deperite per essere vendute.

Questo succede perché cerca di trovare l’equilibrio tra l’avere abbastanza fiori per soddisfare la clientela ed evitare che le materie prime si rovinino perché invendute.

L’equilibrio però varia di mese in mese.

Gestire la domanda propondendo la giusta offerta, contenendo alcontempo le perdite è un difficile problema di managing.

Ora, i computer sono nati per semplificare le nostre vite.

Quindi perché non creare un programma che preveda le vendite stimate così da ridurre le perdite e massimizzare il profitto?

Definito il problema, troviamo la soluzione!

Che dati abbiamo?

  • tipologia di fiore (tempo di deperimento, costo)
  • stagione (temperatura, umidità, vacanze)
  • domanda (bouquet, corone di laurea, mazzi di rose, etc..)
  • […]

Ci troviamo difronte ad un bel problema.

Per distinguere i casi tra loro dovremmo definire un enorme numero di soglie, usando valori che non conosciamo, per stabilire delle regole che ignoriamo e sperare di risolvere il problema.

Inoltre, se mai dovesse esserci un caso che non abbiamo previsto, il programma non potrebbe prevedere le vendite di quel particolare fiore.

Prima abbiamo mangiato una bistecca con la forchetta, e ora stiamo consumando una zuppa con la stessa posata.

Ci serve un nuovo utensile, abbiamo bisogno del cucchiaio.

Un problema strano

Il nostro è un problema strano: non conosciamo la regola, ma presumiamo che esista.

Facciamolo risolvere al computer.

fonte: https://towardsdatascience.com/machine-learning-vs-traditional-programming-c066e39b5b17

Usando la metafora di prima, il nostro cucchiaio è un sistema capace di apprendere da solo la regola che correla i dati delle vendite passate, per costruire un modello di realtà sulla base di risposte esistenti.

Questo modello di realtà sarà approssimativo, ma è proprio quello di cui abbiamo bisogno.

Il nostro intento è avere del margine di elasticità: quando affronteremo una situazione mai vista prima, sarà proprio questo modello approssimativo a trovare una soluzione.

Scriveremo il codice per leggere i dati ed elaborarli.

Ma sarà il computer a trovare la regola nascosta in quei dati. Infine un’altra parte di codice interrogherà il modello per chiedergli la venidta stimata in base a determinati valori.

Quindi è il computer che impara a risolvere un problema senza essere esplicitamente programmato per farlo.

E il flusso sarà simile a questo:

“E’ il 10 febbraio, la prossima settimana è previsto cielo sereno, ci sono 4 negozi nelle vicinanze, ho 10 ordini per mazzi da 3 rose, quante rose potrò vendere?”

“Elborazione…”

“Vendita stimata 230 rose”

Definizione: il cosa!

Ora svisceriamo la definizione di Arthur Samuel, pioniere nel campo delle Intelligenze Artificiali:

“Per machine learning si suole riferirsi ad un campo di studi il cui intento è fornire ai computer l’abilità di imparare senza essere esplicitamente programmati.“

Il machine learning è quindi un campo di studi perché coinvolge statistica, matematica e programmazione prendendo spunto da questi mondi per sviluppare nuovi strumenti.

Questi strumenti forniscono ai computer l’abilità di imparare sviluppando modelli di realtà, ovvero approssimazioni. Imparano nel senso che facciamo vedere loro il punto di partenza A e quello di arrivo B, affidando a loro la creazione del percorso.

Il percorso è generato autonomamente attarverso l’ausilio di algoritmi, quindi il sistema raggiunge un’obiettivo (collegare A e B) senza essere esplicitamente progammato.

Conclusione: le risposte del machine learning

Machine learning:

  • è un campo di studi che fornisce ai sistemi l’abilità di imparare senza essere esplicitamente programmati per farlo.
  • lo usiamo perché possiamo risolvere problemi troppo complessi per un approccio tradizionale o perché privi di un algoritmo conosciuto (è il cucchiaio per consumare la minestra)

Nei prossimi post ne capiremo il funzionamento e le tipologie. stay tuned!

Un caldo abbraccio, Andrea.

Written by Andrea Provino - Settembre 6, 2019
Tags | data science, machine learning

You Might Also Like

elastic-net-early-stopping-gradient-descent-batch-gradient-descent-machine-learning-data-science-guida-italiano-blog-data-science

Elastic Net e Early Stopping | ITA

Dicembre 5, 2019
tensorflow-developer-certificate-deep-learning-italia-course

TensorFlow Developer Certificate

Maggio 7, 2020
dialogflow-tutorial-chatbot-ai-guida-italiano-mailchimp-api-add-user-mail-list

Dialogflow Tutorial: Chatbot & Mailchimp Api

Novembre 9, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • Blockchain Developer

    Circuito aritmetico

    Novembre 1, 2022
  • machine-learning

    Un nuovo inizio

    Settembre 4, 2021
  • Zero Knwoledge Proof Article Privacy Preserving

    Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

    Luglio 8, 2021
  • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

    Oblivious Transfer (OT)

    Luglio 6, 2021
  • Aleo Studio Website Preview machine-learning

    Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

    Luglio 1, 2021
  • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

    Perché il Privacy Tech è un vantaggio competitivo micidiale

    Giugno 17, 2021
  • bloom-filter-spiegazione-italian Privacy Preserving

    Bloom Filter

    Giugno 3, 2021
  • trusted-execution-environment-tee-data-science-come-fuziona Data Science, Privacy Preserving

    Trusted Execution Environment | Cos’è un TEE?

    Giugno 2, 2021
  • Crypto Custody services machine-learning

    Crypto Custody: Guida alla custodia delle criptomonete

    Maggio 26, 2021
  • deep-q-learning-q-learning-reinforcement-learning machine-learning

    Deep Q-Learning

    Aprile 27, 2021

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino