@Atlant77

Каким должен быть ответ нейронной сети (выходные данные)?

Здравствуйте, подскажите пожалуйста, смотрел разные примеры нейронных сетей, в них как правило выходные данные это ДА (1) или НЕТ (0), ну или 1 и -1, а вот допустим если я хочу предсказывать температуру на улице, или курсы валют, т.е. я должен получать какое то конкретное значение, допустим сегодня 20 градусов, а завтра должно быть 24 и мне надо что бы нейросеть мне как раз вернула эти 24 градуса.

Правильно я понимаю что я в качестве параметров подаю данные типа t, t-1, t-2, t-3 t-n в нормализованном виде, а в качестве ответа я должен получать t+1.

Еще глупый вопрос из предыдущего вопроса, ответ же тоже должен быть в нормализованном виде? который мне потом надо переводить в нормальный вид?

И вопрос, если я получаю не один ответ а допустим на 3 дней, т.е. 3 выходных параметра t+1, t+2, t+3, я где то читал что лучше если сеть дает один ответ, а когда много она работает хуже, так ли это?

Можно только пожалуйста простым языком, на пальцах. Большое спасибо.
  • Вопрос задан
  • 759 просмотров
Пригласить эксперта
Ответы на вопрос 3
@dmshar
И как же народу задурили голову нейросетями.
Задача, которую вы описали - предсказание значения температуры, например - вполне спокойно решается гораздо более "человеческими" методами, в частности - в классическом анализе временнЫх рядов.
Совет - начните изучение ML - с начала (с вероятности, анализа гипотез, регрессии и пр.), а не с конца (нейросетей и Deep Learning).
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
Летит самолет Аэрофлота.
Стюардесса спрашивает пассажира: - Кушать будете?
Тот: - А какой у меня выбор?
Та: - Да или нет!


у вас каша в голове, начните с, хотя бы, такого (не помню, есть там про автоматы или не, но хоть что-то)

нужно понимать, а не зубрить, ну куда это годится:
лучше если сеть дает один ответ, а когда много она работает хуже, так ли это?


все, что делает сеть - это сообщает вероятность определенного события:
вы: будет температура 24 градуса завтра?
сеть: да

вы: в чем разница между уткой
сеть: ...
Ответ написан
Комментировать
@ivodopyanov
NLP, python, numpy, tensorflow
1. Диапазон выходного значения зависит от функции активации на выходе. Если нам нужно бинарное значение 0/1 - используют sigm. Если надо неотрицательное (когда кодируем цвет, например) - используют relu. Если надо просто вещественное - то никакой функции активации не надо. Если нужно вещественное в каком-то диапазоне (например, -50/+50) - можно попробовать tanh и просто дополнительно домножать его на 50.

2. Нормализация данных бывает полезна, но не обязательна. В случае с температурой можно, например, попробовать задавать не абсолютные значения, а относительные - как она изменилась по сравнению с предыдущим днём.

3. Для работы с последовательностью данных (t-3, t-2, ...) обычно используют конкретную архитектуру нейронных сетей - рекуррентные нейронные сети, которые для каждого нового t перевычисляют у себя какое-то внутреннее состояние и выдают новое значение исходя из этого состояния и входного значения. Самое простое, что можно сделать, чтобы такая сеть выдавала несколько предсказаний t+1,t+2,t+3 - это попробовать подать ей на вход пустые t,t+1,t+2. Хотя не факт, что получится. Обычно, чтобы из последовательности данных сгенерить другую последовательность, используют архитектуру sequence-to-sequence, seq2seq.

4. Чем больше вариативность выходных данных; чем сложнее функция, которую надо обучиться нейронной сети - тем, разумеется, сложнее\дольше\менее точно будет происходить само обучение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы