Перейти к содержанию
    

нейронная сеть для прогнозирования

Здравствуйте, помогите мне понять!
Начал изучение нейронных сетей, после чего мне дали задачу - реализация прогнозной модели возникновение нарушения на производстве (python). Есть входные данные (7 чисел) ,как я понял это будет задача классификации и будет реализован метод обратного распространения. В построении структуры нейронной сети у меня вышло 7 входных нейронов, 5 нейронов в скрытом слое и 1 выходной.
Помогите понять правильно ли я выбрал реализацию и еще я буду подавать пока 1 массив данных in = [1, 0, ...] (7 чисел )
Что мне подавать для обучения сети, как она поймет что вычисленное ею число хорошее или плохое?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@rkit а можете привести пример маленький, типа in = [1, 15.1, 65] где 1 - например это группа крови , 15.1 - ослабление иммунитета (утрированно ради примера)  , 14.1 - это например возраст. При таких входных что мне подать чтобы узнать какой % заболеть у человека?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, rkit сказал:

Если человек заболел с такими данными, то 1. Иначе 0.

Мне же и нужно узнать по этим входным данным % с которым он заболел , а дальше делать вывод , если > 50 не заболел <50 заболел иначе возможно заболел .
Вот мне этот момент и не понятен, что  использовать для входных обучающих данных ? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сесть нужно сначала натренировать на известных данных, а потом уже вводить неизвестные и получать проценты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

47 минут назад, rkit сказал:

Сесть нужно сначала натренировать на известных данных, а потом уже вводить неизвестные и получать проценты.

то есть, если брать пример выше, то я должен системе сказать что массиву in-[1,15.1,65] соответствует например 78% , это тогда как будет транспонированный выход выглядеть ? out - [...] ??? какое это будет число соответствующая 78%?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Входному массиву соотвествует выход либо 1 либо 0. Тренировка происходит на ИЗВЕСТНЫХ данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, rkit сказал:

Входному массиву соотвествует выход либо 1 либо 0. Тренировка происходит на ИЗВЕСТНЫХ данных.

Выход зависит от функции активации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для тренировки нейросети вы должны иметь большой массив (тысячи примеров) данных - входные данные и соответствующие им правильные ожидаемые ответы. Затем данный массив (входные данные и ответы) разделяется на три части (обычно что-то такое) : 85 % отводятся для тренировки, 10% для валидации и 5 % для тестирования. Начинаете тренировать нейросеть и раз ,например, в 5 эпох проверять работу нейросети на валидационных данных. Если график валидации перестал улучшаться, значит вы пришли к пределу и , в упрощенном варианте,  далее надо менять либо архитектуру нейросети, либо как-то почистить входные данные (профильтровать, отсеять часто повторяющиеся и т.д.). После того как закончили обучение нейросети подаете на нее данные теста. Это как выпускной экзамен - они покажут насколько хорошо ваша нейросеть будет работать с новыми данными.

Обычно последний слой нейросети - softmax - он выбирает максимальное значение из предыдущего слоя и говорит к какой категории относятся входные данные. Если вам нужны проценты, то надо удалить softmax и оставить данные как есть. Тогда если вы ищите кошечек и собачек, то на выходе у вас будет два выхода, где один будет от 0 до 1 показывать процент кошечек, другой - собачек., например кошки - 0,05 = 5 %, собаки -0,47 = 47 %.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ТС, в какой среде (фреймворке) работаете? Задача типичная, во всех ML-тулкитах (в питоне наверное самый простой будет scikit-learn) есть готовые инструменты. Кстати не факт что нейросеть покажет лучшую точность, вполне вероятно что регрессия или метод опорных векторов справятся лучше. Советую посмотреть примеры и курсы по машинному обучению. Лично мне понравилась документация к Матлабу (у них хороший тулкит для численных данных а не распознавания образов) и курс Andrew Ng. Оба очень простые.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...