Нейронные сети (быть или не быть - есть спецы?).

gsharov

В общем - зашел в тупик с одной задачкой и думаю - а не в них ли решения поискать Проблема в том, что я знаком с этим понятием только в общих чертах... Итак. Суть задачи заключается в следующем: Есть некоторая функция, скажем... 300 параметров. И есть данные, которые этой функцией должны описываться. Причем есть несколько наборов данных, в которых предположительно меняется только 2 параметра (ну или по крайней мере остальные меняются пренебрежимо мало). Ввиду того, что параметров много (а данных не очень) градиентный спуск не работает. Я вот и думаю - покатит ли применение нейронной сети? Типа обучающее множество я могу сгенерить практически сколь угодно большое... Или я глобально не прав и такие задачи нейронными сетями не решить? Если прав - что порекомендуете почитать, на чем это лучше программировать (мб готовые библиотеки есть какие... и вообще - с какой стороны этот гранит науки грызть ЗЫ. навряд ли это существенно, но задача сводится к определению положения неравномерно отражающего тела и как эта отражающая способность по телу распределена

margadon

а может генными алгоритмами?

gsharov

а может генными алгоритмами?
а это что за зверь?

margadon

ну там долго объяснять, но смысл в том, что ты некоторое множество входов заставляешь меняться (мутировать) и по некоторым законам развиваться, а убиваешь лишние элементы оттуда, согласуясь с некой функцией качества. В результате получаешь входы, на которых функция качества всё выше и выше.
чорд уже поздно, я не уверен что доходчиво объяснил, лучше тебе в инет залезть...

gsharov

уже... В принципе ты доходчиво объяснил Вопрос в том - сработает ли это... ну и потом... гхм.. мне кажется это дольше будет, чем сеть натренировать... Этож почти монте карло получается... в смысле что надо очень много раз просчитать все будет... Кстати - а что насчет либ/прог?
И еще - что считать входным и выходным параметром? Типа выход нужен 1 как я понимаю. значит фазу надо тоже в параметры... бррр... действительно поздно

margadon

что-то при ближайшем рассмотрении я не понял условия задачи, хотя я по сетям уж точно не спец.
ну да ладно
Думаю, нейронными сетями ты можешь разрулить все случаи, где ты заведомо можешь корректно обучить сеть. Однако, если, например, ты ищешь максимум неизвестной функции на некоем множестве, я не уверен, что применение сети тебе вообще чем-то поможет (тебе не на чём будет сеть натаскивать тут как раз вроде рулят генные алгоритмы или simulated annealing для общего случая, когда ничего не известно.
что в твоём случае - не знаю, но фраза про градиентный спуск меня сподвигла написать предыдущий абзац

Papazyan

Нейронные сети для такой фигни и предназначены. Когда влом думать, что из себя представляет функция, а более-менее хорошее приближение иметь хочется.

Papazyan

Генные алгоритмы не гарантируют нахождения максимума, к тому же они тормозные.

margadon

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

mysha

Правильно ли я понял, что стоит задача построения предиката принадлежности данных к чему-то?
Или здесь есть задача приближения функции и поиска в ней минимума?
Или еще как-то можно описывать данные функцией?

Ivan8209

> Ввиду того, что параметров много (а данных не очень) градиентный спуск не работает.
Умные люди советуют использовать неградиентные методы:
Нелдера---Мида для не(очень)больших размерностей
и Хука---Дживса для очень больших.
> ЗЫ. навряд ли это существенно, но задача сводится
Все задачи можно свести к оптимизационным.
Например, вычисление квадратного корня можно свести к поиску минимума f(x) = (x^2 - a)^2.
---
...Я работаю антинаучным аферистом...

Helga87

Все задачи можно свести к оптимизационным

Наглая ложь.

gopnik1994

просто имхо у Контры очень специфические задачи все...
типа "сферического коня в вакууме"
оттуда же кстати получается и что лисп - вершина эволюции ЯП

Papazyan

оттуда же кстати получается и что лисп - вершина эволюции Я
Не вершина, но что-то к ней весьма близкое.

Helga87

Вершина эволюции — это то, к чему пришли в результате эволюции. Лисп же один из первых языков программирования, строился с нуля. Он лежит в основании эволюции, а не является ее вершиной.

Varvara2002

Попробуй спросить на форуме тут http://basegroup.ru
Может что подскажут.

Ivan8209

> оттуда же кстати получается и что лисп - вершина эволюции ЯП
Это у тебя так получается.
---
"Narrowness of experience leads to narrowness of imagination."

Papazyan

Вершина эволюции — это то, к чему пришли в результате эволюции. Лисп же один из первых языков программирования, строился с нуля. Он лежит в основании эволюции, а не является ее вершиной.
Это бред. Лисп - это не язык типа С, у него было множество различных реализаций, которые постепенно улучшались. Современную форму Лисп приобрел только в 80-х годах. И это не говоря о том, что Scheme, которая больше соответствуют моему пониманию идеального Лиспа, развивается до сих пор.
Ну и чтобы два раза не бегать, скажи мне какие такие прогрессивные черты приобрели Algol descendant языки в процессе эволюции, которых нет в Лиспе.

Ivan8209

Где и в чём?
Уже давно не новость, что все законы природы можно выразить в виде оптимальных принципов.
Ты лучше бы подумал над тем, что решение твоей задачи сводится к какой-нибудь системе диффуров.
---
"Математик может говорить, что ему хочется,
но физик должен, хотя бы в какой-то мере, быть в здравом рассудке."

gsharov

Ясно что сводится блин К дифурам она никаким хреном не сведется Потому что все чисто геометрически. А насчет прав или нет - я имел ввиду то, что существуют неградиентные алгоритмы, способные найти экстремум (не локальный) функции 300 переменных

Ivan8209

У тебя на функцию есть какие-то разумные ограничения?
По большому счёту, глобальный оптимум можно искать точно так же, как и в жизни,---
случайно тыкаясь в разные стороны.
Одна из разновидностей этого называется "simulated annealing."
Разумеется, никто не мешает тебе приделать это прокаливание к более рабочим средствам,
тем же Нелдеру---Миду или Хуку---Дживсу.
На самом деле, если у тебя область определения ограничена,
можно строить выпуклую огибающую.
Так тоже делают.
Но я не пробовал, поэтому ничего больше не скажу --- ищи сам.
---
...Я работаю антинаучным аферистом...
Оставить комментарий
Имя или ник:
Комментарий: