Home Machine Learning Coding Games Linux Informatica quantistica Melody Craft Farm in Mind
I prodotti cognitiva sono usati da Scuola_Sisini come tecnologia base per la formazione aziendale e individuale

Cognitiva:

Regressione lineare

`` Gli esseri umani imparano dall'esperienza, mentre i computer eseguono di programmi: questo sis sa! La domanda che ci si pone è se anche i computer possano imparare dall'esperienza. La risposta è si, se chiamiamo dati l'esperienza`` (da A Friendly Introduction to Machine Learning)

Supponiamo di gestire un servizio per la valutazione immobiliare. In pratica i nostri clienti ci chiedono qual'è il prezzo migliore per vendere o acquistare un dato immobile. Noi eseguiamo la stima e il cliente esegue la transazione al prezzo indicato. Se nel tempo ha avuto la percezione di aver fatto un buon affare premierà la nostra attività con una valutazione positiva che influenzerà il nostro rating e quindi il nostro business. Se, al contrario, avrà la percezione di aver fatto un brutto affare, punirà con un voto negativo

Come si esegue una valutazione di un immobile? Ci sono due aspetti diversi da considerare: l'uno è legato al valore oggettivo derivante dalla metratura, materiali di costruzione, valore interni ecc., poi c'è la componente di mercato. Se un certo tipo di immobile non è di moda, oppure se è in una zona mal frequentata ecc., il suo valore scenderà, al contrario, se un immobile presenta caratteristiche alla moda, o è situato in una zona ricercata, allora il suo prezzo potrebbe salire indipendentemente dal suo valore reale.

Un buon venditore deve conoscere entrambi questi aspetti e, per mantenere alto il suo onore, deve fornire delle valutazioni corrette.
La domanda che ci poniamo è: una macchina potrebbe essere un buon venditore?
Forse stiamo un po' esagerando, il processo di vendita è più complesso della semplice stima di un prezzo, ma il punto resta: potremmo affidare ad una macchina il compito di eseguire una valutazione immobiliare?

La risposta è forse! Un buon venditore non improvvisa le proprie valutazione, ma le basa su calcoli e sull'esperienza. I calcoli gli permettono di conoscere il prezzo teorico, ma l'esperineza gli permette di sapere se un certo immobile andrà o no venduto a quel dato prezzo.
La macchina può apprendere dall'esperienza come fa il venditore?

Una simulazione semplificata

La realtà delle cose è sempre milto complessa, ciò non di meno, il metodo cartesiano ci ha insegnato che possiamo provare ad analizzare la realtà separandone gli aspetti che (crediamo) non sono legati fra loro. Un esempio su tutti è lo studio dell'accelerazione di gravità che si può condurre in una teca senz'aria per evitare gli effetti dell'alltrito
L'idea di questa simulazione è quella di produrre una situazione di mercato immobiliare molto semplificata, in cui le vendite degli immobili seguano una legge di mercato lineare che dipende da soli due parametri il prezzo al metro quadro e un prezzo di base costante
Il prezzo di un immobile può quindi essere valutato usando la formula:
prezzo = prezzo base + prezzo al m2 x metri quadri immobile
ATTENZIONE!
Il mercato però ha i suoi alti e bassi, quindi sia il prezzo al metro quadro che il prezzo base possono cambiare improvvisamente

Uomo e macchina

Un computer (un sistema informatico) che possa accedere ai dati del mercato può valutare il prezzo di un immobile e ottenere il massimo del rating
Sembra ovvio? Non lo è: bisogna considerare che da nessuna parte qualcuno ha scritto né quale sia il prezzo base né il prezzo al metro quadro, quindi non è possibile scrivere un programma che implementi la formula del prezzo vista sopra

Certo, conoscendo il modello matematico seguito dal mercato, un venditore potrebbe indovinare prezzo al metro quadro e prezzo base, e preparare tale programma. Come farebbe a farlo? Semplice: osserverebbe le vendite degli immobili, e cercherebbe di dedurne i parametri cercati. Poi, ad ogni variazione del mercato cambierebbe i paramtri del programma

