Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


L'altoritmo definitivo, Appunti di Filologia

Schema definitivo dell'algoritmo

Tipologia: Appunti

2021/2022

Caricato il 02/05/2022

Labutler
Labutler 🇮🇹

4.4

(18)

7 documenti

1 / 6

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
L’ALGORITMO DEFINITIVO
Un algoritmo: è la sequenza di istruzioni (precise e univoche) che dice a un computer quello che
deve fare.
Può essere rappresentato da tre operazioni booleane: AND, OR, NOT. (es. BIT; 1 acceso, 0 spento)
Deve essere scritto con un linguaggio specifico, corretto da eventuali errori, in modo da restituire i
risultati (programma).
I programmatori prendono gli algoritmi e li riscrivono in modo tale da crearne di nuovi:
Ma bisogna stare attenti al MOSTRO DELLA COMPLESSITA’, che porta allo scarto dell’algoritmo:
- Spaziale: se viene occupata troppa memoria
- Temporale: se ci mette tanto tempo
- Umana: se non viene compreso dall’uomo
Un algoritmo ha un INPUT e un OUTPUT: i dati vengono immessi nel pc, l’algoritmo fa ciò che deve e
restituisce i risultati.
Il MACHINE LEARNING (learner, tecnologia di apprendimento autonomo, che crea nuovi algoritmi)
inverte questo processo: si parte dai dati e dal risultato desiderato, arrivando all’algoritmo.
Fa parte del settore dell’INTELLIGENZA ARTIFICIALE che si propone di insegnare al computer come
fare ciò che fanno gli umani.
Anche le aziende utilizzano il machine learning: google vale più di Yahoo, perché? È più efficace
grazie ai suoi algoritmi di apprendimento (es. Ricerca).
Grazie all’utilizzo dei big data (molti dati che abbiamo a disposizione); verifica, confuta e formula
molte ipotesi, arrivando alle scoperte in breve tempo.
Ma, questi dati non servono a niente se non li trasformiamo in conoscenza:
Big data e machine learning ci hanno permesso di capire fenomeni complessi (es. Capire quale
farmaco utilizzare per eliminare le molecole che potrebbero avere degli effetti collaterali sgradevoli)
Dove ci stanno portando queste tecnologie? Ovunque!
E se tutta la conoscenza passata, presente e futura derivasse da un singolo algoritmo? ALGORITMO
DEFINITIVO.
Se pochi learner possono fare così tanto, esiste uno capace di farli tutti?
Se la sua invenzione fosse possibile, basterebbe dargli una quantità sufficiente di dati giusti e lui
scoprirebbe la verità che ne è racchiusa. (es. Da un video, impara a vedere)
-------------------------------------------------------------------------------------------------------------------------------------
CRITICI: Machine learning o ingegneria della conoscenza?
Essi sostengono che la conoscenza non può essere acquistata in modo automatico ma deve essere
codificata nei pc dagli umani.
- Taleb, il cigno morde il robot: per quanto intelligente sia, ci sono cose che il computer non
imparerà mai.
pf3
pf4
pf5

Anteprima parziale del testo

Scarica L'altoritmo definitivo e più Appunti in PDF di Filologia solo su Docsity!

L’ALGORITMO DEFINITIVO

Un algoritmo: è la sequenza di istruzioni (precise e univoche) che dice a un computer quello che deve fare. Può essere rappresentato da tre operazioni booleane: AND, OR, NOT. (es. BIT; 1 acceso, 0 spento) Deve essere scritto con un linguaggio specifico, corretto da eventuali errori, in modo da restituire i risultati (programma). I programmatori prendono gli algoritmi e li riscrivono in modo tale da crearne di nuovi: Ma bisogna stare attenti al MOSTRO DELLA COMPLESSITA’, che porta allo scarto dell’algoritmo:

  • Spaziale: se viene occupata troppa memoria
  • Temporale: se ci mette tanto tempo
  • Umana: se non viene compreso dall’uomo Un algoritmo ha un INPUT e un OUTPUT: i dati vengono immessi nel pc, l’algoritmo fa ciò che deve e restituisce i risultati. Il MACHINE LEARNING (learner, tecnologia di apprendimento autonomo, che crea nuovi algoritmi) inverte questo processo: si parte dai dati e dal risultato desiderato, arrivando all’algoritmo. Fa parte del settore dell’INTELLIGENZA ARTIFICIALE che si propone di insegnare al computer come fare ciò che fanno gli umani. Anche le aziende utilizzano il machine learning: google vale più di Yahoo, perché? È più efficace grazie ai suoi algoritmi di apprendimento (es. Ricerca). Grazie all’utilizzo dei big data (molti dati che abbiamo a disposizione); verifica, confuta e formula molte ipotesi, arrivando alle scoperte in breve tempo. Ma, questi dati non servono a niente se non li trasformiamo in conoscenza: Big data e machine learning ci hanno permesso di capire fenomeni complessi (es. Capire quale farmaco utilizzare per eliminare le molecole che potrebbero avere degli effetti collaterali sgradevoli) Dove ci stanno portando queste tecnologie? Ovunque! E se tutta la conoscenza passata, presente e futura derivasse da un singolo algoritmo? ALGORITMO DEFINITIVO. Se pochi learner possono fare così tanto, esiste uno capace di farli tutti? Se la sua invenzione fosse possibile, basterebbe dargli una quantità sufficiente di dati giusti e lui scoprirebbe la verità che ne è racchiusa. (es. Da un video, impara a vedere)

