Press "Enter" to skip to content

GOTO 2015 • Scalable Data Science and Deep Learning with H2O • Arno Candel


quindi sì, ho trascorso molti anni in fisica
nel calcolo ad alte prestazioni per
fisica delle particelle sul più grande
supercomputer del mondo a Slac
lavorare insieme per guadagnare è stato da
uno sfondo e poi sono passato a
startup di apprendimento automatico sono stato
facendo questo per gli ultimi tre anni e mezzo
anni o giù di lì l’ anno scorso sono stato nominato
e ha chiamato un big data all-star al
La rivista di fortuna è stata una bella cosa
sorpresa e tu puoi seguirmi a no
condoni qui e se qualcuno lo fosse
disposto a scattare una foto e twittarla
per me sarà fantastico grazie mille
quindi, ieri, introdurremo
h2o e poi parliamo di deep learning a
un po ‘più in dettaglio e poi lì
ci saranno un sacco di demo live
il tempo consente di passare attraverso tutto questo
cose diverse quindi vedremo
diversi set di dati diverse API e
mi assicurerò che tu abbia un buon
impressione su ciò che l’acqua può fare per te
e come sarebbe e che tu
sicuramente avere un’idea di cosa possiamo fare
qui così h2o è una macchina in memoria
piattaforma di apprendimento è scritta in Java
è open source che distribuisce attraverso
il tuo cluster invia il codice in giro
non i dati in modo che i tuoi dati possano rimanere attivi
il cluster e hai una grande quantità di dati
imposta a destra e poi vuoi costruire
modelli sull’intero set di dati che non hai
vuole ridurre il campione e perdere la precisione
in questo modo consueto ma il problema è che
gli strumenti non ti permettono di scalare
tutti i grandi set di dati specialmente per
costruendo modelli di machine learning siamo
non si tratta solo di riassumere le cose
per il calcolo di aggregati di cui stai parlando
su modelli sofisticati come il gradiente
macchine boosting o reti neurali e
h2 ti permette di fare questo e ottieni il
la scalabilità e la precisione da
questo grande insieme di dati in scala e come me
menzionato in precedenza abbiamo un sacco di AP
che vedrai anche noi oggi
avere un motore di punteggio che è una specie di a
punto chiave del prodotto siamo circa 35
persone in questo momento abbiamo avuto il nostro primo h-2a
conferenza mondiale l’anno scorso in autunno
e il più
enorme successo e sri satish incarnano qui
ero CEO, ha avuto un grande grande
mentalità e cultura culturale è
tutto per lui così gli piace incontrarsi
ups ogni settimana anche due volte a settimana per ottenere
feedback dai clienti e così via così noi
sono anche molto guidati dalla comunità
anche se scriviamo la maggior parte del codice a questo
punto in modo da poter vedere qui la crescita
l’ apprendimento automatico è davvero di tendenza e
pensiamo che sia il prossimo SQL e
la previsione è la prossima ricerca che c’è
non solo analitica predittiva, c’è
anche analisi prescrittive dove sei
cercando di non dire semplicemente cosa sta succedendo
succederà domani ma lo dirai
i clienti cosa fare in modo che loro
può influenzare domani in modo da poter vedere il
crescita qui molte e molte aziende
ora stanno usando h2o e perché è così
perché è un sistema distribuito costruito
dagli esperti in casa abbiamo click
click click è il nostro CTO che ha scritto
fondamentalmente il compilatore Java jit è grande
parti di esso in ogni tuo cellulare
ci sono parti del suo codice che sono
eseguito tutto il tempo così ha architettato
l’intero quadro è distribuito
archivio del valore della chiave di memoria basato su a
mappa hash non bloccante ha una MapReduce
il paradigma costruito nella nostra mappa prodotta
che è a grana fine e assicurati
tutte le minacce funzionano in ogni momento
se stai elaborando i tuoi dati e di
Ovviamente tutti i nodi stanno lavorando
parallelo come vedrai più tardi e noi
comprimere anche i dati simili al
parcheggiare un formato dati e così puoi davvero
memorizza solo i dati che ti servono ed è
molto più economico da decomprimere al volo
i registri della CPU quindi da inviare
i numeri attraverso il filo e una volta voi
avere questo quadro sul posto che puoi
scrivere algoritmi che stanno usando questo
MapReduce paradigma e puoi anche farlo
meno di un algoritmo che puoi dire
calcolare aggregati per esempio è come
un mini algoritmo, se vuoi, puoi farlo
fai tutte queste cose e alla fine tu
finire con un modello che fa un
predizione del futuro destra ti trovi
con l’apprendimento automatico e quel codice può
poi essere esportato poi ti permetta di mostrare che
in un minuto e, naturalmente , possiamo succhiare
dati da praticamente ovunque e da te
posso parlare con il nostro Python tramite JSON da a
programma di navigazione in rete
Controllo regolarmente lo stato dei miei lavori
dal mio cellulare, per esempio
ci sono un sacco di clienti che ci usano
in questo momento questi sono referenziabili
a questo punto c’è molto di più di noi
posso parlare in questo momento ma tu lo farai
sentirli presto sono fondamentalmente
fare i big data giusto centinaia di
gigabyte dozzine di nodi e sono
elaborare i dati tutto il tempo e loro
hanno tempi di consegna più veloci
salvare il modello salvando milioni di
distribuire questi modelli come questo
modello di rilevamento delle frodi ha una cassaforte
milioni di paypal in frode quindi è molto
facile da scaricare, basta andare su h punto AI
e puoi trovare il pulsante di download tu
scaricato una volta scaricato
decomprimere quel file e si va lì
e digita java dejar giusto che è h2o
sarà in esecuzione sul tuo sistema non c’è
nessuna dipendenza è solo una singola
file di cui hai bisogno e sei fondamentalmente
correndo e puoi fare la stessa cosa
un cluster che ti aspetti di archiviare ovunque
e lo lanci che sarebbe un orso
installazione a sfera se non si desidera
fai le ossa nude che puoi fare con Hadoop
fai filato scintilla puoi lanciarlo dal nostro
e anche da Python, quindi facciamolo a
demo veloce qui è così glm sto andando
per un cluster qui questo cluster ha il mio
nome su di esso hai un cluster dedicato
per questa demo quindi vediamo di cosa si tratta
passato cancella questo cluster è un ottavo
nota cluster su ec2, credo 30
qui gigabyte di heap per macchina
e fondamentalmente è solo lì in attesa
per me dirgli cosa fare così
cosa ho fatto prima mentre analizzo questo
Set di dati della compagnia aerea Lo farò
di nuovo il data set delle compagnie aeree ha tutto il
voli dal 2007 fino alla fine
diciannove e ottantasette e sta analizzando
questo adesso e andiamo a guardare il
utilizzo della CPU qui puoi vedere che tutto il
le note sono attive in questo momento
i dati
analizzandolo come tokenizzante comprimendolo
in queste rappresentazioni ridotte
che sono persi meno ovviamente così quando noi
avere numeri come 719 e 120 poi tu
sappi che si adatta a un morso così tu
crea una colonna per mordere una volta sola
vedi che i loro numeri ce ne sono di più
dinamico a distanza e solo un morso quindi
prendi due morsi e così via
fondamentalmente basta memorizzare quello che ti serve è
va bene così ora fa parte di questo file in 35
secondi andiamo a guardare il file
c’è un riassunto della cornice che sono
aspettandoci dal server e dal
il server ora restituisce questo e dice qui
160 milioni di righe puoi vedere questo
ci sono 160 milioni di righe 30 colonne
circa 4 gigabyte di spazio compresso
vedi tutte queste diverse colonne qui
hanno come riassunto una cardinalità
alcuni di loro sono categorici qui così dentro
l’effetto è di circa 700 o dittatori in questo
set di dati e stiamo cercando di prevedere
se il loro aereo è in ritardo o meno
in base alla sua origine di partenza e
aeroporto di destinazione e così via quindi se io
voluto fare questo io basta cliccare qui
costruire il modello dirò generalizzato
modello lineare che è veloce e veloce
il frame di allenamento è scelto qui e io
sarà ora scegliere alcune colonne da utilizzare sarò
prima ignorali tutti perché c’è
un sacco di colonne che non voglio usare e
poi aggiungerò anno mese il giorno il
settimana al giorno della settimana vediamo noi
vuoi sapere l’orario di partenza forse
il corriere non il numero del volo che
non significa molto forse l’origine e
destinazione e poi tutto ciò che ci interessa davvero
è se è tardi o no
questa sarà la mia risposta a tutto il resto
non ti serve perché darebbe
via la risposta giusta così la sua partenza
è tardi quello che cercherò di fare
prevedere ed è un problema binomiale così
sì o no è la risposta e ora ho solo
devo premere e lo sta costruendo
modella come noi mentre parliamo e io posso andare a
il contatore dell’acqua per vedere l’utilizzo della CPU e
puoi vedere che tutti i nodi sono occupati
calcolo questo modello in questo momento
e in pochi secondi ti sarà fatto
vedere il valore oggettivo non cambia
più sì, quindi è fatto in 19 secondi
e posso guardare il modello e posso
vediamo che abbiamo un auc di 9.5 è a
poco più del punto cinque, giusto
non solo casuale abbiamo variabile
le importazioni qui possiamo vederle certe
le compagnie aeree come Eastern Airlines è come a
correlazione negativa con la risposta
il che significa che è raramente se si prende
questo vettore non lo farai
in ritardo è perché non aveva un
orario era sempre in orario
definizione per esempio, quindi questo è come
un po ‘che esce da questo modello
un’altra cosa è che Chicago e
Atlanta è spesso in ritardo quando si inizia
lì giusto quando inizia il tuo viaggio
lì come sai o per esempio San
Francisco se vuoi volare a San
Francisco c’è un sacco di gente che
voglio farlo , ecco perché è anche questo
spesso in ritardo e come ho detto prima
la precisione qui piatta dopo il
prime poche iterazioni in modo che il modello potesse
sono stati fatti ancora più velocemente se lo sei
guardando le metriche qui per esempio
puoi vedere che c’è un quadrato medio
errore segnalato un rapporto di valore quadrato r
a tutti questi dati scientifici valgono un valore
del punto 65 e così via e c’è anche a
POJO che possiamo guardare sai che a
POJO è un semplice vecchio oggetto java che è
in pratica il codice Java è il punteggio
codice che puoi prendere in produzione
che in realtà segna i tuoi voli in
tempo reale e si potrebbe dire ok se
sei questa compagnia aerea e se sei a
questa ora del giorno, quindi stai andando a
avere questa probabilità di essere ritardata o
no e questa è la soglia ottimale
calcolato dalla curva ROC che curva
che hai visto prima che ti dice
dove è meglio scegliere il tuo
regime operativo per dire il dopo non
basato sulle cadute e sui positivi e
veri positivi e così via che tu sei
bilanciamento giusto, lascia che regge i dati
scienza è tutto pronto per te
ottenere la risposta subito, quindi era acceso
160 milioni di file e l’abbiamo appena fatto
vita
così come hai visto il codice di punteggio pojo
c’è ci sono più modelli che puoi
compilare nel flusso utente API il grado
che hai visto prima c’è un Aiuto
pulsante sul lato destro qui per portare
questo backup c’è l’aiuto che scendo e
Posso vedere qui i pacchetti quindi c’è un mucchio
di pacchetti di esempio che vengono con esso così se
Clicco su questo qui, lo farò
in realtà sul mio portatile ora te lo mostrerò
come eseguire questo su un computer portatile, quindi ho appena
scaricato il pacchetto dal
sito Web e contiene solo due file
uno è un pacchetto r e uno è il
sto per iniziare il vero file jar Java
questo sul mio portatile e vado a controllare
il browser localhost alla porta cinque quattro
tre due uno che è la nostra porta predefinita
e ora sono connesso a questa JVM java
che ho appena lanciato e posso chiedere
questo è un po ‘ troppo grande, ora facciamo
rendilo più piccolo qui andiamo a vedere
lo stato del cluster è ancora una nota
Raggruppato, gli ho dato 8 gigantografie
puoi vederlo ed è tutto pronto per andare così
ora vado a lanciare questo questo flusso
da questo esempio imballi questo milione
le canzoni scorrono, lo vado a caricare
taccuino e puoi vedere questo è il
demo di classificazione di milioni di brani binari
abbiamo fondamentalmente set di dati con 500.000
osservazioni 90 colonne numeriche e
lo divideremo e archiviamo il
i prossimi tre ben hai già fatto
avere questi file pronti per te così ora noi
Devo solo analizzarli qui e io
metterli già sul mio portatile così posso
basta dire scaricare sull’importazione nella h2o
cluster prenderò la diversione senza zip
perché è più veloce quindi questo file
è qualcosa come poche centinaia di megabyte
tre secondi e questo qui è il
set di prova Sto per analizzare anche questo
e puoi vedere che puoi persino
specificare i tipi di colonna se si desidera
per trasformare un numero in un enum per
classificazione puoi farlo qui
esplicitamente se non sei soddisfatto del
comportamento predefinito del parser ma il
parti che sono molto robuste e possono
di solito gestisco così se ne hai
valori mancanti se ne hai di tutti i tipi
roba di stringhe categoriche che è
sbagliato lo gestiremo è molto robusto
è davvero fatto per il livello aziendale
set di dati che passerà attraverso il tuo
dati sporchi e basta sputare qualcosa
di solito è abbastanza buono, ok ora
abbiamo questi set di dati e vedrò ma
cos’altro abbiamo qui, quindi lasciami tornare
qui dare la vostra vista si può cliccare su
contorni a destra e puoi vedere tutto
queste cellule che ho pre-popolato qui
e uno di loro dice di costruire un caso
la foresta una volta ha costruito un gradiente
il potenziamento della macchina dice costruire un lineare
modello regressione logistica e uno dice
costruisci un modello di apprendimento profondo e io
posso solo dire ok bene, costruiamone uno
diciamo andiamo alla cella GBM
e dire eseguire questa cella ora è
costruendo un gradiente per aumentare la macchina
questo set di dati puoi vedere i progressi
bar qui e le violette che lo costruiscono posso
dì hey come ti guardi in questo momento lasciami fare
guarda come lo stai facendo adesso è così
già mi sta dando un punteggio nella storia
punti in cui l’ errore è andato giù è
già in una curva OC una curva ROC con
un COA di qualcosa come vedi il punto sette
Spero di sì punto sette a vedere
già giusto in pochi secondi
abbastanza buono per questo set di dati se lo faccio
di nuovo è già qui l’errore
il fantasma continua a scendere e tu puoi tenerlo
guardando quella caratteristica del modello
le importazioni per quali variabili
importa il più tutto in tempo reale e io
può anche guardare al Poggio di nuovo questo
tempo è un modello di albero non logistico
modello di regressione quindi ti aspetteresti
alcune decisioni in questa struttura ad albero se
Vado giù c’è tutte queste lezioni
tutto questo mi piace come il codice Java penso all’albero
dovrei essere da qualche parte fammi vedere che potrei
devo aggiornare questo modello
oh, eccoci qui, questi sono tutti i
foreste qui vedi che c’è molto
delle foreste che vengono segnate e ora
non ci resta che trovare questa funzione
da qualche parte laggiù e quassù è
quindi qui puoi vedere che questo è
logica dell’albero decisionale giusta se i tuoi dati
è inferiore a 4.000 in questa colonna e
meno di questo infinito e poi nel
finire la tua previsione sarà così e così
molto altrimenti sarà questo numero così
in pratica questo è il codice di calcolo di
questo modello che puoi inserire
produzione in tempesta o qualsiasi altra API
che tu vuoi usare il tuo fondamentalmente
questo è solo il codice Java senza nessuno
dipendenze e puoi costruire lo stesso
cosa con l’apprendimento profondo che puoi
costruire un modello di apprendimento profondo sullo stesso
dati impostati nello stesso momento in cui l’altro
uno sta costruendo puoi essere in grado di
modello di foresta casuale qui anche al
stesso tempo o un glm e questo è tutto sul mio
portatile in questo momento, quindi sto costruendo
diversi modelli allo stesso tempo e io
posso chiedere hey qual è lo stato di loro io
può semplicemente andare a destra qui nel
delineare e fare clic su dare il mio profondo
modello di apprendimento oh è già fatto
vediamo quanto bene stiamo facendo anche qui
Una buona caratteristica importanze destra e AUC
e la cronologia dei punteggi e le metriche
e puoi anche ottenere una lista di ottimi
metriche come quello che è il meglio che la posizione
può ottenere la migliore precisione possibile
ottenere e poi a quale soglia in modo questo
è tutto orientato verso lo scienziato dei dati
capire cosa sta succedendo tutto bene
così delicato il mio portatile ne sta sfornando un po ‘
più modelli puoi continuare qui e
parlare di deep learning in modo più dettagliato
così profondo apprendimento come tutti voi sapete
fondamentalmente solo i neuroni connessi a destra
ed è simile alla regressione logistica
tranne che ci sono più moltiplicazioni
in corso si prende la caratteristica volte le
peso ottieni un numero e poi aggiungi
it up e si esegue questa operazione per tutti questi
connessioni ogni tua connessione è a
prodotto dei tempi di attesa dell’input
ti dà un po ‘di output e poi applichi
una funzione non lineare come in NH
qualcosa è come una funzione di passaggio
sposta la funzione passo e lo fai di nuovo
e ancora e ancora e alla fine tu
avere come una gerarchia di non lineare
trasformazioni che porteranno a molto
complesse non linearità nel tuo modello così
puoi descrivere cose davvero strane che
altrimenti non saresti in grado di
dì un modello lineare o un semplice casuale
foresta che non è così profonda da
tra tutte queste non linearità
tutte queste caratteristiche quindi questo è fondamentalmente
il macchinario di cui hai bisogno
non linearità nel tuo set di dati e noi
fallo di nuovo in modo distribuito
perché stiamo usando MapReduce
facendo di nuovo questo su tutti i thread
proprio come hai visto prima per glm e
tutto era Green Apprendimento profondo è
anche verde è noto per essere verde I
di solito brucia tutto il costume e io sono
correndo i miei modelli e tutti gli altri hanno
per fare un passo indietro, naturalmente, c’è il
Programmatore Linux che si occupa di questo
ma alcuni sostengono che non lo sia
necessariamente equo se sto correndo in qualche modo
modello quindi non l’ho fatto ultimamente e
è per questo che sto usando questi due facili
cluster ora o forse il mio portatile da
di volta in volta ma in ogni caso puoi vedere qui
abbiamo un sacco di piccoli dettagli sulla costruzione
a destra funziona automaticamente
dati categoriali erano automaticamente
standardizza standardizza i tuoi dati
non c’è bisogno di preoccuparsi che
automaticamente impedisce i valori mancanti
automaticamente la regolarizzazione per
tu se specifichi l’opzione lo fa a
controlla il bilanciamento del carico puntando tutto
hai solo bisogno di dire andare e basta così
dovrebbe essere super facile per chiunque
per eseguirlo e se vuoi saperlo
come funziona nell’architettura di dettaglio
qui è fondamentalmente solo la distribuzione
il set di dati per esso in primo luogo a destra sul
intero cluster diciamo che hai un
terabyte di dati e 10 note ogni nodo
otterrà 100 gigabyte di dati diversi
e poi stai dicendo ok, lo farò
modello iniziale di apprendimento profondo che è a
mucchio di pesi e valori di bias tutti
solo numeri e lo metterò in alcuni
posto nel negozio e poi mi sono diffuso
quello a tutte le note tutte le mie 10 note
ottenere una copia dello stesso modello e poi i
dì allenati sui tuoi dati locali quindi tutto
i modelli verranno addestrati sul loro
dati locali con multi-threading quindi lì
sono alcune condizioni di gara qui che fa
questo non è riproducibile
ma alla fine avrai n modelli in
questo caso a favore o per il cluster che
Ho appena menzionato 10 avrai 10
tali modelli di cui sono stato costruito su un
parte di questi cento gigabyte che tu
non hai bisogno di elaborare tutto il
centinaia di gigabyte che puoi semplicemente provare
un po ‘ giusto e poi quando lo sei
fatto con quello lo riduci fondamentalmente
automaticamente tornerà media in
un modello e quel modello è l’unico
da cui guardi dal tuo browser
il nostro da Python e poi lo fai
di nuovo e ogni passaggio è una frazione di
i dati che stai passando o
tutti i dati o più di tutti i tuoi
dati che puoi semplicemente continuare a scorrere senza
comunicando puoi dire ogni no a
corri per sei settimane e poi
comunicare ma di default è fatto in
un modo in cui spendi circa il due percento
del tuo tempo a comunicare sul
cluster e novantotto percento
calcolo e questo è tutto automaticamente
fatto in modo che non è necessario preoccuparsi di
tutto quello che dici e basta e lo farà
fondamentalmente elaborare i dati in parallelo
e fare un buon modello e questa media
di modelli questo schema funziona c’è a
carta su di esso, ma sto anche lavorando a
nuovo schema chiamato consensus a dmm
dove fondamentalmente hai penalità fino a che punto
ti allontani dalla media ma continui
il tuo modello locale e che mantiene
tutti vanno da soli
percorso in terra di ottimizzazione senza
facendo una media tutto il tempo che solo tu sai
che stai andando alla deriva troppo in modo da ottenere
tirato indietro un po ‘ma tu hai ancora
il tuo modello così sarà
aggiornamento promettente presto che puoi guardare
avanti a già così com’è funziona
abbastanza bene quindi questo è il giusto
due cifre da 0 a 9 cifre scritte a mano 784
pixel in scala di grigi devi sapere quale
uno è giusto dal pixel della scala di grigi
valori e dentro con un paio di linee
qui nel nostro puoi ottenere la classe mondiale
è record del mondo in realtà attuale nessuno
ha pubblicato un numero migliore in questo
senza usare strati convoluzionali o
qualsiasi altra distorsione è puramente attiva
i 60.000 campioni di allenamento n
distorsioni senza convoluzioni e tu puoi
vedi qui tutte le altre implementazioni
Jeff Hinton’s e Microsoft’s punto 83
è il record del mondo, naturalmente, è possibile
dire che l’ultima cifra non è abbastanza
statisticamente
significativo perché ne hai solo dieci
migliaia per testare i set point ma ancora
è bello arrivare laggiù, quindi facciamolo
fai una piccola demo qui questo è un normale
rilevamento ti mostrerò come possiamo
rileva le brutte cifre in questa Emily
dati impostati sul mio portatile in pochi secondi
quindi ho solo questa istanza e
correndo qui da prima, quindi vado a
entra nel nostro nel nostro ho questo le nostre unità
questo funziona ogni giorno giusto ogni volta che
commettere qualcosa su questi test
corri così puoi sicuramente controllarli
fuori dalla tua pagina web github adesso
se vuoi ma continua a dirlo
costruisci un modello di codificatore automatico che è
imparare ciò che è normale in modo che si connetta a
il mio cluster adesso impara cosa è
normale ciò che è una cifra normale senza
sapendo ma lo fanno oggi è solo dice
guarda tutti i dati e impara cosa c’è
normale e come lo fa bene
prende i 784 pixel che li comprime
in questo caso 50 neuroni 50 numeri
e quindi prova a tornare in 784
quindi sta imparando la funzione di identità
di questi dati impostati in modo compresso
giusto così se puoi in qualche modo rappresentare
i dati con questi 50 numeri e tu
conoscere i pesi che si collegano dentro e fuori
allora questi 50 numeri significano
qualcosa è quello che serve
rappresentano quelle 10 cifre diciamo
sono all’incirca cinque numeri a quattro cifre
e quei cinque numeri sono sufficienti per dire
c’è un vantaggio qui come una cosa rotonda
qui come un buco qui qualcosa di simile
come le caratteristiche e con queste 50
numeri nel mezzo e ovviamente il
connettività che costituisce il
ricostruzione e fondamentalmente il
codifica e decodifica ora puoi
dì cosa è normale o no, perché ora
Prenderò il set di test che ho lasciato andare
attraverso questa rete e vedo cosa
esce dall’altra parte se questo
non sembra l’ingresso originale
quindi non corrispondeva alla mia visione di cosa
questo dovrebbe sembrare giusto così sto andando
di lasciare il set di prova passare attraverso questo
prima il modello devo allenare il modello così
in questo momento sta costruendo questo modello sul mio
laptop 50 neuroni nascosti
Funzione di attivazione 10h e codificatore automatico
è impostata su true e ho avuto un paio di
opzioni extra ma questo è solo per dire
non lasciar cadere nessuna delle colonne costanti
a zero perché voglio tracciarlo
alla fine va bene così ora diamo un’occhiata al
nidi anomali di ogni punto che abbiamo appena
segnato il set di prova e calcolato il
errore di ricostruzione quindi come come
diverso è il risultato dal reddito
quanto è male la mia identità che sto mappando
imparato per i set point di test e per
quei punti che sono brutti loro
non corrisponderà a ciò che è normale nel
dati di addestramento giusti è intuitivo
cosa va bene così ora cerchiamo di delineare il
quelli che corrispondono alla migliore top 25 che è
la ricostruzione e ora guardiamo
quelli attuali sono la stessa cosa
proprio lì corrisponde il meglio, quindi devo
sembra lo stesso questo è quello che
sono i più facili da imparare a rappresentare in
la tua funzione di identità prende solo il
quelli centrali e dire di tenerli fondamentalmente
ora diamo un’occhiata a quelli nel mezzo
su 10.000 sono quelli il
questi sono errori di ricostruzione mediana
ancora abbastanza buona si può dire che
sono cifre ma non lo sono già
abbastanza più carino e ora facciamo
guarda gli outlier più brutti per così dire
nel set di prova quindi queste sono tutte cifre
che stanno uscendo dalla mia rete ma
non sono più come le cifre
giusto, quindi qualcosa è andato storto fondamentalmente
la ricostruzione fallì, disse il modello
sono brutti se li guardi loro
sono un po ‘brutti alcuni di loro sono quasi
non più le cifre sono troncate o le
per esempio quello in alto a destra è brutto e
puoi dire che se ricordi il
linea di fondo come nell’ottica prova il
esame della vista 6 40 35 right and go look
alle mie diapositive totalmente diverse quindi tutte
il tempo che lo eseguo è diverso perché è suo
reti neurali con multithreading che posso
accenderlo per essere riproducibile ma poi ho
Devo dire che usare una minaccia non fare nulla
di questi aggiornamenti sulle condizioni di corsa selvaggia del maiale
della matrice di peso da più minacce
allo stesso tempo basta eseguirne uno
proprio attraverso e dare un seme e poi
aspetta solo che il thread sia finito
e quindi sarà riproducibile ma in
questo caso ho scelto di non farlo perché
è più veloce questo può e i risultati sono
bene comunque ogni volta che lo corri, lo farai
ottenere qualcosa del genere che non otterrai
le brutte cifre per essere quelle buone
giusto così questo ti mostra sostanzialmente questo
questa è una cosa robusta e di nuovo qui
questa è la topografia della rete, quindi posso
anche tornare al browser ora vai a
localhost e dire qui ripulire
tutto a proposito qui è appena finito
tutto il modello quindi se dico prendi i modelli
dovrebbe vedere tutti i modelli che erano
costruito in modo che gli ultimi quattro modelli
sono stati costruiti sui milioni di dati delle canzoni
detto prima e quello superiore è l’1i
costruito dal nostro codificatore automatico e da te
può vedere la ricostruzione del codificatore automatico
errore iniziato al punto zero otto media
errore quadrato e ora è al punto zero
due così è stato migliorato da
rumore casuale per Otto ti codifica
vuoi sempre controllare questa convergenza
deve imparare qualcosa proprio il
mappatura delle identità e puoi anche vedere
qui lo stato del neurone stratifica il
cosa ti ho mostrato prima e ovviamente
puoi anche ottenere di nuovo un POJO qui
questo caso è una rete neurale, così faresti
aspettatevi dei pesi qui e alcuni qui
cos’è questo oh sono i neuroni qui
andiamo mi aspetterei che il modello mostrasse
da qualche parte vedi c’è un sacco di
dichiarazioni che devi fare per sapere
tutte queste 784 caratteristiche quindi se lo è anche questo
poco per l’anteprima allora dobbiamo
guarda l’altro modello che abbiamo sì
torniamo indietro per ottenere modelli e fare clic su
l’altro modello di apprendimento profondo deve essere fatto
in precedenza sul set di dati di milioni di canzoni e
guarda il suo pojo che dovrebbe essere più piccolo
perché c’erano solo 90 predittori
okay, eccoci qui, ora dovresti vedere
che la matematica dell’apprendimento profondo in realtà
stampato in puro testo, quindi puoi
controlla sempre qui l’attivazione di qualcosa
con qualcosa di numerico con
categorico se ne hai avuto in questo caso
non ce ne sono e poi salverà
favorisce i bias di attivazione e
faranno questo vettore matrice
moltiplicazione così ax + yv 1 questo è il
moltiplicazione vettoriale matrice che è
all’interno del modello di apprendimento profondo e
puoi vedere qui ne facciamo alcuni parziali
trucchi per essere più veloci per consentire sostanzialmente
la CPU per fare più aggiunte e
moltiplicazioni allo stesso tempo, quindi tutto
di questo è ottimizzato per la velocità e questo
è veloce come qualsiasi implementazione di c ++ o
qualsiasi cosa perché non abbiamo davvero GC
problemi qui sono assegnati tutti gli array
una volta e poi procedo bene
quindi ora torniamo al più grande
problemi di apprendimento profondo e bosone di higgs
Chi ha visto questo set di dati prima di ok
ottimo quindi questa è una fisica giusta 13
progetto più grande di miliardi di dollari di sempre
esperimento scientifico che questo set di dati ha
10 milioni di righe i loro eventi del rivelatore
ogni evento del rilevatore ha 21 numeri
venendo fuori dicendo questo è quello che io
misurato per certe cose e poi il
i fisici ne escono altri sette
numeri che calcolano da quelli 21
qualcosa come radice quadrata di questo
quadrato meno quel quadrato o qualcosa del genere
e quelle formule o formule in realtà
aiuto e puoi vederlo laggiù se
prendi solo i numeri di basso livello
è l’ AUC che ottieni così il punto 5 è casuale
e uno sarebbe perfetto e ora va
di qualcosa come 10 punti base
quasi se aggiungi quelle funzionalità extra
quindi è molto importante avere fisici
in giro per dirvi cosa fare bene
ma il CERN aveva fondamentalmente questa linea di base
qui a 81 era bello
lavorando per loro hanno usato il gradiente
alberi potenziati e reti neurali con
strato con uno strato uno strato nascosto così
la loro base di riferimento era di 81 AUC e questo documento
è arrivata una lunga estate scorsa dicendo che possiamo fare
meglio di così con un apprendimento profondo e
pubblicano alcuni numeri e ora ci sono
andando a correre la stessa cosa e vedere cosa
possiamo farlo, torno al mio
cluster my ec2 8 no cluster e dirò
ottenere cornici
e avrò i set di dati di Hicks lì
già perché lo analizzo prima di te
può vedere qui 11 milioni di righe e 29
le colonne 2 gigabyte compresse non lo sono
molto da comprimere perché è tutto
raddoppia e ora ho intenzione di correre in profondità
modello di apprendimento quindi ho già salvato il
flusso per quello in modo che questo flusso dice prendere il
dividere il set di dati suddivisi in cui l’ho diviso
due novanta per cento e cinque cinque per cento
così dieci milioni e mezzo milione ciascuno
prendere i dati di allenamento e il
dati di convalida e dimmi come stai
facendo lungo la strada così vai e costruisce
una rete a tre strati e utilizza a
attivazione del raddrizzatore tutto il resto è
predefinito e ora è in esecuzione quindi andiamo
guarda il contatore dell’acqua ok qui noi
apprendere in profondità sta prendendo il sopravvento
cluster e ora sta comunicando e
ora è l’invio che di nuovo fuori e poi
il calcolo di nuovo potrebbe essere iniziale
fasi in cui i suoi occhi a prima
riequilibrare il set di dati o qualcosa del genere
di solito lo vedi dall’alto in basso così
aspettiamo fino alla prossima comunicazione
ma vedrai che sono tutte le CPU
occupato ad aggiornare i pesi con stocastico
pendenza in discesa che significa che a
indica che i treni attraversano la rete
fa una predizione dice che è sbagliato
e corregge i pesi tutti i pesi
che sono interessati vengono sistemati fondamentalmente da
ogni singolo punto non c’è mini-partita
o qualsiasi cosa aggiorni ogni singolo punto
l’intero modello e questo è fatto da tutti
le minacce in parallelo così avrai
otto minacce in parallelo che cambiano quelle
pesi e ti ho letto bene, ti ho letto
giusto qualunque cosa siamo solo in competizione ma
di solito scriviamo pesi diversi a destra
ci sono milioni di peso quindi non lo fai
Bisogna sovrascrivere troppo spesso ma qualcuno
altrimenti sta leggendo in quel momento o qualcosa del genere
così si può vedere qui è in gran parte occupato
calcolo se volevi sapere cosa
lo fa esattamente , può anche fare clic su
il profiler qui e ti mostrerà a
traccia dello stack e traccia dello stack ordinato per
conta quello che sta succedendo, così è stato
fondamentalmente solo comunicando facciamolo
questo di nuovo
ora sarà leggermente diverso
oh, capisco, adesso stava dicendo che sono così
praticamente inattivo perché ne abbiamo otto
note e ci sono sette ordini e
ce n’è uno per leggere e uno per diritto
quindi abbiamo ricevuto 14 minacce in ascolto attivo
per la comunicazione qui f 289 sono nel
indietro la propagazione alcuni di loro sono nel
propagazione in avanti in modo da poter vedere tutto
queste cose esatte che stanno succedendo
con qualsiasi momento nel tempo per ogni nota
giusto puoi andare a una nota diversa e
puoi vedere lo stesso comportamento così sono
tutto solo occupato a calcolare così da questo modello
sta costruendo possiamo chiederci quanto bene sia
facendo ricordare dat una linea di base con il
caratteristiche umane vediamo di cosa siamo
avere qui sul set di dati di convalida
è già a 79 questo già battuto tutto
le foreste casuali e la valutazione aumentate
metodi e metodi di reti neurali che
hanno avuto al CERN per molti anni così questi
modelli lì a sinistra che avevano 75 76
già battuto da questo apprendimento profondo
modello abbiamo appena eseguito e questo non era nemmeno un
buon modello era solo un piccolo come un
cento neuroni ogni strato proprio così
è molto potente e per il momento noi
il traguardo arriverà fino ad oltre 87
lo vedi quello che ha riferito il giornale
hanno un 88 hanno addestrato questo per
settimane su una GPU e ovviamente avevano
solo questo insieme di dati e nient’altro a
preoccuparsi e questo è un piccolo set di dati
ancora ma puoi vedere il potere del profondo
imparare giusto specialmente se lo si nutre
più dati e tu dai più neuroni
si allenerà e imparerà tutto ciò che è
come un cervello che sta cercando di imparare come
il cervello di un bambino sta solo succhiando tutto
l’informazione e dopo 40 minuti
otterrai 84 AFC che è carina
impressionante proprio batte tutti gli altri
metodi di base anche con l’umano
caratteristiche e questo è senza usare il
caratteristiche umane che non è necessario conoscere
qualsiasi cosa tu abbia appena preso i dati del sensore
fuori dalla tua macchina e dì che va tutto bene
un altro caso d’uso era l’apprendimento profondo usato
per il rilevamento del crimine
e questo è in realtà Chicago che può
riconoscere questo modello in modo che i miei colleghi
Alex e Macau hanno scritto un articolo
in realtà che puoi leggere qui i dati
Nami solo pochi giorni fa e loro sono
usando la scintilla e h2o insieme per prendere
tre diversi set di dati e girali
in qualcosa che è possibile utilizzare per
prevedere che il crimine migliore sarà
portando ad un arresto o meno, così prendi
il set di dati del crimine che prendi il censimento
set di dati per sapere qualcosa sul
fattori socioeconomici e tu prendi il
meglio perché il meglio potrebbe avere
impatto su ciò che sta accadendo e tu metti
tutti insieme nella scintilla prima di te
li analizzare in h2o perché sappiamo che
il parser funziona ed è tutto a posto
nella nostra demo lo succhiamo tutto in un
h2o lo inviamo per accendere lo stesso
jvm e poi ti diciamo un join SQL e
quando hai finito lo dividiamo di nuovo
h2o e poi costruiamo un apprendimento profondo
modello e ad esempio il modello GBM penso
questi due sono stati costruiti dalla demo
script che è disponibile così di nuovo entrambi
h2o e sparks memoria è condivisa è il
lo stesso jvm non esiste uno strato di tachioni o
tutto ciò che sono fondamentalmente in grado di
passare in modo trasparente da una parte all’altra
ordine
e il prodotto è ovviamente chiamato
acqua frizzante che era un brillante
idea Penso che tutto bene quindi questo è il
posto e github dove vorresti trovare
questo questo esempio, quindi si dovrebbe scaricare
acqua frizzante dalla nostra pagina di download
e poi ci andresti in quello
directory impostata su variabili di ambiente
indicando scintilla e dicendo quanti
nodi che vuoi e poi inizieresti
il guscio scintillante e poi copia incolla
questo codice per esempio se tu
vuoi farlo in modo interattivo così puoi
guarda qui ci sono un paio di te
importare deep learning in GBM e alcuni
scintilla roba e poi tu fondamentalmente
connettersi al cluster h2o analizziamo
set di dati in questo modo questo è solo un
definizione della funzione che viene utilizzata da
queste altre funzioni che effettivamente fanno
il lavoro per caricare i dati e poi tu
può rilasciare alcune colonne e fare alcune semplici
mungendo in questo caso qui ne facciamo un po ‘
manipolazioni di date per standardizzare il
tre set di dati per avere la stessa data
formattare in modo da poterci unire in seguito
e in pratica prendi semplicemente questi tre
set di dati questi sono solo piccoli per una demo
ma in realtà usano ovviamente il
intero insieme di dati su un cluster e poi
una volta che hai questi tre set di dati in
memoria come oggetti h2o che abbiamo appena convertito
a uno schema guidato con questa chiamata qui e
ora diventare scintilla o malattia per cui
puoi semplicemente chiamare come una selezione
dichiarazione in SQL e poi alcuni join e
un altro join e tutto ciò che è molto bello
questa è una API ben compresa
le persone possono usare e h2o non ha
questo a questo punto, ma stiamo lavorando
che così ad un certo punto avremo di più
gestione delle capacità ma per ora tu
può sicuramente beneficiare del tutto
scintilla ecosistema per fare ciò che è buono
quindi qui in questo caso ma è questo che diciamo
ecco un crimine di dati migliori che noi
dopo essere stato diviso penso che abbiamo speso noi
riportalo in h2o sì, questo è un
Funzione helper HTML per dividere e ora noi
hanno fondamentalmente un insieme di dati congiunti che
sa tutto sul socioeconomico
fattori sul modo
per un dato tempo in un dato luogo e
allora possiamo costruire un modello di apprendimento profondo
proprio come faresti in Java
Scala è molto simile, giusto non lo fai
bisogno di fare molto porting è solo il
stessi membri che stai impostando e
allora tu dici di eseguire il modello del treno che ottiene
fondamentalmente e quello che alla fine tu
avere un modello disponibile che è possibile utilizzare
fare previsioni ed è molto semplice
e puoi sicuramente seguire il
tutorials nell’interesse del tempo lo farò
solo mostrarti lo scintillio che inizierà
qui sono fondamentalmente in grado di farlo sul mio
computer portatile così, mentre l’altro è
ancora correndo qui vedi la scintilla
in fase di lancio e ora è in programmazione
quei tre nodi operai da inventare una volta
è pronto posso copiare incollare del codice
lì e il codice che otterrei dal
sito web qui demo Crime di Chicago è tutto
su github
così nell’acqua frizzante mi alzerò
progetto sotto esempi ce ne sono alcuni
script e quindi posso solo prendere questo
roba qui e copia semplicemente incolla tutto
oops Sono sicuro che mi credi questo
è tutto fattibile, quindi qui la scintilla non lo è
pronto e ho appena copiato incollare è in e
qui va così che è come sia facile
fai scintilla e h2o insieme e poi anche
una volta che hai qualcosa nella tua memoria
nell’ottava mostra cluster a destra del modello
per esempio o alcuni set di dati che puoi
basta chiedere al flusso per visualizzarlo che puoi
basta digitare questo JavaScript o
CoffeeScript piuttosto espressione e trama
tutto ciò che vuoi contro qualsiasi cosa e
vedrai queste trame interattive ma
è possibile il mouse-over e vi mostrerà
quello che è e così via quindi è molto bello
puoi tracciare ad esempio il tasso di arresto
contro l’occorrenza relativa di a
l’arresto per esempio il gioco d’azzardo è sempre
arrestato perché è così perché
altrimenti non sapresti che il
la persona del gioco d’azzardo stava imbrogliando o
qualcosa così così fondamentalmente devi
riposati bene altrimenti non lo sai
quello che sta succedendo sono alcune cose
inosservato ma il furto per esempio
non è sempre arrestato perché qualcuno
sa che è stato rubato senza il
la persona in realtà viene catturata così tu hai
fare attenzione a tutti questi dati
materiale scientifico ma fondamentalmente può tracciare
qualunque cosa tu voglia contro qualunque cosa tu
voglio e questo è piuttosto potente e noi
avere il nostro tavolo statale ora in casa così
Matt Dowell si è unito a noi recentemente lui lui
ha scritto la tabella di dati più veloce a
motore di elaborazione nel nostro e questo è
utilizzato per le istituzioni finanziarie che
piace fare aggregati molto così solo che cosa
lo vedrai nella diapositiva precedente presto
avere tutto questo in H per andare in una scala
modo che possiamo fare aggregamenti di join veloci
e così via e la stessa cosa, naturalmente
per Python hai ipython
quaderni e c’è un esempio da fare
qualcosa per l’azienda di bici da città in
New York City dove vuoi sapere come
molte bici ti servono per stazioni del genere
che non finisci le bici, quindi facciamolo
di avere 10 milioni di righe di
dati storici e ne hai di migliori
dati che immagineresti puoi aderire
quei due e quindi fondamentalmente basati su
Posizione
nel tempo e meglio è possibile prevedere come
molte moto di cui avrai bisogno, quindi se io
sapere oggi sarà o domani
sarà così meglio che so di aver bisogno
250 biciclette in quella stazione o qualcosa del genere
e scagliamo il nostro CTO chi-che ha scritto una battuta
Fondamentalmente ha anche scritto questa scienza dei dati
esempio qui così puoi vedere che c’è un
raggruppa dall’alto i taccuini ipython
e per mostrarti che questa è anche la vita
impossibile qui lo faccio qui scriverò
ipibone notebook citibike piccolo e alto
apre il mio mio browser con ipython
notebook cancellerò tutto l’output
celle quindi non imbrogliamo e dico andate e
ora si sta connettendo al cluster
Ho iniziato 30 minuti fa questo significa che io
ho ancora un po ‘di tempo da perdere
caricherò alcuni dati qui sopra andiamo e
quindi diamo un’occhiata ai dati che lo descrivono
potete vedere qui alcuni media e max
così via qualunque cosa sia come a
distribuzione del frammento del frame
quante righe fuori da ciascuna macchina
questo caso è solo una macchina oops
c’è solo una macchina fondamentalmente alcuni
statistiche che ti dicono come è il
dati distribuiti attraverso il cluster cosa
tipi di colonne ho quello che è loro
medio massimo e così via tutto disponibile da
da Python puoi fare un gruppo con
non hai bisogno di sapere tutto questo ma
fondamentalmente solo tu vuoi sapere come a
a che ora del giorno o cosa fanno
molte bici sono stazioni di cagna e così via
puoi vedere che c’è un grande
la distribuzione qui è alcuni
i posti servono fondamentalmente solo 9 biciclette
le sotto bici o anche di più e così via
giusto e puoi fare i quantili che vedi
i quantili qui dall’uno percento tutto
la strada per il novantanove per cento e tu
vedi che ci sono dei numeri piuttosto grandi
qui puoi fare in modo che le nuove funzioni rimangano se
nei fine settimana puoi costruire modelli così
questa è la parte divertente per cui abbiamo un conto
GBM costruiamo una foresta casuale che costruiamo a
glm e costruiamo un modello di apprendimento profondo
tutto sugli stessi dati che sono stati aggiunti
prima e così ora diciamo fai questo
quindi ora sta costruendo un GBM
tutto il mio portatile, quindi se sono andato al mio
laptop in questo momento potrei dire ottenere modelli
e questi modelli sarebbero solo magicamente
pop-up e questo è un apprendimento profondo e ora
possiamo vedere come stanno bene e
hai l’idea giusta, così ora abbiamo un
92 AAC per apprendimento profondo ma 93 a o
c da GBM ma l’apprendimento approfondito ha persino preso un
Poco meno tempo del GBM, quindi è possibile
dire che entrambi sono metodi molto potenti
battono le foreste casuali e il
modelli lineari qui ma ovviamente nulla
batte il modello lineare in termini di tempo
Oh punto un secondo per ottenere un 81 e tu
vedere che è piuttosto notevole è 50 volte
più veloce e una foresta casuale va bene così
mi credi che I Python lavori come
bene una volta che ti unisci ai dati migliori con
un semplice comando di unione qui nel
al centro, da qualche parte, si ottiene un po ‘
alzati qui perché poi puoi persino
prevedere meglio hai bisogno di biciclette non lo sono
basato su una destra migliore ha senso se
piove potresti aver bisogno di meno biciclette quindi nessuna
qualsiasi cosa ti chieda cosa fare
con modelli lineari GBM con profondità
imparando ci sono opuscoli per questo e
al momento stiamo riscrivendoli al
nuova versione di h2o che avrà
API e cose leggermente aggiornate per
coerenza con il nostro Python Scala JSON
e così via , sarà molto bello
e riscritto tutto da zero a
grande sforzo ma ora siamo fondamentalmente
sarà pronto per il rilascio, penso
questa settimana effettivamente così e un’altra! è
che al momento siamo il numero uno in questo
sfida caracal Marc Landry che proprio
si unì a noi che è stato con i compagni di squadra
andare per un po ‘che era nel mondo h2o
lo scorso autunno sta andando davvero a lavorare
a tempo pieno quasi la metà del suo tempo su Kaggle
sfide utilizzando h2o quindi saremo entusiasti
per vedere questo andare oltre il traguardo
e condivideranno come abbiamo fatto questo o
piuttosto condividerà come l’ha fatto
perché il marchio ha fatto la maggior parte del lavoro
la prossima settimana a h2o in Mountain View e
saranno anche trasmessi in diretta, quindi se
puoi essere sicuro di ascoltare e
questi sono alcuni esempi di altri caracal
applicazioni
abbiamo script dimostrativi che vengono pubblicati
che sono disponibili e per esempio questo
uno che avevo ospitato pochi altri forse a
qualche mese fa ho pubblicato questo esempio
Logica dei parametri casuali GBM dove
praticamente fai solo dieci modelli con
parametri casuali e vedere quale è
il meglio che a volte utile
soprattutto se hai molte dimensioni
per ottimizzare e non abbiamo
Ottimizzazione di Pechino ancora ma questo potrebbe
essere più efficiente di un bruto
forza la ricerca della griglia perché la macchina
diventa più fortunato di quello che dici di essere
fortunato se vuoi è per questo che montecarlo
l’integrazione funziona in alto e in quattro
dimensioni la stessa cosa è vera con
la ricerca dei parametri iper non è così timida
lontano da questi approcci casuali
sono molto potenti quindi questo è il
guardare molte cose da fare per i dati
scienza ora che hanno questo
macchinario sul posto che può scalare al grande
set di dati i clienti stanno dicendo bene se io
ho bisogno di trovare i parametri giusto sì
certo sintonizzazione automatica dei parametri ibridi
è fantastico lo faranno presto per te
avrai ensemble come un quadro
che puoi nella GUI e tutto correttamente
definire ciò che si desidera fondere insieme
in che modo non quadrati minimi da impilare
modelli di diversi tipi come un casuale
foresta e GBM e così via su tutti
set di dati di controllo e così via poi vogliamo
avere strati convoluzionali per profondità
imparare ad esempio per le persone che vogliono
fare più cose relative alle immagini ma tutto
queste cose sono su una lista di cose da fare
dobbiamo dare la priorità a quelli basati su
la domanda dei clienti è così che è la nostra
i clienti arrivano a fare i clienti paganti
arrivare a dirci fondamentalmente quello che vogliono
e loro lo prenderanno in considerazione
l’elaborazione del linguaggio naturale è alta
lì soprattutto ora che hai questo
quadro che possiamo caratterizzare ciascuno
stringa come numero intero e quindi elaborare
tutto veloce e abbiamo un nuovo metodo
chiamato modello a basso rango generalizzato che
arriva proprio da Stanford, nuovo di zecca
può fare tutti questi metodi per PCD SVD
k-significa fattorizzazione di matrice ovviamente
tutta questa roba che fissa i valori mancanti per
sei basato su come un’espansione di Taylor di
il tuo set di dati può fare roba molto potente
anche essere usato per sistemi di comandante e
abbiamo un sacco e molto altro zero
biglietti e
roba su cui lavorare quindi se sei interessato
per unire lo sforzo, per favore fallo e io
spero di averti lasciato con un’impressione di
cosa puoi fare con h2o e cosa
lo stato dell’arte è adesso in macchina
imparare su big data set e grazie
per la vostra attenzione
Please follow and like us: