![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#31 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Простейший?
Было: (1,3), (2,5) Тейлор, коэффициенты: 0-й - (1,3), 1-й - (1,2), 2-й и последующие - (0,0) - просто потому, что по имеющимся данным их оценить невозможно. Если считать, что отсчеты равноудалены, то: Прогноз: (3,7). Но все-таки хотелось бы увидеть непротиворечивую постановку задачи. |
![]() |
![]() |
![]() |
#32 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
Давайте так. Если это показатели с прибора, то их следует сгладить, т.к. шум.
//Данные пришедшие с прибора x = realX + noise y = realY + noise также вы утверждаете что x частично зависит от y, т.е. x = f(y, a), где а другие параметры от которых зависит x т.к. a нам неизвестен, то положим что a = {x[-1], x[-2], ... ,x[-n]}, т.е. x зависит от y, и предыдущих значений x. Задача найти f(y, a). Первый параметр нам неизвестен, но его можно предсказать, т.е. если y принадлежит [u,w], то бьем этот интервал на n под интервалов, чем больше, тем точнее результат. Затем вычисляете кол-во попаданий y в каждый из интервалов, потом эти количества делите на кол-во совершенных проверок и получаете вероятность попадания y в интервалы. Т.е. по сути получаете распределение вероятностей независимой случайной величины y. Далее используя эти вероятности и ГСЧ с равномерным распределением вычисляете y, за y возьмите середину интервала. Если использовать НС, то этих рассуждений будет достаточно. Создаем многослойный персептрон с n+1 входами и m выходов, где m кол-во значений, которые хотите предсказать. Три скрытых слоя, в которых кол-во нейронов в первом слое меньше чем во втором, а во втором больше чем в третьем. Обучаете сеть. Пользуетесь ею. Также можно попробовать на вход сети подать и предыдущие значения y, хотя они и так включены в предыдущие x, если зависимость действительно существует. Также если y зависимая величина, то ее можно попробовать просто выкинуть из уравнения и использовать только предыдущие значения x. Но в таком случае если x существенно зависит от y, то из этого вряд ли что хорошего получится. Ах, да, чуть не забыл. Вы должны заключить f(y, a) в гиперкуб. Т.к. нейроны могут возвращать значения (-1,1)(если используете гиперболический тангенс), значит все входные значения вы должны заключить в интервал (-1,1). Чтобы получить реальные значения x на выходе сети, просто проделайте обратное преобразование, которое будете проделывать над x, при подаче их сети. Как-то так =) |
![]() |
![]() |
![]() |
#33 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]()
Ок. Спасибо. Буду разбираться ..
![]()
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
![]() |
![]() |
![]() |
#34 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]()
Возвращаюсь к теме... Вроде разобрался. Построил сеть. обучил.. но с результатами пляски какие то ... Поэтому хочу спросить еще пару вопросов.
1) По какой такой хитрой формуле производить трансформацию данных в промежуток от -1 до 1. Я так понял что нейросеть работает с числами в этом промежутке. 2) Существует ли алгоритм выбора оптимального количества слоев и нейронов в слоях сети?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
![]() |
![]() |
![]() |
#35 |
МегаМодератор
СуперМодератор
Регистрация: 27.11.2012
Сообщений: 5,714
|
![]()
1) Ищите "сжимающие функции" (например, логистическая)
Желательно чтобы данные эффективно попадали на сжимаемый интервал (коэффициенты нужно подбирать - смотрите на график функции - где там у нее "подвижная" область) 2) Если абстрагироваться от конкретной задачи (черный ящик), то можно попробовать рандомить количество слоев и нейронов и тестировать выбирая оптимальные по обучаемости (можно и генетический алгоритм, только не ругайтесь сильно). Ну еще можно делением пополам попробовать подобрать число нейронов (по всей или в каждом слое).
Благими намерениями устлана дорога на programmersforum.ru
|
![]() |
![]() |
![]() |
#36 | ||
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#37 | |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]() Цитата:
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
|
![]() |
![]() |
![]() |
#38 |
МегаМодератор
СуперМодератор
Регистрация: 27.11.2012
Сообщений: 5,714
|
![]()
Брутфорсить надо. Но тупо подобрать методом проб и ошибок не так-то и просто.
Лучше в рандомный генератор поместить в тестирующую оболочку и на ночь оставить ![]() Очень важны правильные соотношения коэффициентов в функциях с количествами нейронов и диапазонами весов.
Благими намерениями устлана дорога на programmersforum.ru
|
![]() |
![]() |
![]() |
#39 | ||
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]() Цитата:
Цитата:
На счет преобразования: x принадлежит [a,b], b > a, нужно преобразовать x так, чтобы он принадлежал [0,1]. x' = (x - a) / (b-a) x = x' * (b-a) + a чтобы принадлежал [-1,1] x' = (x - (b-a)/2 - a) / ((b-a)/2) x = x' * ((b-a)/2) + (b-a)/2 + a Вроде не наврал =) Посмотрите в "Нейронные сети полный курс" теорему об универсальной аппроксимации (гл. 4). Да и др. пункты данной главы, там есть ответы на многие вопросы. Последний раз редактировалось Kostia; 17.12.2012 в 18:00. |
||
![]() |
![]() |
![]() |
#40 | |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]() Цитата:
Спасибо.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Анализ IP-адресов | ConstantinPerm | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 07.12.2012 14:44 |
Анализ ПО | ImmortalAlexSan | Свободное общение | 14 | 27.11.2011 23:56 |
Корреляционный анализ | danilnv | C++ Builder | 0 | 23.11.2011 12:59 |
Анализ графика | lichnost | Помощь студентам | 6 | 02.04.2010 13:24 |
Анализ текста | GonZaleZ | Общие вопросы C/C++ | 11 | 16.09.2009 23:31 |