Нейронная сеть имеет три вида нейронных слоев:
- Входной слой. Он хранит данные, которые получит эта сеть. Количество нейронов должно равняться количеству входов, которые у вас есть;
- Скрытый слой. Он использует входные данные, которые поступают из предыдущего слоя, и выполняет необходимые вычисления, чтобы получить результат, который передается на выходной слой. Более сложные проблемы могут потребовать более одного скрытого слоя. Насколько я знаю, не существует алгоритма для определения количества нейронов в этом слое, поэтому я думаю, что вы определяете это число на основе проб и ошибок и предыдущего опыта;
- Выходной слой. Он получает результаты от скрытого слоя и передает его пользователю для личного использования. Количество нейронов из выходного слоя равно количеству ваших выходов.
Согласно тому, что вы пишете здесь, ваша учебная база имеет 6 входов и один выход (уровень вовлеченности). Это означает, что ваша искусственная нейронная сеть (ANN) будет иметь 6 нейронов на входном слое и один нейрон на выходном слое.
Я не уверен, что вы можете передавать изображения в качестве входных данных в нейронную сеть. Кроме того, поскольку в теории существуют бесконечные типы изображений, я думаю, вы должны классифицировать их немного, каждая категория получает номер. Примером категоризации будет:
- Изображения с собаками относятся к категории 1;
- Изображения с больницами относятся к категории 2 и т. Д.
Итак, ваши входные данные будут выглядеть так:
- Категория изображения (собаки = 1, больницы = 2 и т. Д.);
- Тип изображения (Внешняя фотосессия = 1, Внутренняя фотосессия = 2);
- День проводки (воскресенье = 1, понедельник = 2 и т. Д.);
- Время размещения изображения;
- Количество людей, которые видели почту;
- Коэффициент участия.
Количество скрытых слоев и количество каждого нейрона от каждого скрытого слоя зависит от сложности вашей задачи. Имея 120 изображений, я думаю, что одного скрытого слоя и 10 нейронов на этом слое достаточно.
У ИНС будет один скрытый слой (уровень вовлеченности).
После создания базы данных, содержащей информацию о 120 изображениях (известной как обучающая база данных ), следующим шагом является обучение ANN с использованием базы данных. Однако здесь есть некоторые обсуждения.
Обучение ANN означает вычисление некоторых параметров скрытых нейронов с использованием алгоритма оптимизации так, чтобы сумма квадратов ошибок была минимальной. Процесс обучения имеет некоторую степень случайности. Чтобы свести к минимуму влияние коэффициента случайности и получить максимально точные оценки, ваша учебная база данных должна иметь:
- Согласованные данные;
- Много записей;
Я не знаю, насколько последовательны ваши данные, но по моему опыту небольшая учебная база данных с непротиворечивыми данными превосходит огромную базу данных с непоследовательными.
Судя по проблеме, я думаю, вам следует использовать функцию активации по умолчанию, предоставляемую программным обеспечением, которое вы используете для обработки ANN.
Как только вы обучили свою базу данных, пришло время посмотреть, насколько эффективной была эта тренировка. Программное обеспечение, которое вы используете для ANN, должно предоставить вам инструменты для оценки этого, инструменты, которые должны быть задокументированы. Если тренировка вас устраивает, вы можете начать ее использовать. Если это не так, вы можете либо переобучить ANN, либо использовать большую базу данных.