Kirill106 0 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба Здравствуйте, помогите мне понять!Начал изучение нейронных сетей, после чего мне дали задачу - реализация прогнозной модели возникновение нарушения на производстве (python). Есть входные данные (7 чисел) ,как я понял это будет задача классификации и будет реализован метод обратного распространения. В построении структуры нейронной сети у меня вышло 7 входных нейронов, 5 нейронов в скрытом слое и 1 выходной.Помогите понять правильно ли я выбрал реализацию и еще я буду подавать пока 1 массив данных in = [1, 0, ...] (7 чисел )Что мне подавать для обучения сети, как она поймет что вычисленное ею число хорошее или плохое? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 1 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба Подавать тренировочные данные, собранные или сгенерированные тобой же. И правильный ответ должен предоставить ты, разумеется. Или вообще не ищи по ключу, а сделай один проход, и замени его на указатели прямо на переменную, если это возможно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kirill106 0 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба @rkit а можете привести пример маленький, типа in = [1, 15.1, 65] где 1 - например это группа крови , 15.1 - ослабление иммунитета (утрированно ради примера) , 14.1 - это например возраст. При таких входных что мне подать чтобы узнать какой % заболеть у человека? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 1 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба Если человек заболел с такими данными, то 1. Иначе 0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kirill106 0 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба 4 минуты назад, rkit сказал: Если человек заболел с такими данными, то 1. Иначе 0. Мне же и нужно узнать по этим входным данным % с которым он заболел , а дальше делать вывод , если > 50 не заболел <50 заболел иначе возможно заболел . Вот мне этот момент и не понятен, что использовать для входных обучающих данных ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 1 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба Сесть нужно сначала натренировать на известных данных, а потом уже вводить неизвестные и получать проценты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kirill106 0 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба 47 минут назад, rkit сказал: Сесть нужно сначала натренировать на известных данных, а потом уже вводить неизвестные и получать проценты. то есть, если брать пример выше, то я должен системе сказать что массиву in-[1,15.1,65] соответствует например 78% , это тогда как будет транспонированный выход выглядеть ? out - [...] ??? какое это будет число соответствующая 78%? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 1 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба Входному массиву соотвествует выход либо 1 либо 0. Тренировка происходит на ИЗВЕСТНЫХ данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yamantau 15 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба 1 час назад, rkit сказал: Входному массиву соотвествует выход либо 1 либо 0. Тренировка происходит на ИЗВЕСТНЫХ данных. Выход зависит от функции активации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Skryppy 0 16 апреля, 2021 Опубликовано 16 апреля, 2021 · Жалоба Для тренировки нейросети вы должны иметь большой массив (тысячи примеров) данных - входные данные и соответствующие им правильные ожидаемые ответы. Затем данный массив (входные данные и ответы) разделяется на три части (обычно что-то такое) : 85 % отводятся для тренировки, 10% для валидации и 5 % для тестирования. Начинаете тренировать нейросеть и раз ,например, в 5 эпох проверять работу нейросети на валидационных данных. Если график валидации перестал улучшаться, значит вы пришли к пределу и , в упрощенном варианте, далее надо менять либо архитектуру нейросети, либо как-то почистить входные данные (профильтровать, отсеять часто повторяющиеся и т.д.). После того как закончили обучение нейросети подаете на нее данные теста. Это как выпускной экзамен - они покажут насколько хорошо ваша нейросеть будет работать с новыми данными. Обычно последний слой нейросети - softmax - он выбирает максимальное значение из предыдущего слоя и говорит к какой категории относятся входные данные. Если вам нужны проценты, то надо удалить softmax и оставить данные как есть. Тогда если вы ищите кошечек и собачек, то на выходе у вас будет два выхода, где один будет от 0 до 1 показывать процент кошечек, другой - собачек., например кошки - 0,05 = 5 %, собаки -0,47 = 47 %. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
count_enable 0 21 апреля, 2021 Опубликовано 21 апреля, 2021 · Жалоба ТС, в какой среде (фреймворке) работаете? Задача типичная, во всех ML-тулкитах (в питоне наверное самый простой будет scikit-learn) есть готовые инструменты. Кстати не факт что нейросеть покажет лучшую точность, вполне вероятно что регрессия или метод опорных векторов справятся лучше. Советую посмотреть примеры и курсы по машинному обучению. Лично мне понравилась документация к Матлабу (у них хороший тулкит для численных данных а не распознавания образов) и курс Andrew Ng. Оба очень простые. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться