Есть среди ваших Delphi компонентов позволяющие построить PNN (probabilistic NN)?
Нейронные сети - математический аппарат
Описание принципов работы нейронных сетей и способа их обучения при помощи алгоритма обратного распространения ошибки. Способы представления входных данных.
Читайте статью Нейронные сети - математический аппарат 
Обсуждение: Нейронные сети -- математический аппарат
в формуле 5 написано
E(w)=1/2Summ(yi-di)^2
т.е.
E(Y) = 1/2Summ(yi-di)^2
т.е. частная производная
dE(Y)/dyi = (yi-di)yi
причем здесь тогда формула 9 ??
никак не понимаю, объясните плз
Max
16-11-2007
Обсуждение: Нейронные сети -- математический аппарат
Вот программку для тестирования нейросетей я сделал. А кто нибудь знает, где в интернете можно какие нибудь примеры данных найти (в .XLS, .TXT). Или пришлите, кому не жалко :)
Желательно в виде:
вход1 вход2 ... входX выход1 выход2 ... выходY
вход1 вход2 ... входX выход1 выход2 ... выходY
вход1 вход2 ... входX выход1 выход2 ... выходY
...
Andrej
11-07-2007
В этом году уже 3 раза отвечал на этот вопрос. Читайте форум
Victor G. Tsaregorodtsev
14-07-2007
Большое спасибо.
http://forum.basegroup.ru/print_branch.php?id=6991
Andrej
15-07-2007
Обсуждение: Нейронные сети -- математический аппарат
на рисунке 3 указана функция F .Чему равна переменнаяконстанта e?
Икари Синдзи
13-05-2007
~2,718281828459045 ^_^
Аянами Рэй
15-06-2007
e=lim((1+1/t)в_степени t) t->к_бесконечности ^_^
Аска Лангли
15-06-2007
Обсуждение: Нейронные сети -- математический аппарат
Здравствуйте! Меня интересует мнение специалиста. Я анализирую експ.-имп. тенденции. У этого процесса ярко выраженная сезонность длиной в 12 мес. Причем флуктуации всех периодов, за исключением летних месяцев (высокий скачок вверх) и сентября (резкий скачок вниз приблизительно равный летнему подъему), незначительная. При прогнозе я использовал синусоиду как активационную функцию. Насколько я понимаю, то для периодов которым характерны резкие изменения надо увеличивать степень крутизны активационной функции, и наоборот для «стандартных» периодов уменьшить?
Заранее благодарен за помощь.
Станислав
11-06-2007
Обсуждение: Нейронные сети -- математический аппарат
Где-то прочитала, что существуют сети без весов связей ".... Любую сеть можно превратить в сеть без весов связей заменой всех синапсов на умножители..." А подробнее нигде не могу найти! Может быть кто-нибудь знает? Спасибо!
Евгения
27-04-2007
А что такое синапс, как не умножитель? :)
В общем, непонятное утверждение...
Victor G. Tsaregorodtsev
27-04-2007
Это последний абзац раздела 5.1.5. из небезызвестной Вам работы Миркеса Нейрокомпьютер: Проект стандарта...
Может я что-то не так поняла? :-)
Евгения
07-05-2007
Ну, вот и стало ясно, где это написано :)
В общем, описана там реально ненужная вещь: "заменой синапсов на умножители... ....вместо весов связей будут использоваться сигналы". Т.е. вместо субъективно "привязанного" к синапсу веса будет использоваться некоторый "внешний" адаптируемый сигнал, на который умножитель домножит проходящий по сети сигнал - абстрактно этот внешний сигнал можно "отцепить" от синапса и вывести "за границы" сети. Ничего не меняется - ни функционирование сети, ни алгоритмы обучения, меняется только абстракция.
Victor G. Tsaregorodtsev
07-05-2007
Обсуждение: Нейронные сети -- математический аппарат
Народ подскажите где можно найти информацию по сетям delta bar delta и extended delta bar delta.
Павел
30-04-2007
Обсуждение: Нейронные сети -- математический аппарат
Добрый день/вечер/ночь :)
Мне нужна помощь знающих людей, потому что я уже окончательно запуталась :(
Я создала нейронную сеть с обратным распространением ошибки для распознавания цифр (0-9) 100*7*10 (количество нейронов по слоям). При создании ориентировалась на книгу Р. Каллана. Проблема в том, что она как-то неправильно работает, а я не могу понять в чем причина.
1. Когда я обучаю на наборе тестов для одного символа, например "3", она обучается и потом распознает символы и тестовой выборки. Но когда я добавляю следующие символы - все перестает работать. При максимуме символов, от 0 до 9, после окончания обучения 1000 эпох у меня все ошибки на выходах очень малы, а значения самих выходов равны где-то по 0.1. Может я неправильно обучаю?
2. Насчет обучения. Мне известна формула для определения количество образцов в обучающей выборке как кол_тестов > 2*кол-весов +1. У меня количество весов = 800. Это значит, что у меня должно быть порядка 1600 различных образцов написания всех цифр??? Но в той же книжке Каллана описан пример обучения цифр, и там написано об 1 серии образцов - то есть всего 10 примеров - по 1 для каждой цифры. Либо там что-то не описано, либо я неправильно понимаю :(
3. Еще вопрос по самой теории сетей. Я перестала понимать как они обучаются :((( Когда я даю примеры для одной цифры, там понятно, мы подстраиваем веса, чтобы на нужном нам выходе был максимум, а на остальных - минимум... Но когда мы подключаем следующее изображение, мы получается подстраиваем веса для максимума на другом выходе и минимума на остальных. Но ведь это убирает результаты предыдущего опыта....
Я запуталась, помогите плиз... для меня это сейчас очень важно...
Alexandra
17-11-2006
3. В том и идея НС, что каждый вес немного отвечает за все образцы.
Попробуйте сети Хопфилда из книжки Каллана. Их и обучать не надо.
Sevolod
26-11-2006
>после окончания обучения 1000 эпох у меня все ошибки на выходах очень малы, а значения самих выходов равны где-то по 0.1. Может я неправильно обучаю?
Ошибка где-то в расчете величины ошибки :) Пусть выход сети для правильной цифры равен 0.1, а для остальных -0.1 Если 10 выходов и считается квадратичное значение ошибки всей сети, то при эталонных кодах -1 и 1 величина ошибки должна быть порядка (1-0.1)^2+9*(-1+0.1)^2 = 0.8, т.е. ошибка совсем не маленькая. При модульной ошибке будет |1-0.1|+9*|-1+0.1|=0.9.
Т.е. и суммарная ошибка всей сети по 10 выходам (выходным нейронам) получается порядка 0.8-:-0.9, и ошибка каждого нейрона будет тоже этого же порядка (если выход нейрона 0.1, а нужный код - единица, то разность равна 0.9, а квадрат разности - 0.81).
>Мне известна формула для определения количество образцов в обучающей выборке
Формулу в морг однозначно, она оценивает погоду на луне. Да, по правилам статистического хорошего тона выборка должна быть представительной и именно такого большого размера, но в жизни часто всё бывает гораздо оптимистичнее. Хотя, при значительном числе классов я бы либо действительно перестраховывался в сторону указанного числа примеров, либо строил зависимость качества обобщения (распознавания примеров независимой тестовой выборки) от числа примеров в обучающей выборке для определения момента выхода на асимптоту точности (т.е. пока качество обобщения улучшается - обучающую выборку наращиваем). Хотя, в последнем случае многое и от размера сети зависит.
> Но ведь это убирает результаты предыдущего опыта....
Вы плохо осмыслили формулы. Сетка обучается градиентным алгоритмом - при заданных значениях на входе сети и заданном выходе сети значения производных функции критерия по весам синапсов будут отличаться между собой, т.е. одни синапсы обучаются "больше", другие "меньше". И для нового изображения (опыта, примера, паттерна) производные будут другими и сильнее будут обучаться иные по сравнению с предыдущим случаем синапсы - а синапсы, в основном и определяющие правило решения на предыдущем случае, останутся почти незатронутыми. Это так, на пальцах объяснение - конечно, могут быть и ситуации лебедя-рака-щуки, но в конце концов сетка должна вытянуть свои синапсы в нужную сторону, обеспечивающую правильное решение многих примеров. Тут, конечно, сильна еще и зависимость от величины коэффициента обучения.
Victor G. Tsaregorodtsev
27-11-2006
Если я правильно понял, вы и впрямь запутались :-))
>Но ведь это убирает результаты предыдущего опыта....
ОДИН цикл обучения заключается в последовательном прогоне всех примеров.. то есть мы делаем по одному маленькому шажочку в сторону каждого примера.. таким образом рано или поздно занимаем положение, которое одинаково близко ко всем примерам :-)) Я достаточно ясно выразился?
С ув., АК
Алексей
18-02-2007
Обсуждение: Нейронные сети -- математический аппарат
Здравствуйте!
У меня небольшой вопрос о пороговой функции S нейрона.
Коэффициенты wi - это целые числа, действительные числа, возможны какие-то другие варианты?
Если в разных нейронных сетях по-разному, то классифицируются ли как-то нейронные сети по этому признаку? Заранее спасибо.
Андрей
02-01-2007
Обсуждение: Нейронные сети -- математический аппарат
Добрый вечер всем помогите мне пож с вопросом если критерии по которуму выбирают количество слоев в НС срочно нужно
aska
03-12-2006
Использование более одного скрытого слоя в MLP не имеет никакого смысла, а только добавляет совершенно ненужные и усложняющие оптимизацию нелинейности.
Jericho
04-12-2006
А ваш ник, это из Neon Genesis? :)
Jericho
04-12-2006
Обсуждение: Нейронные сети -- математический аппарат
Не могу понять, почему Neural Network Визард игнорирует знак. При подаче отрицательных данных на сетку он их почему-то берет по модулю. При этом после обучения выдает правильные ответы по модулю, знака же опять нет. Это связано с работой Визарда или с чем-то ещё? Как с этим бороться?
Sofa
29-10-2006
Обсуждение: Нейронные сети -- математический аппарат
Возник вопрос следующего плана:
каким образом корректируются синапсы?
хотелось бы поподробнее разобрать их структуру.
т.е. синапс для каждого нейрона только один и он относится ко всем его входам, или же для каждого входа нейрона назначается свой вес синапсов.
из формулы S = Exi*wi где xi - значение i-го входа wi - вес i-го входа
можно сделать вывод что синапс для каждого входа индивидуален,
но из формулы корректировки синапса видно, что корректировка идет для слоя целиком, начиная от выходного слоя.
объясните пожалуйста подробнее принцип корректировки синапсов
AlexSidd
10-11-2005
Обсуждение: Нейронные сети -- математический аппарат
Использую 3-х слойную сеть обратного распространения 25-25-7 нейронов. Пытаюсь разделить исходные данные на классы. Но при обучении у меня только два выхода выдают "1"/"0", все остальные "зависают" около "0". Какие вообще есть особенности в обучении таких многовыходных сеток?
al_mt
08-11-2005
Вы для начала попробуйте обучить 7 сетей с одним выходом. Если ситуация повториться, то проблема не в многовыходной сети. А еще лучше обучить ряд сетей использую принцип дихотомии. Первая сеть относит пример к классам 1-3 или 4-7. Вторая сеть, зная заранее, что пример относится к классам 1-3, относит пример к 1 или 2-3. Третья сеть, зная заранее, что пример относится к классам 4-7, относит пример к 4-5 или 6-7. И так далее уточняя решение до номера конкретного класса. Идея понятна?
supremum
09-11-2005
Обсуждение: Нейронные сети -- математический аппарат
В статье "Нейронные сети -- математический аппарат" вопрос по формуле 13.1 Насколько я понял мы просто увеличиваем величину коррекции на значение инерции, равное величине предыдущей коррекции умноженной на коэффициент "мю"? А "мю" откуда берём? Константа с потолка?
al_mt
23-09-2005
Обсуждение: Нейронные сети -- математический аппарат
Кажется начало получаться :) Но сеточка ведёт себя несколько странно: у меня 2 слоя, 1- слой 121 - нейрона (11Х11), второй слой - 1 нейрон. При обучении индицирую веса выходного нейрона в табличку 11 на 11. Так вот - входы с 0-го по 65-й ведут себя как и ожидалось - сначала бегают, потом бегают медленнее и в конце-концов устаканиваются на неких значениях. А вот веса с 66-го по 120-й с ума сходят. При любой скорости обучения постоянно меняются независимо от числа эпох обучения. В чём может быть причина интересно?
А с проблемой "производной единицы" справился так: проверяю входы и выходы. Если вход = 0, то делаем его 0.00001, если 1, то 0.99999 Точно так же обходимся и с выходами..
al_mt
07-09-2005
Обсуждение: Нейронные сети -- математический аппарат
Дилетантский вопрос. Функция вычисления ошибки Error:= (Выход - То_что_должно_быть_на_выходе)*Выход*Alpha*(1 - Выход). Но тогда получается, что если на выходе нейрона "1", то ошибка всегда равна НУЛЮ!!?!?!?!?!??!?!?
Или у меня "с лыжами", что-то не так?
al_mt
02-09-2005
А постройте график для сигмоидной нелинейной функции нейрона, производную которой вписали в уравнение, и увидите, что для приближения выхода нейрона к 1 на вход сигмоиды должен быть подан очень и очень значительный сигнал (результат суммирования с весами всех пришедших на нейрон входных сигналов). Так что модуль разницы "1-Выход" в реальности (да и то только на одном из примеров обучающей выборки, а не на всей выборке) обычно не снижается ниже величин порядка 0.001-0.0001 (да и незачем еще сильнее снижать - но это уже другой вопрос, требующий отдельного длинного текста для пояснения этого моего мнения), так что о нулевой ошибке можно не беспокоиться.
Да и в обучающей выборке есть и другие примеры, которым требуется другое значение выхода у этого нейрона, так что даже при Выход=1 у одного примера полного паралича процесса обучения не наступит - сетка будет учиться другим примерам, а этот пример посчитает доученным, что будет логично.
Victor G. Tsaregorodtsev
02-09-2005
Здравствуйте. Ответьте, пожалуйста, откуда Вы взяли эту формулу для расчета ошибки? В статье "Нейронные сети - математический аппарат" такой формулы нет...
Сергей Ларин
02-09-2005
Формула соответствует куску dE/dy*dy/dS формул 7,9 статьи. Ну или формуле 12.
Что-то Вы невнимательны ;)
Victor G. Tsaregorodtsev
03-09-2005
...для расчета ОШИБКИ?
Сергей Ларин
03-09-2005
Ну, поскольку метод называется back propagation of error = метод обратного распространения ошибки, то очень часто проходящие по сети в обратном направлении сигналы именуют именно как "ошибки", не разделяя компоненты градиента (поправки) и промежуточные сигналы обратного распространения (как, например, производную на входе нелинейной функции нейрона), а невязку (ошибку) на выходе сети называют значением целевой функции = cost function или тоже ошибкой. В общем, тут скорее проявила себя терминологическая путаница перевода разными людьми английских терминов по-разному.
Просто если обращать внимание на термины, то действительно сложно было бы связать приведенную вопрошающим формулу и процитированную статью - я при ответе просто пропустил не сильно удачную терминологию вопроса и ответил по существу формулы, проинтерпретировав ее по тексту статьи. Потому что если бы прицепился к словам, то в ответ могли бы кинуть цитату из другого источника, где это называлось бы именно ошибкой - и что, друг друга цитатами закидивать для выработки консенсуса по терминологии? :)
Victor G. Tsaregorodtsev
05-09-2005
Так то оно так. Но у меня происходит следующее. Должно быть "0", а сетка выдаёт "1". В результате - (1-0)*1*(1-1) = 0
Получаем нулевую ошибку и обучения не происходит :))))))))))
Я правда не Вашей библиотекой пользовался (она под Delphi 7 категорически вылетает с AccessViolation при попытке сохранить сетку в файл :((( ), а сам писал, но не может же быть, чтобы такая ситуация не учитывалась! Я про единицу на выходе нейросети...
al_mt
05-09-2005
Обсуждение: Нейронные сети -- математический аппарат
Потихоньку начинаю понимать принципы работы нейронных сетей, однако не могу понять как устанавливаются начальные значения весов W и по какому принципу в последующем корректируются. Кто-нибудь помогите ссылкой или ответом. Спасибо.
Anton
13-07-2005
Обсуждение: Нейронные сети - математический...
Bibitem #2 is now either "Matrix ANN" or
"Matrix Techniques in Artificial Neural Networks"
Version 1.22 and above are good; prior ones may
contain errors I am not particularly proud of ;-)
Available by email request.
R. M. Hristev
18-06-2001



новое сообщение
карта форума
правила форума
обратная связь
