Jump to content

    
Kirill106

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
4 минуты назад, rkit сказал:

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

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

Share this post


Link to post
Share on other sites
47 минут назад, rkit сказал:

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

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

Share this post


Link to post
Share on other sites
1 час назад, rkit сказал:

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.