В предыдущей странице art этого мы понимаем AI, ML, неконтролируемое обучение, Контролируемое обучение и некоторые этапы рабочего процесса машинного обучения . Итак, теперь, в этой части, мы разберемся в следующих шагах Выбор модели, модели обучения и т. Д. Рабочий процесс машинного обучения.

Шаг 3. Выберите модель

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

Здесь у нас есть данные в виде временных рядов, поэтому для работы с этим типом данных мы используем модель LSTM (Long Short-TimeMemory).

Давайте создадим модель LSTM с помощью API последовательной модели.

Мы можем создать модель, вызвав API Sequential ().

Чтобы добавить слой, просто создайте слой с помощью API слоя Keras, а затем передайте слой через функцию add (), как указано ниже:

Чтобы добавить первый слой LSTM, мы создаем слой с 50 ячейками, функцией активации «Relu», входной формой в соответствии с размером входных данных и возвращаемыми последовательностями. Истина, если следующий уровень модели также является слоем LSTM, а затем мы добавляем это слой к модели с помощью метода add ().

Теперь добавьте слой исключения (чтобы предотвратить переоснащение нейронных сетей) с коэффициентом отсева 20% (0,2).

После этого мы добавляем еще два слоя LSTM как LSTM Layer-Dropout Layer-LSTM Layer.

Наконец, добавляем выходной слой или плотный слой с 1 ячейкой.

После создания модели вы можете настроить модель для обучения с потерями и метриками, используя метод compile ().

Здесь мы устанавливаем параметры: среднеквадратичную ошибку как функцию потерь, «алгоритм оптимизации Адама» как оптимизатор и среднеквадратичную ошибку как метрики.

Мы можем напечатать строковое резюме сети, используя метод summary (), как показано на рисунке N.

Шаг 4. Обучение модели

На этом этапе мы используем данные (данные обучения) для обучения нашей модели. Обучает модель для фиксированного количества эпох с помощью метода fit ().

Здесь мы обучаем модель со 100 эпохами, размером пакета 64 и случайным образом имеет значение False, потому что наши данные находятся в формате временных рядов, поэтому мы не хотим перемешивать обучающие данные во время обучения.

Шаг 5. Оценка

После обучения модели ее необходимо протестировать на тестовом наборе данных, поэтому мы разделяем данные на втором этапе машинного обучения. В большинстве моделей мы используем функцию Assessment () для проверки работоспособности модели.

Но в нашем случае мы не используем эту функцию. Мы вычисляем среднеквадратичную ошибку и оценку R2 для тестового набора данных.

Как показано на рисунке-O, значение MSE составляет 0,0006995175556468366, что является ближайшим к 0, а значение R2 составляет 0,9857629449949173, которое ближе всего к 1. Это означает, что эта модель хороша.

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

Теперь мы изменяем прогнозируемый набор обучающих данных и набор тестовых данных, а затем создаем массив из обоих наборов данных, как показано на рисунке Q.

Теперь мы можем создать график из основного набора данных, набора данных для обучения и тестового набора данных, используя следующие команды python:

Это результат графа наборов данных.

Шаг 6. Настройка гиперпараметров

После завершения процесса оценки мы переходим к шестому этапу ML, на котором мы попытаемся улучшить эту модель (если значения оценки или значения ошибок не подходят). В этом процессе мы изменяем значения гиперпараметров, такие как размер пакета, скорость обучения и т. Д., Чтобы улучшить производительность модели.

Шаг 7. Прогноз

Последний шаг рабочего процесса машинного обучения - это прогнозирование. Наша модель прогнозирования запасов может прогнозировать цену акций на следующий день. Чтобы предсказать стоимость акций на следующий день, нам нужны данные за последние 100 дней из набора данных.

Теперь мы изменим форму 100-дневных данных и поместим их в метод pred (), который даст нам прогнозируемое значение цены акции на следующий день.

После достижения мы преобразуем его в нормальное значение (посредством процесса инвертированной нормализации).

Как показано на рисунке U, стоимость акций на следующий день должна быть 124,88 (долл. США).

Код вы можете найти в этом репозитории на GitHub.

Вот и все!

На этот раз, ребята, если у вас есть какие-либо вопросы или вопросы, вы можете прокомментировать здесь.

Удачного обучения.