Intelligenza Artificiale

A un certo punto non fu più la biologia a dominare il destino dell'uomo, ma il prodotto del suo cervello: la cultura.
Cosicché: "Le uniche leggi della materia sono quelle che la nostra mente deve architettare e le uniche leggi della mente sono architettate per essa dalla materia".
JAMES CLERK MAXWELL

Classificazione Multiclasse


Un modello Keras creato da chatGPT

Ho provato dando ampia libertà a chat GPT

Prompt Generico

Nel linguaggio python leggi in data set MNIST, costruisci una rete neurale che identifichi le immagini, Il data set test è il 10%.
Numero di strati nascosti, nodi in grado di fornire il miglior risultato

Codice Completo



from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Flatten
from keras.utils import to_categorical

# Caricamento del dataset MNIST
(X_train, y_train), (X_test, y_test) = mnist.load_data()

# Normalizzazione delle immagini
X_train = X_train.astype('float32') / 255.0
X_test = X_test.astype('float32') / 255.0

# Codifica one-hot delle etichette di output
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)

# Costruzione del modello
model = Sequential()
model.add(Flatten(input_shape=(28, 28)))  # Appiattisce le immagini 28x28 in un vettore 1D

# Aggiunta degli strati nascosti
model.add(Dense(512, activation='relu'))  # Primo strato nascosto con 512 nodi e funzione di attivazione ReLU
model.add(Dense(256, activation='relu'))  # Secondo strato nascosto con 256 nodi e funzione di attivazione ReLU

# Strato di output
model.add(Dense(10, activation='softmax'))  # Strato di output con 10 nodi e funzione di attivazione softmax

# Compilazione del modello
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

# Addestramento del modello
model.fit(X_train, y_train, epochs=10, batch_size=128, validation_split=0.1)

# Valutazione del modello sul test set
loss, accuracy = model.evaluate(X_test, y_test)
print(f'Funzione di costo: {loss}')
print(f'Accuracy: {accuracy}')



Risultato
Loss: 0.0761
-contro 0.08130357414484024
accuracy: 0.9801
-contro 0.9750000238418579

Che migliora fino a
Funzione di costo: 0.09939996898174286
Accuracy: 0.9822999835014343
Con 20 epoche !! Da notare pero' che questo codice non avrebbe significato
senza conoscere Python e le reti neurali