Нейросети. Основы. Дэвид Рид

Чтение книги онлайн.

Читать онлайн книгу Нейросети. Основы - Дэвид Рид страница 6

Автор:
Жанр:
Серия:
Издательство:
Нейросети. Основы - Дэвид Рид

Скачать книгу

Оценка модели: После обучения модель проверяется на тестовом наборе данных для оценки её точности и способности обобщать новые данные.

      5. Корректировка и оптимизация: Модель может быть доработана и оптимизирована с использованием различных техник, таких как кросс-валидация, настройка гиперпараметров и выбор лучших признаков.

      Супервайзинговое обучение широко используется в задачах классификации (например, распознавание изображений, анализ текста) и регрессии (например, прогнозирование цен на жильё).

      Практический пример супервайзингового обучения

      Задача: Классификация изображений кошек и собак с использованием библиотеки scikit-learn и нейронной сети Keras.

      – Сбор данных

      Для этого примера мы будем использовать датасет изображений кошек и собак, который можно найти на платформе Kaggle. Датасет содержит тысячи изображений кошек и собак, размеченных соответствующими метками.

      – Разделение данных

      Разделим данные на обучающий и тестовый наборы. Обычно используется соотношение 80:20, где 80% данных идут на обучение, а 20% на тестирование.

      – Обучение модели

      Для обучения модели мы будем использовать простой CNN (сверточную нейронную сеть), подходящую для классификации изображений.

      – Оценка модели

      Оценим точность модели на тестовом наборе данных.

      – Корректировка и оптимизация

      Настроим гиперпараметры модели, проведем кросс-валидацию и выберем лучшие признаки для улучшения производительности.

      ```python

      # Импортируем необходимые библиотеки

      import numpy as np

      import pandas as pd

      import matplotlib.pyplot as plt

      from sklearn.model_selection import train_test_split

      from tensorflow.keras.preprocessing.image import ImageDataGenerator

      from tensorflow.keras.models import Sequential

      from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout

      # Сбор данных и предварительная обработка

      # Для примера используем ImageDataGenerator для загрузки изображений из папок

      train_datagen = ImageDataGenerator(rescale=1./255, validation_split=0.2)

      train_generator = train_datagen.flow_from_directory(

      'data/train', # Путь к папке с изображениями

      target_size=(150, 150),

      batch_size=32,

      class_mode='binary',

      subset='training')

      validation_generator = train_datagen.flow_from_directory(

      'data/train',

      target_size=(150, 150),

      batch_size=32,

      class_mode='binary',

      subset='validation')

      # Разделение данных уже происходит внутри ImageDataGenerator с использованием параметра validation_split

      # Создание модели

      model = Sequential([

      Conv2D(32, (3, 3), activation='relu', input_shape=(150, 150, 3)),

      MaxPooling2D(2, 2),

      Conv2D(64, (3, 3), activation='relu'),

      MaxPooling2D(2, 2),

      Conv2D(128, (3, 3), activation='relu'),

      MaxPooling2D(2, 2),

      Conv2D(128, (3, 3), activation='relu'),

      MaxPooling2D(2, 2),

      Flatten(),

      Dense(512, activation='relu'),

      Dropout(0.5),

      Dense(1, activation='sigmoid')

Скачать книгу