Рыночный этикет или правила хорошего тона на минном поле - страница 36

 
HideYourRichess писал(а) >>

В такой круг можно вписать любую прямую линию, под любым углом к горизонтали.

Ну, ну!

Как видишь не под любым! - А под нужным нам...

 
Neutron >>:

Теперь похоже!

А где обещенное обучающее облако?

Навесь масштабную сеточку на график и скажи, чему у тебя равен тангенс угла наклона для прямой.

Это были картинки полученные из первой разности пятичленного синуса по Х и прогноза сетки со случайными весами(начальная установка весов +/-1) по Y. Остальное еще делаю, скоро будет

 
Neutron >>:

Ну, ну!

Как видишь не под любым! - А под нужным нам...

Тады канечна.

 

Ну вот, готово. Здесь нет только обучающей выборки, поскольку обучающая выборка это и есть вектор Х. Т.е. нанести её на график, конечно можно, но это будет прямая, пересекающая график под углом 45" . Нейрон обучался тремя выборками:

1. Простая первая разность 5sin - вектор Y_simpl, зеленый цвет (соответствующая мнк)

2. Гипертангенс первой разности 5sin - синий цвет

3. Бинарные входы (по 5sin) - фиолетовый цвет


Тангенсы прямых такие:



И все-же что-то не так. Или я не понимаю задания которое ты дал.

Этот нейрон до обучается на каждом новом отсчете вектора данных Х, этот же вектор испльзован в качестве оси абсцисс графика. Если вывести его на ординату...? Зачем?

Кроме того я заметил, что если рабочий лист с одними и теми же данными пересчитать результаты будут другими. Разве так должно быть? Т.е. результаты очень сильно зависят от начальных установок весов.

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

Теперь получается то, что ты видишь. Вот еще одна картинка.


На всякий случай цепляю листинг Маткада

Файлы:
neyron.rar  114 kb
 
paralocus писал(а) >>

Ну вот, готово. Здесь нет только обучающей выборки, поскольку обучающая выборка это и есть вектор Х. Т.е. нанести её на график, конечно можно, но это будет прямая, пересекающая график под углом 45" .

У тебя есть обучающий вектор длины - n на котором НС тренируется распозновать всего один-единственный отсчёт - n+1. Имеется набор статистического материала N>100, который формирует обучающую выборку (точнее, набор примеров того, как НС обучалась) длиной N отсчётов (это не обучающий вектор, а набор таковых, получаемых из имеющегося в нашем распоряжении синусного ряда, путём сдвига его на один отсчёт в право каждый раз и до N). Таким образом, мы имеем N значений по которым НС обучалась (это n+1 элементы обучающих векторов) и так же имеем N значений того, как она им обучилась. Поставь теперь их соответственно по осям абсцисс и ординат и получишь искомое облако, которое характеризует процесс обучения. Понятно, что это облако не будет иметь наклон 45 градусов. Это следует из того, что число весов сетки - w много меньше оптимальной длины обучающего вектора P=w*w/d и как следствие, система уравнений, которые решает НС по поиску оптимальных весов, является переопределённой и имеет бесконечное число решений. Поэтому ищется приближённое, которое является оптимальным в смысле минимизации квадрата ошибки обучения для всех уравнений. Если бы длина обучающего вектора была равна числу весов, вот тогда можно было бы ожидать 100% обучения сети, но это не является оптимальным в смысле способности сети обощать накопленные знания в будущем и приводит к грандиозным ошибкам на тестовой выборке. Правильно обученная сетка покажет на "облачной" диаграмме угол наклона обучающей выборки близким к углу наклона на тестовой выборке. И напротив, переобученная сеть покажет угол в 45 градусов для обучающего облака с мизерной дисперсией и нулевой угол с бесконечной дисперсией для тестового облака. Именно такой результат получается, если пытаться точно решать систему линейных алгебраических уравнений для одинокого персептрона. Я уже выше говорил об этом. Именно по этой причине очень удобно пользоваться облачной диаграммой при отладке сети (чего невозможно реализовать на MQL).

Тот факт, что у тебя угол наклона меняется от эксперимента к эксперименту и становится даже отрицательным, однозначно говорит о том, что твоя девушка живёт своей тайной жизнью и не обучаема. Нужна лоботомия:-)

P.S. Сохраняй cdjb файлы с расширением *.mcd для 2001i MathCad, иначе я их прочитать не могу.

 
Вот, сохранил как *.mcd для Маткад12 и 11. Других опций для файлов mcd у меня нет.
Файлы:
mathcad.rar  40 kb
 

Сейчас гляну.

Вот, кстати, как отрабатывает моя девушка 5-синусный ряд:

Это двуслойная НС-ка с двумя действительными входами (не считая постоянного смещения), k=2, у которой в скрытом слое 2 нейрона с нелинейной активацией и одним линейным нейроном (без функции активации) на выходе. Красным показана обучающая выборка, синим - тестовая (предсказания). Переобучение на каждом отсчёте. Статистика - 200 экспериментов. Тангенсы углов приведены на поле графика.

 

Я у тебя много чего по простоте душевной не понял в коде. Но, из того, что удалось осмыслить, не соответсвует моим представлениям следущее:

У тебя точно должна быть накопительная сумма по всей обучающей эпохе Р по квадратам отклонений S[k] . То, что я вижу, это просто переобозначение переменных. Нет первоначальной инициализации весов случайными числами.

Я так и не понял что за подпрограмма тобой введена method() и ranif() и где её смотреть?

Чуть упростил под себя твой код (см. файл).

Файлы:
modif1_4.zip  16 kb
 
Сейчас только до компа добрался. Это я тебе не тот файл... по утренней спешке прицепил. Сейчас все прокомментирую и выложу ranif() это встроенная функция Маткада - возвращает векторр указанной в первом параметре длинны с равномерно распределенными случайными числами в диапазоне междк вторым и третьим параметром.
 

Все подробнейшим образом прокомментировал, по ходу дела пару ошибок устранил

Вот чего рисует:


Файл прицепляю в трех форматах 11, 12 и 13(*.xcmd)

Сейчас смотрю твои испраления... Вообще то надо мне было сначала посмотреть на исправления, а потом уж комментировать... -:)

Над тем, что ты написал двумя постами выше я думаю. Мне главное - понять, чтобы "картинка" в голове сложилась, тогда я все сделаю.

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

Файлы:
neyron_1.rar  197 kb
Причина обращения: