Нейронная сеть в виде скрипта - страница 2

 
YuraZ:
kombat:
Что-то логика этого скрипта напоминает простой шифратор 4в2

штучкка интересная конечно!


но сеть на чем тренировалась на том и показывает гарантированно!


теперь попробуйте подать ей на входы то что она не видела в процессе обучения!

у у нее едет крыша !




test_pat[0] = 1 ;
test_pat[1] = 1 ;
test_pat[2] = 0 ;
test_pat[3] = 0 ;
test_the_network() ;
Print(MathRound( ol_a[0]), " 1100 ", MathRound(ol_a[1]) ) ;

она отвечает 1 0

хотя по логике должна ответить 1 1

---

правильная сеть именно так и поступит т е ответит 1 1 хотя данные на обучении такие не видела!



попробуйте обучить сеть следующему примеру


ВЫХОД = ВХОД

30.00 = 100.00
27.50 = 87.50
25.00 = 75.00
20.00 = 50.00
15.00 = 25.00
13.75 = 18.75
12.50 = 12.5
11.25 = 6.25
10.00 = 0.00

а затем дайте ей на вход к примеру 62.5 должны получить на выходе 22.50


ДОЛЖНО = ВХОД

22.50 - 62.5

это простой пример масштабирования с которым сети справляются как с орешками без кожуры



В этом, алгоритме 4 входа и 2 выхода .



Значит учить сеть надо так :

______ входы_______________выходы

1______2_______3______4 _____1______2

30.00_ 100.00_ 27.50_ 87.50_ 25.00_ 75.00


Но перед этим все надо поделить на 100, что бы попасть в зону видимости сети 0 - 1 .

За пределами этого диапазона сеть не учится . Ну и не отвечает, как учили.


______ входы_______________выходы

1______2_______3______4 _____1______2

0,30___ 1,0___ 0,275_ 0,875___ 0,25___ 0,75


Пример подготовки данных :

 

Лирическое отступление... ;)

Белл с 1873 г. пытался сконструировать гармонический телеграф, добиваясь возможности передавать по одному проводу одновременно семь телеграмм (по числу нот в октаве). Он использовал семь пар гибких металлических пластинок, подобных камертону, при этом каждая пара настраивалась на свою частоту. Во время опытов 2 июня 1875 г. свободный конец одной из пластинок на передающей стороне линии приварился к контакту. Помощник Белла механик Томас Ватсон, безуспешно пытаясь устранить неисправность, чертыхался, возможно, даже используя не совсем нормативную лексику.

Находящийся в другой комнате и манипулировавший приемными пластинками Белл своим чутким натренированным ухом уловил звук, дошедший по проводу. Самопроизвольно закрепленная на обоих концах пластинка превратилась в своеобразную гибкую мембрану и находясь над полюсом магнита, изменяла его магнитный поток. Вследствие этого поступавший в линию электрический ток изменялся соответственно колебаниям воздуха, вызванным бормотанием Ватсона, Это и был момент зарождения телефона. Девять месяцев совершенствовал Белл свое детище. Патентную заявку он подал 14 февраля 1876 г., а 7 марта получил патент.

Спустя три дня 10 марта 1876 г. по 12-метровому проводу, соединявшему квартиру Балла с лабораторией на чердаке, состоялась передача первой членораздельной фразы, ставшей исторической:
"Мистер Ватсон, идите сюда. Вы мне нужны!"



- вики: ШИФРАТОР (лог. электр.)

- деШИФРАТОР

- ШИФРАТОР

 

Понятно . Я думаю сеть может работать в качестве шифратора .

Чему научил - то и получил. Хочешь- шифратор, хочешь дешифратор .


А шифратор - скорее всего, что-то жесткое, под конкретный случай .

Я бы, в простейшем случае, так делал шифратор для одного набора данных .

Сколько наборов - столько кусков кода .


if ( inp1=10 && inp2=12 && inp3=23 && inp4= 100)
{
  outp1 = 0 ;
  outp2 = 0; 
}
 
sprite:

Понятно . Я думаю сеть может работать в качестве шифратора .

Чему научил - то и получил. Хочешь- шифратор, хочешь дешифратор .

