Программирование на Python с Keras: Инструменты глубокого обучения
Keras - это библиотека машинного обучения, написанная на языке Python и предназначенная для упрощения процесса создания и обучения моделей нейронных сетей. Она разработана, чтобы быть легкой и простой в использовании, но при этом достаточно гибкой и мощной для создания различных типов моделей. Она позволяет ускорить процесс создания моделей нейронных сетей, как для начинающих, так и для экспертов в области машинного обучения.
Пример использования Keras для создания модели нейронной сети для классификации цветов ирисов:
python
# Импортируем необходимые библиотеки
import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from keras.models import Sequential
from keras.layers import Dense
# Загрузим данные ирисов
data = load_iris()
# Разобьем данные на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2)
# Создадим последовательную модель нейронной сети
model = Sequential()
model.add(Dense(4, input_dim=4, activation='relu')) # Добавление скрытого слоя с 4 нейронами и функцией активации ReLU
model.add(Dense(3, activation='softmax')) # Добавление выходного слоя с 3 нейронами и функцией активации Softmax (для классификации)
# Скомпилируем модель, указав оптимизатор, функцию потерь и метрики
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# Обучим модель на обучающих данных и проверим ее точность на тестовых данных
model.fit(X_train, y_train, epochs=50, batch_size=10, verbose=1)
accuracy = model.evaluate(X_test, y_test, verbose=0)[1]
print(f"Accuracy: {accuracy*100:.2f}%")
Пример выше создает нейронную сеть, которая обучается классифицировать ирисы на 3 класса в зависимости от их характеристик. В обучении используется функция потерь "sparse_categorical_crossentropy", которая является стандартной функцией потерь для многоклассовой классификации, и метрика "accuracy", которая измеряет точность модели.
Модель обучается на обучающих данных в течение 50 эпох, где каждая эпоха представляет собой один проход через все обучающие данные. Размер пакета (batch_size) установлен на 10. После завершения обучения точность модели проверяется на тестовых данных, и она печатает процент правильных ответов (accuracy).
Keras - это мощный и гибкий инструмент для создания и обучения моделей нейронных сетей. Она помогает существенно ускорить и упростить процесс создания моделей, и позволяет изучать и применять различные архитектуры нейронных сетей в своих проектах.