|
|
|
|
Рейтинг 4.66/88:
|
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
||||||||||||||||
Простейшая нейронная сеть для аппроксимации параболы08.05.2019, 16:18. Показов 21201. Ответов 229
Метки нет (Все метки)
Пробую написать свою первую нс из двух нейронов. На выходе простой сумматор.
http://images.vfl.ru/ii/155731... 2257_m.png Задаю значения х = [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9] и по ним получаю y = (2*x-1)^2 + 0.1 см график ниже http://images.vfl.ru/ii/155731... 2396_m.png у - это зеленый точки (соединенные просто для понимания) синими линиями. y = [0,74 0,46 0,26 0,14 0,1 0,14 0,26 0,46 0,74]. Исходные значения х и y задаю в квадрате 0-1 чтобы избавиться от нужды в нормализации. Голубая линия - это выход сети (его обозначаю в дальнейшем y1), который получаю так: сначала задаю случайные веса от -0.5 до 0.5: w = rand(6,1)-0.5; и по ним вычисляю выход сети: y1 = ynet(x, w); (код на матлабе специально писал предельно просто, развернуто, без матриц)
http://images.vfl.ru/ii/155731... 2684_m.png Пробую это делать тремя способами и ни один не работает и не понимаю почему. Способ 1. Нахожу производную от ф-ции ошибки сети по весам (как по формулам приведенным на рис выше) и соответственно ей изменяю веса (w1 = w - a*dE; w = w1)
http://images.vfl.ru/ii/155732... 2811_m.png В чем тут дело? В чем ошибка? Через десяток итераций сеть перестает обучаться. Способ 2. Меняю веса по градиенту Е, но вычисленному после каждого x(i) и y(i), но результат такой же, похожий Способ 3. Меняю веса через вычисление обратного распространения ошибки
0
|
||||||||||||||||
| 08.05.2019, 16:18 | |
|
Ответы с готовыми решениями:
229
Нейронная сеть для аппроксимации Нейронная сеть для функции Не работающая нейронная сеть для xor |
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 06.10.2019, 23:52 | ||
|
0
|
||
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
||||
| 07.10.2019, 13:52 [ТС] | ||||
|
Вот иллюстрация в этому вопросу Полторы синусоиды три нейрона, 12 итераций Левенбергом, веса приведены справа вверху. Вопрос такой: где глобальный минимум? - на "продолжении" этих найденных весов или совсем в другой яме? И даже не такой вопрос, а такой: при глобальном минимуме веса будут примерно также разновелики? Вообще что это значит w3 = -17? Ведь х = -0.2:0.005:0.2. Всего 81 значение. Уменьшим в два раза число х = -0.2:0.01:0.2. тогда получим Могут ли веса быть велики или близки к нулю если они являют собой глобальный минимум? Или их чрезмерный разброс однозначно указывает например на избыточность числа нейронов (или единицы) в сети? - "эквивалентных копий" Эквивалентных чему?
0
|
||||
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
|
| 07.10.2019, 14:15 [ТС] | |
|
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||||||
| 07.10.2019, 14:19 | ||||||
|
Поверхность целевой функции и показывает все локальные и глобальный минимум. Но построить ее вы не сможете т.к это многомерная поверхность, у нее 9 измерений =)). Т.к. поверхность целевой это функция от ваших 9 нейронов. Либо вам нужно придумать как сделать так, чтобы ваши 9 нейронов задавали уникальную точку в 2д плоскости по аналогии с декартовой системой координат тогда по этим координатам можно например высотой поверхности Z вывести loss. Так и получите то что называют поверхность целевой…
0
|
||||||
|
29 / 6 / 0
Регистрация: 14.12.2015
Сообщений: 51
|
||
| 07.10.2019, 14:28 | ||
|
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||||
| 07.10.2019, 14:45 | |||||
|
Как показать во что преобразует многомерный вектор нейросеть? Добавлено через 7 минут Это наверно была бы революция в математике… анализе многомерных данных, AI… Но контингент ребят бывает не тот =). ![]()
0
|
|||||
|
29 / 6 / 0
Регистрация: 14.12.2015
Сообщений: 51
|
||
| 07.10.2019, 15:31 | ||
|
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 07.10.2019, 16:16 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 17.08.2019
Сообщений: 39
|
||
| 07.10.2019, 16:42 | ||
Но к такому коду нужна картинка поясняющая веса w1-w7 Если бы ещё к простому обратному распространению ещё "диагональный левенберга-марквардта" также проиллюстрировать на конкретных весах, было бы совсем респектище!
0
|
||
|
2 / 2 / 0
Регистрация: 17.08.2019
Сообщений: 39
|
|
| 07.10.2019, 16:48 | |
|
картинка
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||
| 07.10.2019, 16:56 | |||
|
0
|
|||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
|
|||
| 07.10.2019, 18:15 | |||
|
Цикл в строках 16-19 100000 раз вычисляет x и Y, но использует только последний вариант. Предположу, что в строках 20, 23, 27 опечатка - не хватает пары пробелов в начале строки.
0
|
|||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||
| 07.10.2019, 18:50 | |||
|
Где там создание обучающей выборки? Где подсчет loss? Где вообще все? Пару формул с разрывом хронологии? Почему не сделать функциями? Где графики ошибки? Баян…просто уже не стал мусолить. Именно по этому: Где то тут в теме его пробовали и баян.
0
|
|||
|
3129 / 1720 / 273
Регистрация: 19.02.2010
Сообщений: 4,511
|
|||
| 07.10.2019, 18:57 | |||
|
Как максимум - указание, что при поиске методом случайного тыка (генетический и т.д.) можно исследовать не весь объём некоторого кубика в
0
|
|||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||
| 07.10.2019, 19:25 | |||
|
0
|
|||
|
462 / 185 / 32
Регистрация: 04.08.2018
Сообщений: 732
|
|
| 07.10.2019, 19:29 | |
|
Excalibur921, вас такой результат устроит? Как по мне результат плох. Очень большая ошибка в районе +-1, поэтому обучал на диапазоне от -0.5 до 0.5, но всё равно плохая точность в районе нуля. Как калькулятор использовать нельзя, но форму вполне повторяет.
На картинке: слева график точности (среднеквадратичное отклонение) по обучающим примерам; правее - параболы по обучающей выборке, красным исходные значения, синим ответ сети; самый правый график - параболы по тестовой выборке, цвета означают то же самое. Нижние графики как менялась точность в процессе обучения на обучающей и тестовой. Не первый раз замечаю, что на тестовой точность выше, объяснить не могу. Параметры сети один слой, три нейрона, на каждый нейрон своё смещение. На выходном слое тоже действует функция активации, хотя её надо убирать. Повторяемость хорошая. Алгоритм и прочее опишу если будет заинтересованность. Документ маткада 4.0, где это всё считается прикладываю.
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||||
| 07.10.2019, 19:43 | ||||
|
Rayvenor, Ну я как бы не выбиваю тут работающую сеть. Просто пытался повторить в коде что тут кидали формулы и как видите сильно не эффективно(море графиков в теме). Да лень давно мучить код.
Кто еще пробовал тоже не удачно…тут море картинок. ![]() Вот плохая точность, каждый график результат обучения. Простейшая нейронная сеть для аппроксимации параболы Да что вы все усложняете сеть? У меня было вроде 5, потом 6 весов.
0
|
||||
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
|||
| 07.10.2019, 21:44 [ТС] | |||
|
допустим глобальный минимум получаем при w = [w1 w2 w3 w4 w5 w6] (веса все разные). Тогда сеть будет работать точно также и при таком векторе весов: w = [w2 w1 w4 w3 w6 w5]. Больше наверное нет тождественного варианта. В каком случае важно знать эти варианты? Сегодня попробовал найти глобальный минимум у сети Простейшая нейронная сеть для аппроксимации параболы таким образом: задал три положения для каждого веса -2 0 2 и нашел все возможные сочетания для всех векторов (по 9 весов в каждом векторе) этой сети. Посчитал для каждого вектора ошибку. Взял 20 весов с минимальными ошибками и запускал и в Левенберга и получил 20 векторов на выходе. И что вы думаете? В каждом векторе как минимум два веса близки к 20, т.е. нет ни одного вектора с весами хотя бы в пределах 10. Если для этой сети с тремя нейронами посчитать все возможные комбинаторные случаи, то наверное можно было бы получить не по три исходных позиции (-2 0 2), а больше. Это на сей день все зачем могут мне пригодиться комбинаторные числа. Кто-нибудь может найти настоящий глобальный минимум для простейшей сети с двумя нейронами (указанной выше) и параболой на выходе? А с тремя? см. Простейшая нейронная сеть для аппроксимации параболы
0
|
|||
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
|
| 07.10.2019, 21:49 [ТС] | |
|
Верно ли что глобальный минимум не зависит от количества точек параболы?
0
|
|
|
462 / 185 / 32
Регистрация: 04.08.2018
Сообщений: 732
|
||||
| 07.10.2019, 22:15 | ||||
|
Насколько я понимаю, НС это инструмент для поиска закономерностей, которые иным путём не находятся или нахождение требует бОльших усилий. Для ситуаций, где закономерность находится другим способом, использовать НС не эффективно. Я не понимаю зачем вам аппроксимировать параболу с помощью НС. Если для теста возможностей НС, то может продуктивнее поискать другое приложение?
0
|
||||
| 07.10.2019, 22:15 | |
|
Нейронная сеть для распознавания лиц
Нейронная сеть для распознавания чисел Нейронная сеть для сайта Asp.net Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|