Сесть - обучаемая, в этом ее фишка .


А шифратор - либо четкая, либо нечеткая логика, либо еще что либо . Но, скорее всего, что-то жесткое, под конкретный случай .

Я бы, в простейшем случае, так делал шифратор для одного набора данных .

Сколько наборов - столько кусков кода .


if ( inp1=10 && inp2=12 && inp3=23 && inp4= 100)
{
  outp1 = 0 ;
  outp2 = 0; 
}

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

Ее можно прямо "налету" переобучить,скажем в эксперте, после нескольких дней торгов .

Короче, это достаточно интересное явление в математике :) и заслуживает внимания .


Только значения входа и выхода в этом алгоритме надо загонять в зону видимости сети, то есть от 0 до 1 .

Или переделать код .

 
kombat:
Что-то логика этого скрипта напоминает простой шифратор 4в2

Шифратор - не обучаемая система .

А сеть в этом скрипе обучается . Причем процесс обучения показан в динамике от эпохи к эпохе на экране .

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

Выше представлены три поста, где один и тотже алгоритм научился

работать с тремя разными наборами данных .

В случае шифратора - потребовалось бы три шифратора, под каждый набор данных .

 

Не ПРОТИВ но пока и не ЗА применения нейросетей в трейдинге...


НС лежит в плоскости моего понимания на уровне волновиков, вечно стоящих у кульмана с ластиком

и карандашом в руках перерисовывая на ходу текущую ситуацию на рынке... :)))


Хотя перцептронисты покручее волновиков будут... наверное... :)))

 
kombat:

Не ПРОТИВ но пока и не ЗА применения нейросетей в трейдинге...



Аналогично :) !!!

Но алгоритм работает и обучается :) А там уж видно будет :)


Интерес к сетям еще подогрет победой советника с сетью на чемпионате .

Конечно, там другая сеть . Но человек проделал работу и получил результат .

 
sprite:


1. Сначала надо все нормализовать - и вход, и выход, то есть загнать в диапазон 0 - 1

( или надо переделать код сети под новый диапазон изменения данных )

2. У данной сети 4 входа и 2 выхода .

Какие числа из этих столбцов и на какой вход нужно подавать ?


По алгоритму

сеть каждой четверке Входных значений 1 0 0 0

ставит пару Выходных данных 1 0


Таких наборов данных может быть несколько, например 4 .

И подавать их надо в соответствии с алгоритмом сети

вход _выход


1 0 0 0_ 0 0

1 0 0 1_ 1 0

1 0 1 0_ 0 1

1 0 1 1_ 1 1


или так, если 4 входа и 3 выхода


1 0 0 0_ 1 1 1

1 1 0 0_ 1 0 0

1 0 1 1_ 0 0 1

1 0 1 0_ 0 1 1

1 0 1 0_ 0 0 0

1 1 1 1_ 0 1 0

для этого случая код изменяем











нормализовывать не всегда нужно, кто сказал что сеть МОЖЕТ и ДОЛЖНА работать только с 0 и 1 ?


могу прикрепить простую сетку с примером, (к сожалению сейчас под рукой нет материалов) - попозже прикреплю

где простая NN решает эту задачу без предварительной подготовки данных с нормализацией

к сожалению это не исходник


впрочем пример который я дал! он как бы уже нормализован

условие есть два диапазона


1 0-100

2 10-30


необходимо просто найти отношение положения в одном диапазоне - которое известно к

по сути это масштабирование



в примере я это четко указал зная границы


0 = 10

...

25 = 15

..

50 = 20

...

75 = 25

...

100 = 30


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

---



Ваша ветка интересная !

 
kombat:

Не ПРОТИВ но пока и не ЗА применения нейросетей в трейдинге...


НС лежит в плоскости моего понимания на уровне волновиков, вечно стоящих у кульмана с ластиком

и карандашом в руках перерисовывая на ходу текущую ситуацию на рынке... :)))


Хотя перцептронисты покручее волновиков будут... наверное... :)))

ну интересное мнение


правда разбито - оно в дребезги - победой BETTER,а на чемпионате 2007