L'Intelligenza Artificiale (AI) hà guadagnatu una quantità significativa di pupularità in l'ultimi anni.
Sè site un ingegnere di software, un scientist di l'informatica, o un entusiasta di a scienza di dati in generale, allora site probabilmente intrigatu da l'applicazioni maravigghiusu di trasfurmazioni di l'imaghjini, ricunniscenza di mudelli è rilevazione di l'ughjetti furnite da stu campu.
U sottucampu più impurtante di l'IA chì probabilmente avete intesu parlà hè l'Apprendimentu Profondu. Stu campu si focalizeghja nantu à algoritmi putenti (istruzzioni di prugramma di computer) modellati dopu a funziunalità di u cervellu umanu cunnisciuta cum'è Reti Neurali.
In questu articulu, andemu nantu à u cuncettu di e Rete Neurale è cumu custruisce, cumpilà, adatta è valutà sti mudelli cù pitone.
Reti Neurali
I Neural Networks, o NN, sò una seria di algoritmi modellati dopu l'attività biologica di u cervellu umanu. I Reti Neurali sò custituiti da nodi, chjamati ancu neuroni.
Una cullizzioni di nodi verticali sò cunnisciuti com'è strati. U mudellu hè custituitu da un input, una output, è una quantità di strati nascosti. Ogni strata hè custituita da nodi, chjamati ancu neuroni, induve i calculi si facenu.
In u schema seguente, i circles rapprisentanu i nodi è a cullezzione verticale di nodi rapprisentanu i strati. Ci sò trè strati in stu mudellu.
I nodi di una capa sò cunnessi à u prossimu stratu attraversu e linee di trasmissione cum'è vistu quì sottu.
U nostru set di dati hè custituitu da dati etichettati. Questu significa chì ogni entità di dati hè stata assignata un certu valore di nome.
Allora per un dataset di classificazione di l'animali averemu l'imaghjini di i misgi è i cani cum'è i nostri dati, cù "cat" è "cane" cum'è e nostre etichette.
Hè impurtante à nutà chì e etichette devenu esse cunvertite in valori numerichi per u nostru mudellu per fà sensu di elli, cusì i nostri etichette animali diventanu "0" per u gattu è "1" per u cane. Tramindui i dati è l'etichette sò passati per u mudellu.
Locu
I dati sò alimentati à u mudellu una entità à una volta. Queste dati sò spartuti in pezzi è passati per ogni node di u mudellu. I nodi facenu operazioni matematiche nantu à questi pezzi.
Ùn avete bisognu di sapè e funzioni matematiche o calculi per stu tutoriale, ma hè impurtante per avè una idea generale di cumu si travaglianu sti mudelli. Dopu una seria di calculi in una capa, i dati sò passati à a capa successiva è cusì.
Una volta finitu, u nostru mudellu predice l'etiqueta di dati à a strata di output (per esempiu, in un prublema di classificazione di l'animali avemu una predizione "0" per un gattu).
U mudellu poi procede à paragunà stu valore previstu cù quellu di u valore di l'etichetta attuale.
Se i valori currispondenu, u nostru mudellu pigliarà u prossimu input, ma se i valori sò diffirenti, u mudellu calculerà a diffarenza trà i dui valori, chjamata perdita, è aghjustà i calculi di node per pruduce etichette currispondenti a prossima volta.
Quadri di Apprendimentu Profondu
Per custruisce Rete Neural in codice, avemu bisognu di impurtà Quadri di Deep Learning cunnisciuti cum'è biblioteche chì utilizanu u nostru Ambiente di Sviluppu Integratu (IDE).
Questi quadri sò una cullizzioni di funzioni pre-scritte chì ci aiuteranu in stu tutoriale. Useremu u framework Keras per custruisce u nostru mudellu.
Keras hè una biblioteca Python chì usa un backend di apprendimentu prufondu è intelligenza artificiale chjamatu flussu tensoru per creà NN in forma di mudelli sequenziali simplici cun facilità.
Keras vene ancu cù i so propri mudelli preesistenti chì puderanu ancu esse usatu. Per stu tutoriale, creeremu u nostru mudellu cù Keras.
Pudete amparà di più nantu à stu framework Deep Learning da u U situ web di Keras.
Custruì una Rete Neurale (Tutorial)
Passemu à custruisce una Rete Neurale cù Python.
Dichjarazione di Prublema
I Neural Networks sò un tipu di suluzione à i prublemi basati in AI. Per stu tutoriale, andemu nantu à i Dati di Diabetes di Pima Indians, chì sò dispunibili ccà.
UCI Machine Learning hà cumpilatu stu dataset è cuntene un record medico di i pazienti indiani. U nostru mudellu hà da predichendu se u paziente hà un iniziu di diabetes in 5 anni o micca.
Caricamentu di Dataset
U nostru dataset hè un unicu schedariu CSV chjamatu 'diabetes.csv' chì pò esse facilmente manipulatu cù Microsoft Excel.
Prima di creà u nostru mudellu, avemu bisognu di impurtà u nostru dataset. Utilizendu u codice seguente, pudete fà questu:
importa panda cum'è pd
data = pd.read_csv('diabetes.csv')
x = data.drop ("Risultato")
y = dati["Risultatu"]
Quì avemu aduprà u Pandas biblioteca per pudè manipulà i nostri dati di u schedariu CSV, read_csv () hè una funzione integrata di Pandas chì ci permette di almacenà i valori in u nostru schedariu à una variàbile chjamata "data".
A variàbile x cuntene u nostru dataset senza u risultatu (etichette) dati. Avemu ottene questu cù a funzione data.drop () chì sguassate l'etichette per x, mentri y cuntene solu i dati di u risultatu (etichetta).
Modellu Sequential Building
Passu 1: Impurtà Biblioteche
Prima, avemu bisognu di impurtà TensorFlow è Keras, cù certi parametri necessarii per u nostru mudellu. U codice seguente ci permette di fà questu:
import tensorflow as tf
da tensorflow import keras
da tensorflow.keras.models import Sequential
da tensorflow.keras.layers importazione Attivazione, Dense
da tensorflow.keras.optimizers importa Adam
da tensorflow.keras.metrics importate categorical_crossentropy
Per u nostru mudellu avemu impurtatu strati densi. Quessi sò strati cumpletamente cunnessi; vale à dì, ogni node in una capa hè cumpletamente cunnessu cù un altru node in a capa successiva.
Avemu ancu impurtà un attivazione funzione necessaria per a scala di dati mandati à i nodi. Optimizers sò stati ancu impurtati per minimizzà a perdita.
Adam hè un ottimisatore di fama chì rende i nostri calculi di nodi di l'aghjurnamentu di u mudellu in modu più efficau, inseme categorical_crossentropy chì hè u tipu di funzione di perdita (calculate a diffarenza trà i valori di l'etichetta attuale è previsti) chì avemu da aduprà.
Passu 2: Designing Our Model
U mudellu chì aghju criatu hà un input (cù unità 16), una oculata (cù unità 32) è una capa di output (cù unità 2). Questi numeri ùn sò micca fissi è dependeranu interamente di u prublema datu.
Stabbilimentu di u numeru ghjustu di unità è strati hè un prucessu chì pò esse migliuratu à l'ora extra per a pratica. L'attivazione currisponde à u tipu di scala chì avemu da esse realizatu nantu à i nostri dati prima di passà per un node.
Relu è Softmax sò funzioni di attivazione famose per questu compitu.
mudellu = Sequential ([
Denso (unità = 16, input_shape = (1,), attivazione = 'relu'),
Denso (unità = 32, attivazione = 'relu'),
Denso (unità = 2, attivazione = 'softmax')
])
Eccu ciò chì deve esse u riassuntu di u mudellu:
Training u mudellu
U nostru mudellu serà furmatu in dui tappe, u primu essendu a compilazione di u mudellu (mettendu u mudellu inseme) è u prossimu esse adattatu u mudellu nantu à un dataset data.
Questu pò esse fattu cù a funzione model.compile () seguita da a funzione model.fit ().
model.compile(optimizer = Adam (learning_rate = 0.0001), loss = 'binary_crossentropy', metrics = ['accuracy'])
model.fit (x, y, epochs = 30, batch_size = 10)
Specificà a metrica "accurata" ci permette di osservà a precisione di u nostru mudellu durante a furmazione.
Siccomu i nostri etichette sò in forma di 1 è 0, useremu una funzione di perdita binaria per calculà a diffarenza trà l'etichette attuali è previste.
U dataset hè ancu esse divisu in batch di 10 (batch_size) è serà passatu per u mudellu 30 volte (epoche). Per un determinatu dataset, x seria a data è y seria l'etichette chì currispondenu à i dati.
Testing Model Using Predictions
Per valutà u nostru mudellu, facemu predizioni nantu à i dati di prova utilizendu a funzione predict().
predictions = model.predict(x)
È basta!
Avà duvete avè una bona cunniscenza di u Deep Learning applicazione, Neural Networks, cumu si travaglianu in generale è cumu custruisce, furmà è pruvà un mudellu in codice Python.
Spergu chì stu tutoriale vi dà u kickstart per creà è implementà i vostri propri mudelli di Deep Learning.
Fateci sapè in i cumenti se l'articulu hè statu utile.
Lascia un Audiolibro