Как осуществлять подача буквенных данных в нейронную сеть?
День добрый!
Во входные нейроны ИНС(GRNN) необходимо подать названия городов.
Как это сделать, ведь нельзя просто сообщить id данного города, или его названия.
Заранее спасибо.
@JilkaVaSe Небольшие дискретные величины, порядка 10 можно представлять в виде кода 001000, где единичка стоит на месте с соответствующим номером. Если рассматривать сотни городов, то может стоит попробовать географические координаты?
@JilkaVaSe Снова перцепетроны считаются панацей. Лучше изучайте метеорологию и используйте правильные методы, нежели непонятные нейронные сети.
В кратце: нам нужна банальная функция температуры от даты, влажности и давления. Впрочем, метеорологи используют данные с сотни беспилотников и автономных датчиков, спутников и тысячи человекочасов. А результат до сих пор оставляет желать лучшего. Да, там используются нейронные сети, но это скорее игрушка. Дело в том, что нейронные сети хорошо запоминают и умеют искать связи. Метеорология - это пачка толстых формул и сильный датамайнинг, здесь не надо запоминать или искать скрытые связи - они никак не скрыты.
Пример: если в Архангельске сыро и очень холодно, а давление очень высокое, тогда как в Питере тепло, 70% влажность и очень низкое давление... То скоро в Питере пойдёт дождь и резко похолодает. Почему? Воздух под давлением кинется из Архангельска в Питер и холодная влага понёсётся охлаждать ленинградский воздух. Влажный питерский воздух сконденсирует и выпадет в осадках.
Можно попытаться грубой силой научить нейронную сеть давать отдалённые прогнозы. Свзязь для человека довольно простая и можно заготовить пачку формул, чтобы к этому прийти перцепетрону проще нейронного столба муравья потребуется много, очень много данных и огромные мощности.
@JilkaVaSe В таком случае названия городов 100% не нужны. Более того идентификаторы тоже не нужны. Все равно вам придется передавать данные по всем городам за 1 раз. Данные по городу будут просто соответствовать подмножеству входов.
@JilkaVaSe окей, тогда названия лучше заминенить числами: их нейронная сеть лучше пережёвывает. А ещё лучше - координаты: Вам в любом случае потребуется как-то вводить расстояния, координаты сами всё сделают и сеть, возможно, станет чуть умнее. Так что @tsarevfs в чём-то прав.
И да, я предупреждал, что это будет долго. 720+ входов? Их будет тысячи, тысячи нейронов, миллионы связей. На обучение уйдут месяцы, годы даже на Core i7 @ 5 GHz 8 threads 128 GB RAM (на другом железе просто работать не будет), прогнозирование на пару дней потребует недели. Оптимизация стащит настолько важную точность, а то и работоспособность.
Говорю по опыту, бросайте это дело. В крайнем случае, можно поискать другие задачи нейронным сетям - восстановление повреждённого/зашумлённого видео, фото, решение оптимизационных задач, узкий датамайнинг. В общем, что-нибудь, где небольшой перцепетрон способен как-то себя показать.
@JilkaVaSe вы можете попробовать упростить задачу. Для начала постройте сеть предсказывабщую погоду на следующий день в одном городе по 5-7 точкам на карте. Тогда, если погода в городе будет описываться, скажем 10 входами, получается сеть с 7*10=70 входами и 10 выходами.