plt.subplot(5, 2, i + 1)
plt.xticks([])
plt.yticks([])
plt.grid(False)
plt.imshow(images[i].reshape(28, 28), cmap=plt.cm.binary)
plt.xlabel(f"True: {labels[i]}, Pred: {np.argmax(predictions[i])}")
plt.show()
plot_image_predictions(test_images, test_labels, predictions)
```
Изучение влияния различных параметров
Вы можете экспериментировать с различными параметрами модели, такими как количество нейронов в скрытых слоях, активационные функции и оптимизаторы, чтобы определить их влияние на производительность модели.
1. Изменение количества нейронов:
```python
# Скрытый слой с 256 нейронами
model = models.Sequential()
model.add(layers.Dense(256, activation='relu', input_shape=(28 * 28,)))
model.add(layers.Dense(10, activation='softmax'))
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(train_images, train_labels, epochs=5, batch_size=128)
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"Точность на тестовых данных с 256 нейронами: {test_acc}")
```
2. Использование другой функции активации:
```python
# Скрытый слой с функцией активации 'tanh'
model = models.Sequential()
model.add(layers.Dense(512, activation='tanh', input_shape=(28 * 28,)))
model.add(layers.Dense(10, activation='softmax'))
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(train_images, train_labels, epochs=5, batch_size=128)
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"Точность на тестовых данных с активацией tanh: {test_acc}")
```
3. Использование другого оптимизатора:
```python
# Оптимизатор 'SGD'
model = models.Sequential()
model.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))
model.add(layers.Dense(10, activation='softmax'))
model.compile(optimizer='sgd',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(train_images, train_labels, epochs=5, batch_size=128)
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"Точность на тестовых данных с оптимизатором SGD: {test_acc}")
```