CRITICI: Machine learning o ingegneria della conoscenza? Essi sostengono che la conoscenza non può essere acquistata in modo automatico ma deve essere codificata nei pc dagli umani.

  • Taleb, il cigno morde il robot: per quanto intelligente sia, ci sono cose che il computer non imparerà mai.
  • Studiosi del learner: ogni giorno ci sono algoritmi diversi per problemi diversi. Come facciamo a rimpiazzarli tutti con un solo algoritmo? Ciò che non viene compreso è che potrebbe essere la base per determinare la “teoria del tutto” - > ci troveremo di fronte ad un algoritmo definitivo quando lo stesso learner, con una semplice variazione di parametri e un imput minimo, sarà in grado di capire tutto. Come riusciamo a trovarlo? Domingos descrive cinque scuole di pensiero che hanno provato a giungere a questo algoritmo sulla base di cinque diverse discipline, e sostiene che l’algo def. Esiste e può essere scoperto utilizzando alcune delle diverse caratteristiche date dagli studi di queste scuole di pensiero unite tra loro. SIMBOLISTI Per loro è impossibile imparare partendo da zero: bisogna affiancare ai dati un minimo di conoscenza inziale.
  • AD - > DEDUZIONE INVERSA: scopriamo un passo alla volta quali regole servono per andare dalle premesse alle conclusioni desiderate.


I RAZIONALISTI: i sensi sono ingannevoli, l’unico modo per arrivare a una conoscenza è il ragionamento logico. VS. EMPIRISTI: le forme di ragionamento sono fallibili; la conoscenza arriva da osservazioni ed esperimenti. - > tutti gli algoritmi di apprendimento cercano di rispondere a un quesito, posto dal filosofo DAVID HUME: è possibile imparare dal passato qualcosa con la certezza che valga anche in futuro? PROBLEMA DELL’INDUZIONE: procedimento logico, per cui dalla costatazione di fatti particolari si sale ad affermazioni generali.

  • Es. Di deduzione: 2+2= ?, 2+?=
  • Es. Di induzione: socrate è umano;? (gli umani sono mortali) = socrate è mortale. (si parte da fatti iniziali e si arriva a una supposizione) All’aumento delle regole e dei fatti da cui partiamo, aumentano le possibilità: CIRCOLO VIZIOSO DI CONOSCENZA (loop virtuoso).
  • limiti:

  • Costo computazionale (quantità di tempo e memoria).
  • Overfitting (quando un learner trova nei dati una regolarità che non ha riscontro nel mondo reale). - > amplificato dal RUMORE: errori presenti nei dati o eventi causali che non possiamo prevedere. I simbolisti credono che ogni forma di conoscenza sia ridotta alla manipolazione di simboli. Non importa se avviene scrivendo su una lavagna o accendendo un transistor. Come facciamo a trovare i passaggi deduttivi mancanti se le premesse o le conclusioni sono sbagliate? È raro che un concetto reale possa essere definito da un insieme di regole, il mondo non è tutto bianco o tutto nero.

