top of page

Risultati Ricerca Intelligenza Artificiale Italia

485 risultati trovati con una ricerca vuota

  • Robotica e Intelligenza Artificiale ( I.A. ) le conoscenze di base e gli strumenti per iniziare

    Indice : Principio d’indeterminazione Presupposti elementari Alla base di tutto : i numeri I "Super-Numeri" Geometrie Informatica classica e Logica Q-bit Conclusioni Nei vari studi relativi al “principio d’indeterminazione”, in meccanica quantistica, si stabiliscono i limiti nella misurazione dei valori di grandezze fisiche coniugate: nella forma più nota, il principio di indeterminazione viene espresso dalla relazione: fra l’incertezza sulla posizione spaziale “Dx” e quella sulla quantità di moto “DPx” di una particella, dove “h” è la costante di Planck ridotta (o costante di Dirac, valore sperimentale equivalente a 1,0545…E-34 J*s). Enunciato nel 1927 da Werner Karl Heisenberg e confermato da innumerevoli esperimenti, rappresenta un concetto cardine della meccanica quantistica e sancisce una radicale rottura rispetto alle leggi della meccanica classica. Ulteriori evoluzioni teorico pratiche del principio di indeterminazione sono state condotte da vari scienziati con l’utilizzo di formule complesse e l’utilizzo di “dispositivi numerici” sempre più raffinati. Io credo che l’impiego di un concetto di numero universale, possa essere giustamente rappresentato nelle sue componenti naturali e immaginarie, e che solo in questo modo si possano utilizzare per esprimere correttamente la rappresentazione energetico esistenziale della materia. Vorrei chiarire il concetto partendo da questi presupposti elementari: Il genere umano per comunicare effettua delle “categorizzazioni mentali” esprimendo tali operazioni tramite concetti più o meno complessi. Nell’ambito delle categorizzazioni mentali, quelle che riguardano il concetto di relazioni numeriche, sono sicuramente quelle che impegnano moltissimo le facoltà mentali e che nel tempo sono state soggette a trasformazioni sempre più complesse. L’approccio mentale per comprendere le relazioni dei concetti nel campo delle categorizzazioni numeriche ha sviluppato linguaggi sempre più “coerenti” sotto l’aspetto funzionale: l’ambito LOGICO. Partendo dal concetto primordiale di numeri naturali si sono definiti dei simboli per identificare delle quantità : “N” → (0… 1… 2… 3… 4 … 5… 6… 7… 8… 9…) (simbologia moderna ma di antica origine indiana). Le relazioni interattive di carattere pratico, quali combinazioni utilizzanti i concetti numerici di cui sopra hanno permesso di concepire operazioni elementari di somma, sottrazione dando origine alla estensione “intuitiva” di questa tipologia di categorizzazione mentale introducendo la definizione dei numeri interi relativi : “Z” → (… -3… -2… -1… 0 … 1… 2… 3… …) che comprendono i “numeri negativi” Dalle necessità pratiche, probabilmente dovute a esigenze di spartizione dei beni vennero introdotti i concetti di divisione e moltiplicazione, portato alla categorizzazione ancora adesso definita come “insieme dei numeri razionali”, anche se a mio parere la parola “razionale” non è del tutto adeguata, perlomeno in italiano. La rappresentazione dei numeri razionali è la seguente: “Q” → (… -(Nx/Nx)… -(Nx/Ny) … (Nx/Nx)… (Ny/Nx) … ) → (…-1/2 … -1/3 … 1/2 … 1/3 …) tali numeri solitamente sono anche rappresentabili in questo modo: … -1.0… -0.9999… -0.5…. 0.0 … 0.5… 0.75555… 1.0… …. (come separatore decimale si può usare anche la virgola “,”….. (nota: si passa dalle categorizzazioni mentali alle convenzioni sociali…) che però può implicare qualche difficoltà interpretativa nei casi in cui venga considerato anche il numero : (Zero) “0” → ( 0/Nx …. Nx/0 …) questa particolarità ha portato alla concettualizzazione elementare di infinito: “Ꝏ” Dalle esigenze dovute alle misurazioni spaziali invece, le categorizzazioni mentali relative all’utilizzo della simbologia hanno fatto in modo, per noi occidentali, di dover introdurre il concetto dei “numeri algebrici”, basti pensare alle applicazioni della “Geometria Euclieda” ed in particolare al teorema di Pitagora, dove una variante dell’enunciato recita: “La misura dell’ipotenusa è data dalla “radice quadrata” della misura dei cateti…” anche se questi enunciati erano noti anche ad altre culture…. perlomeno in oriente. In particolare, la condizione che probabilmente portò Ippaso al concetto dei “numeri irrazionali” e che sono esprimibili come “radici” di equazioni algebriche: in altre parole numeri non esprimibili correttamente se usassimo una delle versioni precedenti: √2 =1,4142135623730950488016887242097… (e non può essere il risultato di una frazione) da questa categorizzazione di numeri si può dedurre un altro concetto interessante: dati come valori infiniti quelli rappresentati da No, il valore rappresentato da N1 è sicuramente maggiore: un infinito più grande…. (fare riferimento al valore della radice quadrata) Ulteriori esigenze di misurazione, in particolare dovute a procedure di misurazioni orografiche o che in qualche modo comprendessero misure di curve portarono alla categorizzazione dei numeri trascendenti, quali “ Л“ ed “e”, il primo come sappiamo viene definito come l’area di un cerchio di raggio “1”, mentre il secondo viene definito come risultato di una serie infinita di frazioni di numeri fattoriali: Ecco allora l’esigenza di far “rientrare” tutte queste tipologie di numeri in una categoria mentale che li rappresentasse: l’insieme dei numeri reali “R”, che comprende i numeri esprimibili con o senza virgola (decimali), quindi i numeri “razionali”, e quelli “irrazionali”, algebrici e trascendenti. Attraverso questi numeri si possono esprimere le grandezze scalari (quantità di cose…) o determinare delle istantanee di grandezze vettoriali (forze, velocità ecc) , tuttavia si resero necessarie ulteriori categorizzazioni mentali per spiegare dei concetti in grado di esprimere dei vettori variabili nel tempo (vettori rotanti.. onde sinusoidali…): rappresentazione di numeri complessi: I=X+JY dove “J” è semplicemente un rotore immaginario che farà in modo di ottenere un particolare risultato: Ecco allora che tutte le categorizzazioni precedenti, ancora una volta verranno “incluse” in un nuovo “insieme numerico”, che tradotto nel sistema di comunicazione coerente dovuto al linguaggio matematico si traduce in: da quanto sopra si può desumere allora, che nelle categorizzazioni mentali, quella che contempla tutti gli altri numeri sia appunto quella dei numeri complessi. Ma il genere umano evidentemente fa buon uso della fantasia e quindi alcuni “addetti ai lavori”, per particolari esigenze, hanno introdotto delle ulteriori concettualizzazioni nel campo dei numeri complessi, definendo i “Quaternioni”(usati anche in robotica), gli “Ottonioni”, gli “Sedenioni”, nonosolo, nel campo dei numeri reali sono stati introdotti concetti come i “numeri iper-reali”, numeri “non standard” che fungono da base per l’analisi matematica moderna nel calcolo delle derivate e degli integrali. La loro forma descrittiva è la seguente: dato come assunto, che vi sia un numero dx compreso tra “0” ed un valore “1/n”, il numero iperreale si può scrivere come “ X+dx” ovvero “X + ɛ” o “monade” → “μ(x)”. Non solo, ma sono stati definiti concettualmente anche i cosiddetti numeri “p-adici” che assumono la seguente formula di rappresentazione nel linguaggio matematico: che ad esempio (10-adici) si potrebbero rappresentare come una somma infinita di interi a sinistra della virgola come riportato dalla seguente: Nella forma 10_adica quindi …99999 = -1. Questa tipologia di categorizzazione numerica venne introdotta probabilmente per effettuare operazioni complesse in analisi matematica delle metriche. Quanto sopra descritto porta nella direzione della categorizzazione “numerologica” quale approccio di analisi dei fenomeni fisici, dove possiamo indicare semplicisticamente che i “numeri”, con le loro relazioni funzionali, stanno alla base di un linguaggio logico, quindi coerente, in grado generare dei modelli atti ad interpretare quella che riteniamo essere la realtà fenomenologica dell’universo. Alcuni esempi: Il peso è una forza, ha una unità di misura numerica e si può rappresentare con un vettore (non rotante): La massa invece esprime una quantità di materia, ha una unità di misura ed è una grandezza scalare: siccome un atomo d’oro ha una massa pari a 3.2707068*10-22g presumibilmente ci vorranno circa un numero pari a 3,05744311902247E+018 atomi di oro (senza scorie di altri materiali) A proposito di numeri, quando questi vengono utilizzati per rappresentare qualcosa nel mondo geometrico, trasferiscono, come è intuibile alcune delle loro proprietà ad alcuni elementi, per il calcolo di aree, di lunghezze di archi ecc. Esistono diversi tipi di geometrie, alcune anche molto complesse e apparentemente paradossali e di difficile comprensione. A me piace immaginare la geometria come un metodo di rappresentazione verosimile della realtà fisica degli elementi e ad esempio, se mi riferisco ad un punto, che concettualmente non ha dimensioni, se lo riporto su una geometria piana cerco di immaginare un cerchio con un diametro nullo (ma sempre un cerchio) e quindi, se devo immaginare un segmento immagino una serie infinita di cerchi, uno accanto all’altro… (ma un infinito determinato dai confini del segmento), se dovessi immaginare una linea sarebbe una serie infinita di punti senza limiti, se dovesse essere un piano lo vedrei come cerchi disposti su un area e così via perlomeno fino ad immaginare dei solidi. E’ importante inoltre, assumere come concetto di base delle geometrie, che si deve fare sempre riferimento ad un sistema di coordinate, ad esempio, nella geometria piana si definiscono le ascisse e le ordinate (le coordinate “cartesiane” introdotte concettualmente da Cartesio). Ora, prendiamo in considerazione un punto e associamolo ad una coordinata, in qualsiasi direzione spaziale… potrebbe anche essere interpretato come una linea: Se aggiungiamo un’altra coordinata potremmo vedere un piano: Se aggiungessimo un’altra coordinata scopriremmo un solido: Con un po’ di immaginazione i numeri “razionali” potrebbero essere associati a dei cerchi… e i numeri iperreali come dei cerchi più piccoli… Nella geometria solida potremmo immaginare i numeri come delle sfere, magari introducendo i numeri immaginari e fornendo un concetto di “propagazione d’onda”, se non proprio i quaternioni… Nella meccanica computazionale classica e quindi nell’informatica classica, i numeri vengono generati in relazione a degli stati energetici di interdizione o saturazione di canali di passaggio della corrente elettrica, rendendo possibile un trasferimento informazionale binario. Curiosamente, questo sistema numerico, fu adottato anche da alcune popolazioni sin dal neolitico: i Gumulgal australiani (dal 10000 a.C. al 3500 a.C.) o altre antiche popolazioni africane o sudamericane. In altre parole, la forma più piccola di decodificazione su uno stato energetico complementare o logico: il BIT (contrazione di “binary-digit” o cifratura binaria). Nella simbologia rappresentativa il BIT utilizza solo due simboli derivati dal sistema decimale rappresentato con la metodologia simbolica pseudo indiana, lo “0” e l’ “1”, che indicano due possibili condizioni logiche: “VERO o FALSO” ad equivalenza simbolica positiva o negativa rispetto alla condizione di stato energetico: In logica positiva VERO = 1 e FALSO =0, ovviamente la rappresentazione è complementare in logica negativa in quanto “se non è A allora è (!)A”. Sotto l’aspetto numerologico quindi si parla di “sistema numerico” in base al raggruppamento simbolico di base: ne consegue che, intuitivamente nel sistema binario avremmo due simboli e nel sistema decimale a noi più consono, ne avremmo 10, ma evidentemente sono solo due metodi, tra innumerevoli possibilità rappresentative. La conversione tra sistemi numerici rappresentativi si può quindi effettuare con dei metodi convenzionali assumendo come equivalenza la corrispondenza simbologica relativa: Per convertire ad esempio un numero alla base 10 scritto in una base diversa da 10 bisogna sviluppare il numero nella sua forma polinomiale. Se (x)B è un numero qualsiasi scritto nella base B e se { an, an−1, an−2 …,a2, a1, a0 } sono le cifre del numero (da 0 a B−1) avremo: (x)B=an * Bn+an−1*Bn−1+⋯+a2*B2+a1*B1+a0*B0 Ovvio pensare dunque che nella computazione meccanizzata classica, partendo da una base numerica 2 si siano di seguito sviluppate le numerazioni ottali (byte) ed esadecimanli (word), che possiamo quantizzare in termini numerici come segue: Nei computer attualmente in commercio, di norma l’indirizzamento è a 64 bit e questo significa in termini numerici che un registro a 64 bit può contenere uno qualsiasi di 2 64 (oltre 18 quintilioni o 1,8 × 10^19 ) valori diversi. L'intervallo di valori interi che possono essere memorizzati in 64 bit dipende dalla rappresentazione intera utilizzata. Con i due più comuni rappresentazioni, l'intervallo è 0 e 18.446.744.073.709.551.615 (2^64 - 1) per la rappresentazione come ( senza segno ) numero binario , e -9.223.372.036.854.775.808 (-2^63 ) attraverso 9.223.372.036.854.775-807 (2^63 - 1) per rappresentazione come complemento a due. Quindi, un processore con indirizzi di memoria a 64 bit può accedere direttamente a 2^64 byte (= 16 exabyte ) di memoria indirizzabile a byte tenendo presente che la quantità di memoria viene quantizzata in multipli di byte: Kilobyte (kb) => un kilobyte ha un'unità di memoria di 1024 (2^10) Megabyte (Mb) => un megabyte ha un'unità di memoria se 1.048.576 (2^20), si tratta di circa 1 milione di byte. Gigabyte (Gb) => un gigabyte ha un'unità di memoria di 1.073.741.824 (2^30), questo circa miliardi di byte. Terabyte (Tb) => un terabyte ha un'unità di memoria di (2^40). Si tratta di circa 1 trilione di byte. Petabyte (Tb) => un petabyte ha un'unità di memoria di (2^50). Si tratta di 1,15292150460685E+018 byte. Da quanto sopra si evince che, anche con l’utilizzo di sistemi computazionali a portata di tutti, le potenzialità di rappresentazione delle metodologie di quantificazione sono potenzialmente interessanti almeno in riferimento a due fattori: Il primo fattore è la potenzialità di trattamento dei numeri, che come desumibile da quanto riportato, devono essere adeguatamente rappresentati, quindi trattabili come risultato di operazioni e computerizzati con approssimazioni il più raffinate possibili (valore assoluto dell’esponenziale o quantità di cifre decimali), poiché questa potenzialità avvicina al digitale (discreto), il concetto di contiunuum, tanto per intenderci, si tratta di rappresentazioni di numeri interi o a virgola mobile (“floats” o decimali), ma anche di numeri irrazionali e numeri complessi, poiché le esigenze sono quelle di rappresentare non solo i numeri positivi o negativi, ma anche infiniti ed infinitesimali, nonché grandezze vettoriali o matricali, le quali sono fondamentali per la rappresentazione di campi numerici e degli spazi vettoriali. Il secondo fattore invece, prende spunto dalla potenzialità di elaborare decisioni su “grandezze discrete” derivanti da elaborazioni statistiche, facendo entrare in gioco appunto, anche la “facoltà” di sviluppo di sistemi inferenziali che danno origine alla cosiddetta intelligenza artificiale, in altre parole, data una raffinata potenzialità rappresentativa dei numeri da 0 a 1 e dati dei “criteri”, che possono anche essere variabili all’interno di questo campo, si può elaborare un flusso decisionale ad albero ad esempio utilizzando un criterio di CART (Classification and Regression Trees) dove la potezialità di scelta passa da FALSO (0) a VERO (1) in un continuum statistico, in relazione al verificarsi di elaborazioni su discreti, intendendo come discreti ad esempio in termini elementari nullo, minimo, medio, massimo, magari introducendo anche i criteri di mediana e di moda, o di stima dei quartili… che a tal proposito mi rimandano il pensiero alla nuova frontiera per l’elaborazione dei dati, costituita dalle interconnessioni quantiche delle particelle subatomiche, la cui esistenza viene elaborata partendo appunto dal loro “stato potenziale” espresso nello spazio vettoriale di Hilbert e si chiamano Q-BIT che vengono rappresentati appunto come due vettori i quali assumono i valori di: e sono valori probabilistici: Notare che un q-bit in questo stato di sovrapposizione non ha un valore compreso tra "0" e "1"; piuttosto, quando misurato, il q-bit ha una probabilità |alpha|^2 del valore "0" e una probabilità |beta|^2 del valore "1", dove α e β sono ampiezze di probabilità e in generale possono essere entrambi numeri complessi. Questi sono i “ferri del mestiere” per chi si appresta ad entrare nel mondo della automazione, della robotica e dell’intelligenza artificiale. Grazie mille per la lettura !

  • I 5 migliori algoritmi di machine learning ( ML ) che ogni principiante dovrebbe conoscere

    Iniziamo questo articolo con un bellissimo teorema, chiamato " No Free Lunch(NFL)". In poche parole, afferma che : " Dati due algoritmi di predizione qualsiasi, sono equivalenti, quando le loro prestazioni sono approssimativamente uguali su tutti i possibili problemi" ed è particolarmente rilevante per l'apprendimento supervisionato (cioè la modellazione predittiva) perchè questo teorema va applicato quando si tratta di scegliere l'algoritmo migliore per il nostro problema . Ad esempio, non si può dire che le reti neurali siano sempre migliori degli alberi decisionali o viceversa. Ci sono molti fattori in gioco, come la dimensione e la struttura del tuo set di dati. Di conseguenza, dovresti provare molti algoritmi diversi per il tuo problema, mentre utilizzi un "test set" di dati per valutare le prestazioni e selezionare il vincitore. Ovviamente, gli algoritmi che provi devono essere appropriati per il tuo problema, ed è qui che entra in gioco la scelta del compito del modello predittivo corretto. Come analogia, se hai bisogno di pulire la tua casa, potresti usare un aspirapolvere, una scopa o uno straccio , ma non tireresti fuori una pala e inizieresti a scavare. Allora iniziamo a parlare dei 5 migliori algoritmi da imparare per risolvere semplici problemi di machine learning. Indice Il principio fondamentale Regressione lineare Regressione logistica Analisi discriminante lineare Classificazione e alberi di regressione Naive Bayes Conclusioni 1- Il principio fondamentale Tuttavia, esiste un principio comune alla base di tutti gli algoritmi di apprendimento automatico supervisionato per la modellazione predittiva. Gli algoritmi di apprendimento automatico sono descritti come l'apprendimento di una funzione di destinazione (f) che mappa al meglio le variabili di input (X) su una variabile di output (Y): Y = f (X) Questo è un compito di apprendimento generale in cui vorremmo fare previsioni in futuro (Y) dati nuovi esempi di variabili di input (X). Non sappiamo come sia la funzione (f) o la sua forma. Se lo facessimo, lo useremmo direttamente e non avremmo bisogno di apprenderlo dai dati utilizzando algoritmi di apprendimento automatico. Il tipo più comune di apprendimento automatico è imparare la mappatura Y = f (X) per fare previsioni di Y per il nuovo X. Questo è chiamato modellazione predittiva o analisi predittiva e il nostro obiettivo è rendere le previsioni più accurate possibili. Per i neofiti dell'apprendimento automatico desiderosi di comprendere le basi dell'apprendimento automatico, ecco un breve tour sui 5 migliori algoritmi di apprendimento automatico utilizzati dai data scientist. 2- Regressione Lineare La regressione lineare è forse uno degli algoritmi più noti e ben compresi in statistica e apprendimento automatico. La modellazione predittiva si occupa principalmente di ridurre al minimo l'errore di un modello o di effettuare le previsioni più accurate possibili, a scapito della spiegabilità. Prenderemo in prestito, riutilizzeremo e ruberemo algoritmi da molti campi diversi, comprese le statistiche, e li useremo per questi scopi. La rappresentazione della regressione lineare è un'equazione che descrive una retta che meglio si adatta alla relazione tra le variabili di input (x) e le variabili di output (y), trovando ponderazioni specifiche per le variabili di input chiamate coefficienti (C). Ad esempio: y = Cx + C2 Prevederemo y dato l'input x e l'obiettivo dell'algoritmo di apprendimento della regressione lineare è trovare i valori per i coefficienti C e C2. È possibile utilizzare diverse tecniche per apprendere il modello di regressione lineare dai dati, come una soluzione di algebra lineare per i minimi quadrati ordinari e l'ottimizzazione della discesa del gradiente. La regressione lineare esiste da più di 200 anni ed è stata ampiamente studiata. Alcune buone regole pratiche quando si utilizza questa tecnica sono rimuovere le variabili che sono molto simili (correlate) e rimuovere il rumore dai dati, se possibile. È una tecnica veloce e semplice e un buon primo algoritmo da provare. 3 - REGRESSIONE LOGISTICA La regressione logistica è un'altra tecnica presa in prestito dall'apprendimento automatico dal campo della statistica. È il metodo di riferimento per i problemi di classificazione binaria (problemi con due valori di classe). La regressione logistica è come la regressione lineare in quanto l'obiettivo è trovare i valori per i coefficienti che pesano ogni variabile di input. A differenza della regressione lineare, la previsione per l'output viene trasformata utilizzando una funzione non lineare chiamata funzione logistica. La funzione logistica ha l'aspetto di una grande S e trasformerà qualsiasi valore nell'intervallo da 0 a 1. Ciò è utile perché possiamo applicare una regola all'output della funzione logistica per agganciare i valori a 0 e 1 (ad esempio SE minore di 0,5 allora output 1) e prevedere un valore di classe. A causa del modo in cui il modello viene appreso, le previsioni fatte dalla regressione logistica possono essere utilizzate anche come probabilità che una data istanza di dati appartenga alla classe 0 o alla classe 1. Ciò può essere utile per i problemi in cui è necessario fornire più motivazioni per una predizione. Come la regressione lineare, la regressione logistica funziona meglio quando si rimuovono attributi che non sono correlati alla variabile di output e attributi molto simili (correlati) tra loro. È un modello veloce da apprendere ed efficace sui problemi di classificazione binaria. 4- ANALISI DISCRIMINANTE LINEARE La regressione logistica è un algoritmo di classificazione tradizionalmente limitato a soli problemi di classificazione a due classi. Se si hanno più di due classi, l'algoritmo di analisi discriminante lineare è la tecnica di classificazione lineare preferita. La rappresentazione dell'ADL è piuttosto semplice. Consiste di proprietà statistiche dei dati, calcolate per ciascuna classe. Per una singola variabile di input questo include: Il valore medio per ogni classe. La varianza calcolata in tutte le classi. Le previsioni vengono effettuate calcolando un valore discriminante per ciascuna classe e facendo una previsione per la classe con il valore più grande. La tecnica presuppone che i dati abbiano una distribuzione gaussiana (curva a campana), quindi è una buona idea rimuovere prima i valori anomali dai dati. È un metodo semplice e potente per la classificazione dei problemi di modellazione predittiva. 5 - ALBERI DI CLASSIFICAZIONE E REGRESSIONE Gli alberi decisionali sono un tipo importante di algoritmo per l'apprendimento automatico della modellazione predittiva. La rappresentazione del modello dell'albero decisionale è un albero binario. Questo è il tuo albero binario da algoritmi e strutture dati, niente di troppo stravagante. Ogni nodo rappresenta una singola variabile di input (x) e un punto di divisione su quella variabile (assumendo che la variabile sia numerica). I nodi foglia dell'albero contengono una variabile di output (y) che viene utilizzata per fare una previsione. Le previsioni vengono effettuate percorrendo le divisioni dell'albero fino ad arrivare a un nodo foglia e restituire il valore della classe a quel nodo foglia. Gli alberi sono veloci da imparare e molto veloci per fare previsioni. Inoltre sono spesso accurati per un'ampia gamma di problemi e non richiedono alcuna preparazione speciale per i dati. 6 - NAIVE BAYES Naive Bayes è un algoritmo semplice ma sorprendentemente potente per la modellazione predittiva. Il modello è composto da due tipi di probabilità che possono essere calcolate direttamente dai dati di allenamento: La probabilità di ogni classe La probabilità condizionata per ogni classe dato ogni valore x. Una volta calcolato, il modello di probabilità può essere utilizzato per fare previsioni per nuovi dati utilizzando il teorema di Bayes. Quando i dati sono a valori reali, è comune assumere una distribuzione gaussiana (curva a campana) in modo da poter stimare facilmente queste probabilità. Naive Bayes è chiamato ingenuo perché presuppone che ogni variabile di input sia indipendente. Questo è un presupposto forte e irrealistico per i dati reali, tuttavia, la tecnica è molto efficace su una vasta gamma di problemi complessi. Conclusioni Una tipica domanda posta da un principiante, di fronte a un'ampia varietà di algoritmi di apprendimento automatico, è "quale algoritmo devo usare?" La risposta alla domanda varia a seconda di molti fattori, tra cui: la dimensione la qualità e la natura dei dati il tempo di calcolo disponibile l'urgenza del compito cosa si desidera fare con i dati. Anche un esperto di data scientist non può dire quale algoritmo funzionerà meglio prima di provare diversi algoritmi. Sebbene esistano molti altri algoritmi di Machine Learning, questi sono i più popolari. Se sei un principiante del Machine Learning, questi sarebbero un buon punto di partenza per imparare. Grazie mille la lettura, condividi l'articolo a chi pensi non conosca questi algoritmi.

  • Classificatore vs Regressione quale usare? Machine learning esempi pratici

    Quando sei alle prime armi con gli algoritmi ed i modelli di apprendimento può accadere di trovarti in una situazione antipatica: hai i tuoi dati ma non sai che algoritmo di apprendimento utilizzare. Prima di illustrare le differenze tra le due famiglie di algoritmi e quale è più efficace per i tuoi dati, ricordiamo che stiamo operando all'interno della branca del machine learning chiamato apprendimento supervisionato. Se non conosci le tre principali famiglie del machine learning clicca qui. Questo tipo di apprendimento si basa su dei dati strutturati, quindi variabili indipendenti ( i valori delle X ) e la variabile di target ( il nostro obbiettivo Y). Questi modelli o algoritmi ricevono in input X,Y e generano una funzione del tipo F(x1,x2,..,xn) = y. Dove x1,x2, .. , xn sono le variabili che descrivono e caratterizzano il nostro target y. Vediamo ora la differenza principale tra classificatore e regressione con alcuni esempi di utilizzo nel machine learning. Indice il Classificatore Scarica l'esempio delle differenze tra i classificatori in Python gratis la Regressione Scarica esempio di Regressione Lineare in Python gratis il Classificatore I classificatori proprio come suggerisce il nome servono a catalogare o classificare il nostro target. Il nostro target dovrà quindi essere una Classe. Facciamo qualche esempio pratico per capire quando il nostro target è una variabile da classificare e quindi una classe. Un esempio in ambito della sentiment analyst : vogliamo classificare se un commento sotto i video dei nostri prodotti o servizi è uno spam o meno. Quindi la nostra variabile di target sarà "spam", se il commento è di spam, o "non spam" se il commento non conterrà altri prodotti o servizi di altre aziende. Un esempio in ambito della Computer Vision : dobbiamo creare un modello in grado di distinguere se nell'immagine è presente o meno un determinato oggetto o animale. Anche questa volta il nostro modello riceverà in input un'immagine e la dovrà classificare in base alla presenza o meno dell'oggetto che cerchiamo. Quindi anche in questo caso il nostro target è una classe, "si" se l'oggetto o l'animale è presente nell'immagine oppure "no". Un esempio nell'ambito del Marketing : supponiamo di avere i dati anagrafici, i servizi acquistati e un campo che indica se il cliente è soddisfatto o meno dei nostri clienti. Vogliamo creare un modello che passati in input nuovi dati sui clienti che hanno recentemente acquistato un servizio predica se loro sono o meno soddisfatti. Come è possibile notare il nostro target è una classe divisa in due gruppi "soddisfatto" e "non soddisfatto" quindi anche questa volta utilizzeremo un classificatore. Un esempio in ambito della Medicina : decidiamo di creare un modello che passate in input le cartelle mediche di pazienti affetti da una determinata malattia, questo possa predire lo stadio, ad esempio "Stato iniziale", "Stato avanzato" , "Stato terminale" e "Nessuno Stato" nel caso la malattia sia regredita. Quindi anche in questo tipologia di problema il nostro target è una classe divisa in 4 gruppi : "Stato iniziale", inizio malattia "Stato avanzato", avanzamento della malattia "Stato terminale" , verso il termine della malattia "Nessuno Stato" , malattia estinta dal paziente con successo Quindi ricapitolando gli algoritmi di classificazione si vanno ad utilizzare quando ciò che dobbiamo stimare non è una variabile che oscilla, ad esempio come il prezzo o gli indici di borsa, ma qualcosa di statico che è possibile suddividere o catalogare. Tra gli algoritmi di Classificazione, nel campo del machine learning i più diffusi ed utilizzati sono i seguenti: Regressione Logistica (anche se il nome tende a far pensare che sia una regressione) Albero decisionale Classificatore Bayesiano kNN Scarica l'Esempio delle differenze tra i classificatori in Python la Regressione Questi modelli al contrario, non devono trovare " uno o più piani o nodi " che classificano il target, ma una funzione che descrive il nostro target. Quindi il suo scopo è di prevedere i valori di una variabile numerica a partire da una o più variabili. Vediamo alcuni esempi dove è utile utilizzare la regressione Un esempio nell'ambito del Marketing : Abbiamo i dati delle nostre sponsorizzazioni sui social-network e quante vendite ci hanno portato. Quindi in questo caso dobbiamo cercare una funzione capace di descrivere quanto aumentando le sponsorizzazioni aumentano le vendite. Questo è proprio il lavoro della Regressione 😉. Un esempio in ambito della Medicina : decidiamo di creare un modello che passato in input il numero di antenati affetti da una determinata patologia, questo possa predire le probabilità che tu la possa aver ereditata. Anche in questo caso la Regressione risolverà il problema. Un esempio nel ramo Immobiliare: Se volessimo creare un algoritmo in grado di fare una stima del prezzo di un appartamento avremmo le nostre variabili indipendenti ( gli attributi che descrivono la casa : dimensioni, numero di stanze, numero di bagni, ecc...) che andranno a descrivere variabile di target, ossia il prezzo. In questo caso il prezzo è una variabile che a noi interessa sapere il più preciso possibile per questo motivo anche qui utilizzeremo la Regressione. L'algoritmo più utilizzato è la regressione Lineare. Scarica un Esempio di Regressione Lineare in Python Grazie per la lettura, condividi l'articolo per supportarci.

  • Cosa è la business intelligence (BI) , come applicarla alla tua impresa e le principali piattaforme

    Indice Iniziamo dalle basi Esempi di Business Intelligence Business Intelligence vs. analisi aziendali Strategia di Business Intelligence Business Intelligence self-service Software e sistemi di Business Intelligence La figura professionale della BI: Analista di Business Intelligence Il futuro della Business Intelligence Iniziamo dalle basi? Perché si chiama Business Intelligence! Così come un indagatore dovrai imparare a scoprire che i tuoi dati di Business nascondono informazioni preziose e segrete per questo motivo è stato coniato il termine "Business intelligence" Definizione di business intelligence La Business Intelligence (BI) sfrutta software e servizi per trasformare i dati in informazioni a supporto delle decisioni aziendali strategiche e tattiche di un'organizzazione. Gli strumenti di BI accedono e analizzano i set di dati e presentano i risultati analitici in report, riepiloghi, dashboard, grafici, tabelle e mappe per fornire agli utenti informazioni dettagliate sullo stato del proprio business. Il termine business intelligence spesso si riferisce anche a una gamma di strumenti che forniscono un accesso rapido e facile da digerire alle informazioni sullo stato attuale di un'organizzazione, sulla base dei dati disponibili. Per capire la differenza tra dati ed informazioni vi basta guardare l'esempio successivo. I dati sono un insieme di flussi generati dalla nostra azienda o clienti che si interfacciano con noi. Prendiamo ad esempio un flusso di vendita dove per ogni cliente e prodotto abbiamo una serie di numeri e lettere relative alla vendita stessa: I nostri dati: Cliente A: BLABLA12345BLABLA67890 Cliente B: BLABLA45221BLABLA06809 Cliente C: BLABLA54213BLABLA78006 Cliente D: BLABLA23541BLABLA66789 Cliente E: BLABLA22345BLABLA67890 Cliente F: BLABLA33221BLABLA78069 Cliente G: BLABLA22224BLABLA88969 Cliente H: BLABLA11213BLABLA67980 La differenza tra dati ed informazioni si trova nella capacità di saper evidenziare particolari trend o particolari dati di clienti o prodotti con determinate caratteristiche. Mettiamo il caso che si voglia capire quali clienti acquistano il prodotto di taglia maggiore che è identificato dal codice 21 e 80. Nell'immagine soprastante è veramente difficile trovarli ad occhi nudo se invece guardiamo l'immagine successiva capiamo che basterebbe evidenziare tali codici per rendere le informazioni subito visibili e disponibili: Le nostre informazioni: Cliente A: BLABLA12345BLABLA67890 Cliente B: BLABLA45221BLABLA06809 Cliente C: BLABLA54213BLABLA78006 Cliente D: BLABLA23541BLABLA66789 Cliente E: BLABLA22345BLABLA67890 Cliente F: BLABLA33221BLABLA78069 Cliente G: BLABLA22224BLABLA88969 Cliente H: BLABLA11213BLABLA67980 Questo è proprio il compito della BI, mettere in evidenza le informazioni necessarie per prendere decisioni di business pescandole tra i nostri dati che nascondono implicitamente. Esempi di business intelligence Il reporting è un aspetto centrale della business intelligence e il dashboard è forse l'archetipo dello strumento di BI. Le dashboard sono applicazioni software che raccolgono automaticamente i dati disponibili in tabelle e grafici che danno un'idea immediata dello stato dell'azienda. Sebbene la business intelligence non dica agli utenti aziendali cosa fare o cosa succederà se seguiranno un determinato corso, la BI non si limita a generare report. Piuttosto, la BI offre alle persone un modo per esaminare i dati per comprendere le tendenze e ricavare intuizioni ottimizzando lo sforzo necessario per cercare, unire e interrogare i dati necessari per prendere decisioni aziendali valide. Ad esempio, un'azienda che desidera gestire al meglio la propria catena di fornitura necessita di capacità di BI per determinare dove si verificano i ritardi e dove esistono variabilità all'interno del processo di spedizione. Quell'azienda potrebbe anche utilizzare le sue capacità di BI per scoprire quali prodotti sono più comunemente consegnati in ritardo o quali modalità di trasporto sono più spesso coinvolte nei ritardi. Oppure indicare ad un sistema scolastico i tassi di frequenza alle prestazioni degli studenti - per migliorare l'apprendimento degli studenti e i tassi di diplomati delle scuole superiori. Business intelligence vs analisi aziendale Una cosa che avrai notato da questi esempi è che forniscono informazioni sullo stato attuale dell'azienda o dell'organizzazione: dove sono le prospettive di vendita in cantiere oggi? Quanti membri abbiamo perso o guadagnato questo mese? Questa è la distinzione chiave tra business intelligence e un altro termine correlato, business analytics. La business intelligence è descrittiva e ti dice cosa sta succedendo ora e cosa è successo in passato per portarci a quello stato. L'Analisi di business, d'altra parte, è un termine generico per le tecniche di analisi dei dati che sono: predittiva - Ti può dire che cosa sta succedendo o cosa accadrà in futuro prescrittiva - Ti può dire ciò che si dovrebbe fare per raggiungere risultati migliori. (L'analisi aziendale viene solitamente considerata come quel sottoinsieme della più ampia categoria di analisi dei dati specificamente focalizzata sul business.) La distinzione tra i poteri descrittivi della BI e i poteri predittivi o descrittivi dell'analisi aziendale va un po' oltre il periodo di tempo di cui stiamo parlando. Va anche al cuore della questione a chi è destinata la business intelligence . Come spiega il blog di Stitchdata , BI mira a fornire istantanee dirette dello stato attuale delle cose ai manager aziendali. Sebbene le previsioni e i consigli derivati ​​dall'analisi aziendale richiedano ai professionisti della scienza dei dati di analizzare e interpretare, uno degli obiettivi della BI è che dovrebbe essere facile per gli utenti finali anche ai non tecnici di capire e persino di immergersi nei dati e creare nuovi rapporti. Strategia di business intelligence In passato, i professionisti IT erano stati gli utenti principali delle applicazioni BI. Tuttavia, gli strumenti BI si sono evoluti per essere più intuitivi e facili da usare, consentendo a un gran numero di utenti in una varietà di domini organizzativi di utilizzare gli strumenti. Howson di Gartner distingue due tipi di BI. La prima è la BI tradizionale o classica, in cui i professionisti IT utilizzano dati transazionali interni per generare report. Il secondo è la BI moderna, in cui gli utenti aziendali interagiscono con sistemi agili e intuitivi per analizzare i dati più rapidamente. Howson spiega che le organizzazioni generalmente optano per la BI classica per determinati tipi di report, come i report normativi o finanziari, in cui l'accuratezza è fondamentale e le domande e i set di dati utilizzati sono standard e prevedibili. Le organizzazioni in genere utilizzano i moderni strumenti di BI quando gli utenti aziendali hanno bisogno di informazioni su dinamiche in rapida evoluzione, come gli eventi di marketing, in cui la velocità è valutata rispetto a ottenere i dati corretti al 100%. Tuttavia, sebbene una solida business intelligence sia essenziale per prendere decisioni aziendali strategiche, molte organizzazioni hanno difficoltà a implementare strategie di BI efficaci, a causa di pratiche inadeguate sui dati, errori tattici e altro ancora. Business intelligence self-service La spinta a consentire a chiunque di ottenere informazioni utili dagli strumenti di business intelligence ha dato origine alla business intelligence self-service, una categoria di strumenti di BI mirati a eliminare la necessità di intervento IT nella generazione di report. Gli strumenti di BI self-service consentono alle organizzazioni di rendere i report dei dati interni dell'azienda più prontamente disponibili ai manager e ad altro personale non tecnico. Tra le chiavi del successo della BI self-service ci sono dashboard di business intelligence e interfacce utente che includono menu a discesa e punti di drill-down intuitivi che consentono agli utenti di trovare e trasformare i dati in modi di facile comprensione. Sarà senza dubbio necessaria una certa quantità di formazione, ma se i vantaggi degli strumenti sono abbastanza evidenti, i dipendenti saranno ansiosi di salire a bordo. Tieni presente, tuttavia, che ci sono anche delle insidie ​​nella BI self-service . Guidando i tuoi utenti aziendali a diventare ingegneri dei dati ad hoc , puoi finire con un mix caotico di metriche che variano da un reparto all'altro, incorrere in problemi di sicurezza dei dati e persino eseguire grosse licenze o fatture SaaS se non c'è un controllo centralizzato sull'implementazione dello strumento . Quindi, anche se ti stai impegnando per la business intelligence self-service all'interno della tua organizzazione, non puoi semplicemente acquistare un prodotto standard, indirizzare il tuo personale all'interfaccia utente e sperare per il meglio. Software e sistemi di business intelligence Una varietà di diversi tipi di strumenti ricade sotto l'ombrello della business intelligence. Il servizio di selezione del software SelectHub suddivide alcune delle categorie e delle caratteristiche più importanti : Dashboard Visualizzazioni Segnalazione Estrazione dei dati ETL (extract-transfer-load: strumenti che importano dati da un archivio dati a un altro) OLAP (elaborazione analitica online) Di questi strumenti, SelectHub afferma che i dashboard e la visualizzazione sono di gran lunga i più popolari; offrono i riepiloghi dei dati rapidi e facili da digerire che sono al centro della proposta di valore di BI. Ci sono tonnellate di fornitori e offerte nello spazio BI e guadare attraverso di loro può diventare travolgente. Alcuni dei principali attori includono: Tableau , una piattaforma di analisi self-service fornisce la visualizzazione dei dati e può integrarsi con una vasta gamma di origini dati, tra cui Microsoft Azure SQL Data Warehouse ed Excel Splunk , una "piattaforma di analisi guidata" in grado di fornire business intelligence e analisi dei dati di livello aziendale Alteryx , che combina analisi da una gamma di fonti per semplificare i flussi di lavoro e fornire una vasta gamma di approfondimenti BI Qlik , basato sulla visualizzazione dei dati, BI e analisi, fornisce una piattaforma BI estesa e scalabile Domo , una piattaforma basata su cloud che offre strumenti di business intelligence su misura per vari settori (come servizi finanziari, sanità, produzione e istruzione) e ruoli (inclusi CEO, vendite, professionisti della BI e lavoratori IT) Dundas BI , che viene utilizzato principalmente per la creazione di dashboard e scorecard, ma può anche eseguire report standard e ad-hoc Google Data Studio , una versione potenziata della familiare offerta di Google Analytics Einstein Analytics , il tentativo di Salesforce.com di migliorare la BI con l'AI Birst , un servizio basato su cloud in cui più istanze del software BI condividono un backend dati comune. La figura professionale della BI: analista di business intelligence Qualsiasi azienda che prende sul serio la BI dovrà avere nel personale analisti di business intelligence. In generale, mirano a utilizzare tutte le funzionalità degli strumenti di BI per ottenere i dati di cui le aziende hanno bisogno, il più importante è scoprire le aree di perdita di entrate e identificare dove è possibile apportare miglioramenti per risparmiare denaro o aumentare i profitti. Anche se la tua azienda si affida quotidianamente a strumenti di BI self-service, gli analisti di business intelligence hanno un ruolo importante da svolgere, poiché sono necessari per la gestione e la manutenzione di tali strumenti e dei relativi fornitori. Inoltre, impostano e standardizzano i report che i manager genereranno per assicurarsi che i risultati siano coerenti e significativi in ​​tutta l'organizzazione. E per evitare problemi di immondizia / spazzatura, gli analisti di business intelligence devono assicurarsi che i dati immessi nel sistema siano corretti e coerenti, il che spesso implica estrarli da altri archivi dati e pulirli. I lavori di analista di business intelligence spesso richiedono solo una laurea, almeno a livello di ingresso, anche se per avanzare di livello un MBA può essere utile o addirittura richiesto. A partire da ottobre 2019, lo stipendio medio di business intelligence è di circa $ 67.500, anche se a seconda del datore di lavoro che potrebbe variare da $ 49.000 a $ 94.000. Il futuro della business intelligence Andando avanti, Howson afferma che Gartner vede una terza ondata all'orizzonte, qualcosa che la società di ricerca chiama "analisi aumentata", in cui l'apprendimento automatico è integrato nel software e guiderà gli utenti nelle loro query sui dati. "Sarà BI e analisi, e sarà intelligente", dice. Le combinazioni incluse in queste piattaforme software renderanno ogni funzione più potente individualmente e più preziosa per gli uomini d'affari che le utilizzano, afferma Gorman. "Qualcuno esaminerà i rapporti, ad esempio, sulle vendite dello scorso anno - che è BI - ma riceverà anche previsioni sulle vendite del prossimo anno - questa è l'analisi aziendale - e poi aggiungerà a ciò una capacità what-if: cosa succederebbe se noi abbiamo fatto X invece di Y ", dice Gorman, spiegando che i produttori di software si stanno muovendo per sviluppare applicazioni che forniranno quelle funzioni all'interno di una singola applicazione piuttosto che distribuirle tramite più piattaforme come avviene ora. "Ora il sistema fornisce consigli di valore superiore. Rende il decisore più efficiente, più potente e più preciso ”, aggiunge. E sebbene la BI rimarrà preziosa in sé e per sé, Howson afferma che le organizzazioni non possono competere se non si muovono oltre la sola BI e adottano anche analisi avanzate. In effetti, il rapporto Magic Quadrant di Gartner prevede che entro il 2020 le organizzazioni che offrono "agli utenti l'accesso a un catalogo curato di dati interni ed esterni realizzeranno il doppio del valore aziendale dagli investimenti in analisi rispetto a quelli che non lo fanno". Howson aggiunge: “C'è bisogno di reporting, ma il reporting da solo non è sufficiente. Se stai solo facendo report, sei già indietro. A meno che i tuoi rapporti non siano intelligenti e agili, sei indietro. Sei un ritardatario. " Esempio di Dashboard: Grazie per aver letto l'articolo, commenta e condividilo !

  • Che cosa è il Deep Learning (DL)

    Mi dispiace iniziare con questa definizione ma ci tengo a smentire subito un mito sul Deep Learning, ossia quello che si può trovare su altri siti web. Gli attuali modelli di Deep Learning funzionano come i modelli di apprendimento del cervello Questa affermazione è totalmente priva di senso e non ha nessun supporto scientifico. D'altronde se ciò fosse vero saremmo in una situazione apocalittica. Facciamo un passo indietro. Dopo aver visto e capito cosa è il Machine Learning e come esso è suddiviso, possiamo andare ancora più affondo e concentrarci su una sotto-branca del ML, il Deep Learning. Per chi è alle prime armi inizierei con il dire che il deep learning è una famiglia di algoritmi, spesso e volentieri complessi, i quali basandosi sui concetti base delle reti neurali riescono a creare dei modelli matematici per fare previsioni o classificare dei dati nuovi. Fino a quì sembra molto simile al Machine Learning. La differenza sottile ma fondamentale tra Machine Learning e Deep Learning sta proprio nel termine Deep. Il termine "Deep Learning" in italiano viene tradotto come " apprendimento profondo" ma la qualifica "deep/profondo" non fa riferimento ad una comprensione più profonda, anche se ad oggi è la branca più avanzata dell'intelligenza artificiale, ma si riferisce all'idea di aggiungere un numero maggiore di 2/3 Layer (o Livelli di raffinazione dei dati) . Confuso? Gli algoritmi di Machine Learning che utilizzano reti neurali solitamente si basano su 3 Layer o Livelli : input elaborazione/hidden output Negli algoritmi di Deep Learning arriviamo ad avere anche alcune centinaia di Layer o Livelli Ti propongo una semplice animazione per comprendere meglio i "super-poteri " del deep learning. Ma proviamo a capire il motivo per il quale gli algoritmi di Deep Learning utilizzano un numero maggiore di Layer e quale sia il vantaggio nell'usare più Livelli se un problema potrebbe essere risolto anche con meno Livelli. Quando ci troviamo a dover analizzare un problema reale per arrivare alla costruzione di un modello in grado di classificare o stimare il nostro problema, prima del Deep Learning, la prima cosa che avremmo dovuto fare è la Feature Extraction. In altre parole ci saremmo messi noi a capire quali sono le variabili che riteniamo più importanti per stimare o classificare il nostro problema, solo dopo questo passaggio le avremmo passate al nostro algoritmo che costruiva il modello. Ma qui sorge un problema, se avessimo centinaia di variabili che noi reputiamo importanti ma in realtà ne basterebbero solo dieci per arrivare a classificare o stimare il nostro output oppure se ritenessimo che basterebbero dieci variabili ma ne servirebbero cento ? Questo è uno dei motivi fondamentali per il quale è nato il Deep Learning. La potenza del Deep Learning sta nella capacità di individuare in modo autonomo le variabili che influenzano il nostro output finale, eliminando quindi tutta la parte di Feature Extraction. L'eliminazione di questo passaggio in alcuni campi ha fatto una differenza ENORME. Pensa un attimo ai problemi della computer-vision ad esempio creare un algoritmo che sia in grado di classificare un immagine in base alla presenza o meno di un animale. Saresti capace di identificare tutte le variabili che potrebbero portare un algoritmo ad essere in grado di fare una tale classificazione? Grazie al Deep Learning ci basterebbe raccogliere un grande insieme di immagini, una buona parte con la presenza di animali e un altra parte senza la presenza di animali. Una volta pre-classificate le immagini e fatto allenare l'algoritmo di DL sulle nostre foto questo avrà creato un modello in grado di distinguere se in una nuova foto è presente o meno un animale. Grazie mille per la lettura, condividi l'articolo per sostenerci

bottom of page