Il machine learning

Abbiamo visto che un venditore potrebbe consigliare il giusto prezzo per un immobile imparando dall'esperienza che si può fare analizzando le vendite. Questo è esattamente lo stesso che può fare una macchina: apprendere dai dati
Un sistema informatico che sia connesso ad una fonte dati che lo aggiorni, possibilmente in tempo reale, sulle transazioni di vendita degli immobili, può continuamente auto-aggiornarsi o appunto auto-apprendere per fornire da solo le valutazioni degli immoboli

Provare per capire

Per capire le potenzialità del machine learning, la cosa più importante è quella di fare delle prove e delle simulazione che permettano una vera esperienza
Come ci si può rendere conto facilmente, da un punto di vista matematico il machine learing non differisce dalla statistica, data meaning e altre discipline, ma il machine learning, non è una scienza formale, è l'applicazione di diverse discipline a problemi reali che portano con sé svariate varianti da apprendere e verificare sul campo
Questo tool di cognitiva permette una prima e semplice esperienza di machine learning concretizzando l'esempio appena illustrato

Auto-organizzazione del cognitrone

In questo pacchetto trovi tutto il necessario per creare simulare un servizio di valutazione immobiliare che fornisca i prezzi degli immobili usando a piacere il machine learning o una valutazione non automatica

Fase 1: prepara l'ambiente

Cognitiva
Scarica GitHubCodice su GitHib

Fase 2: attivazione del servizio

Dalla directory cognitiva lancia l'eseguibile ./cognitiva_xreg

./cognitiva_xreg
Il sistema caricherà _xreg mostrando le istruzioni per controllare la simulazione e le prime richieste di valutazione da parte dei clienti
La figura seguente mostra l'esecuzione del programma

Fase 3: controllo manuale

Lasciato a sé stesso il sistema consiglia sempre il prezzo 0 € con conseguente valutazione negativa da parte del cliente. In questa fase proviamo a modificare i parametri di calcolo del prezzo usando le frecce SU, GIU, DESTRA e SINISTRA che modificano il prezzo base e il prezzo al metro. In figura si vede la varizione del prezzo consiglito dopo aver modificato i parametri di base del calcolo

Fase 4: ricezione dati dal mercato

Con il tasto r attiviamo la ricezione dei dati delle vendite di immobili nel nostro mercato di riferimento
Ovviamente si tratta di dati inventati, però se si volesse ricevere dei dati veri sarebbe sufficiente modificare un'unica fuzione del codice
Ogni transazione viene mostrata come illustrato nella figura seguente

Fase 5:

Siamo arrivati finalmente alla fase agognata: attiviamo l'apprendimento della macchina, il Machine Learning. Con il tasto a attiviamo l'apprendimento. Il sistema esegue una regressione lineare dei dati inviati dal canale delle vendite per calcolare i paramteri di base e li usa per fornire la propria valutazione dell'immbobile
Una volta che si è capito come funzione, ci si può divertire a scoprire cosa succede al sistema se si cambia improvvisamente il mercato: basta premere il tasto c, cambieranno i parametri di riferimento e il sistema si troverà spiazzato, ma... provare per capire!

Conclusioni

La regressione lineare è nota da almeno duecento anni. La comprensione degli aspetti matematici non comporta alcuna difficoltà, mentre la sua applicazione al machine learning richiede di focalizzare l'attenzione sull'idea di auto apprendimento e sulla necessità di disporre di dati aggiornati per l'addestramento dell'algoritmo.

Licenza e responsabilità

The tools are Open Source code distributed under GNU-GPL license. The tools are developed in the Scuola Sisini using GNU-gcc and GNU-Emacs editor only. Please, visit the Free Software Foundation and GNU project for more information about that.