Jhon Roza si chiede perché non ci concentriamo direttamente sui programmi anziché sui bit? Il programma è un albero da cui si ramificano i bit: nella programmazione genetica il cross-over di due alberi avviene scambiando a caso due dei loro sottoalberi. Raramente avviene una mutazione, dove il figlio sviluppa caratteristiche diverse. L'algoritmo termina quando la popolazione ha raggiunto una convergenza, ovvero non produce nuovi individui che sono diversi da quelli precedenti. I BAYESIANI La loro idea di base è che ogni forma di conoscenza acquisita è affetta da incertezza: occorre calcolare la probabilità di ogni ipotesi e aggiornarla all’arrivo di nuovi dati - > se sono consistenti con l’ipotesi, la probabilità aumenta: teorema di bayes. Come funziona:

  1. Si hanno delle ipotesi: bisogna avere la probabilità (precede l’osservazione dell’evento o dei dati) a priori di ogni input.
  2. Appena giungono le prove, si aggiorna la probabilità (a posteriori), che aumenta. Alla fine, rimarrò forse l’iposi che sarà migliore di tutte. Es. Filtri antispam: David Hackerman, primo filtro antispam: si basa sul “CLASSIFICATORE BAYESIANO NAIVE” - > incorpora la prova e calcola la probabilità che si tratti di spam o meno e in base a ciò decide se mostrarla o nasconderla. Come funziona? a. L'ipotesi prima di avere le prove è che l’e mail o è spam o non lo è. si ha una probabilità a priori (che probabilità ho?). b. La prova è il contenuto della mail:
  • Viagra/gratis: è spam
  • Lettera dal mio migliore amico: non è spam ANALOGISTI L’idea di base è che tutto ciò che impariamo è basato sul ragionamento analogico: l’apprendimento si basa sul riconoscimento di situazioni simili, per associare altre somiglianze. Si tratta di guardare alle somiglianze tra situazioni nuove e quelle con cui abbiamo già familiarità.
  • AD-> macchina a vettori di supporto: decide quali esperienze ricordare e come combinarle per estrarne ulteriori previsioni. Es. Algoritmo nearest neighbor: il vicino più prossimo o apprendimento pigro. Es. Per capire se in un’immagine è presente un volto, NN cerca nel database di facebook, un’immagine che più le somiglia, se l’immagine contiene una faccia, anche l’altra la contiene Es. Sistemi di raccomandazione: le persone che su trovano d’accordo su un argomento in passato, hanno buone probabilità di trovarsi in accordo nel futuro - > se devo consigliarti un film non mi concentro sulle caratteristiche ma sui sistemi di filtraggio collaborativo: cerco persone che hanno gusti simili, se questi danno 5 stelle al film, ipotizzo che anche a me piacerà, per analogia.

  • Maledizione della dimensionalità: quando le dimensioni sono poche il NN funziona abbastanza bene, al crescere del numero delle dimensioni, la situazione precipita velocemente.


! Problemi! - ognuno di questi algoritmi va bene per alcuni compiti ma non per tutti. Quello che vorremmo è un unico strumento che combini le proprietà fondamentali di tutti quelli elencati. - Tutti i learner visti fino ad ora hanno bisogno di un maestro che dica loro qual è la risposta esatta. Non sanno distinguere se prima qualcuno non le etichetta - > (o categorie) PROBLEMA DEL CLUSTERING: per creare un robot in grado di svolgere questa funzione, ci serve un algoritmo che raggruppi spontaneamente oggetti simili o immagini diverse dello stesso oggetto.


rispondendo alla frase di Hume: se non è possibile imparare qualcosa dal passato con la certezza che valga anche in futuro, il machine learning poggia su basi fragili. È rischioso credere che il futuro assomiglierà al passato, ma se così non fosse, diventerebbe impossibile ogni forma di conoscenza. Il problema del machine learning è questo: generalizzare riguardo casi mai visti prima. Esistono due fasi nella costruzione di un machine learning: - Training set: fase di addestramento, la macchina apprende sulla base dei dati che gli vengono forniti. - Data set: fase del test, vengono forniti nuovi dati e sulla base di questo la macchina deve essere in grado di generalizzare al meglio al fine di gestire anche i casi in cui i dati non siano conosciuti. - > questo porta al PROBLEMA DELL’OVERFITTING: quando la macchina apprende talmente bene dai dati forniti, offrendo un risultato eccellente, al ricevimento di nuovi dati non sa come operare perché non ha saputo generalizzare.


Per concludere Per ottenere l’algoritmo definitivo bisogna unificare tutti gli elementi delle varie scuole di pensiero in tre parametri: - Rappresentazione (linguaggio con cui il learner esprime i suoi modelli) - Valutazione (funzione di calcolo che ci informa sulla bontà del modello) - Ottimizzazione ( algo che identifica il modello con il punteggio più alto) Il testo si conclude lasciando diversi interrogativi. Se mancasse qualcosa di fondamentale riguardo l’insieme delle caratteristiche dei 5 elementi descritti? Il libro pone delle basi per apprende il funzionamento dei vari algoritmi, con lo scopo di farci riflettere.