Случайность или закономерность? Как выявить?

 

В продолжение аналогичных тем, например: 

Где грань между подгонкой и реальными закономерностями?

Вероятность, как ее превратить в закономерность ...?

Мысли о случайном

и проч.

Удалось таки обнаружить метод выявления противоречий и неполной информации в обучающих выборках для нейронных сетей - бинарных классификаторов.

После экспериментов с выборками, созданными с помощью ГПСЧ, выяснилось, что они содержат противоречия.

Сразу оговорюсь, что пока ещё не экспериментировал с котировками и сигналами индикаторов и осцилляторов ТА. Метод проверялся на различных классических примерах. Например, при классификации ирисов Фишера, противоречия выявить не удалось. Зато их удалось найти в результатах клинических испытаний (у меня есть небольшая база таких испытаний из медицинских диссертаций).

С отчётом можно можно ознакомиться в формате PDF в прикреплённом файле:

Файлы:
rnn_1.zip  75 kb
 
Reshetov:

С отчётом можно можно ознакомиться в формате PDF по ссылке: http://reshetov.xnet.uz/RNN.pdf


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


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

 
alsu:

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


У них весовые коэффициенты равны 0.5.

Вот в этой ветке есть прикрепленный файл Fisher.zip

Если снять защиту (пароль: 123456), то в столбце G приведены правила вместе с весовыми коэффициентами. Значения помеченные, как 0 и есть отсутствующие данные в обучающей выборке.

Там немного изменённая математическая модель и весовые коэффициенты переведены из диапазона от 0 до 1 к диапазону от -1 до 1 с помощью линейных преобразований: y = 2 * x - 1. Но обучение сетки проводилось тем же самым методом, про который сказано в первом сообщении данного топика.

 
alsu:

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

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


Пусть у нас в обучающей выборке есть два взаимно противоречащих примера:

Значение признака А
Значение признака B
Значение на выходе
1
0
0
1
0
1


В этом случае, после обучения алгоритма, подставив значение признака А = 1, значение признака B = 0, мы получаем на выходе значение 0.5. 

Принцип: tertium non datur, т.е. третьего не дано, нарушается.


Вместо бинарного классификатора получаем тернарный.

 
Reshetov:

Вместо бинарного классификатора получаем тернарный.


Может, тогда лучше реализовать обучение на основе тернарной логики?

Выбираем любой из шести возможных базисов (1 из 3 сдвигов Х 1 из 2 неполных инверсий), на его основе можно построить любую функцию - с ответами 1/-1 для набора операндов, которые были в выборке, 0 для тех, которых не было. 

 
alsu:

Может, тогда лучше реализовать обучение на основе тернарной логики? 


А зачем её дополнительно реализовывать, ежели итак уже получилась нечёткая трехзначная логика.


Что интересно, дык это то, что в чёткой трехзначной логике Я. Лукасевича, закон исключённого третьего незаконен. Вместо него применяется закон исключённого четвёртого, т.е. там четвёртого не дано.

Короче, фиг его знает, какой  закон и где законен, а где незаконен? Такое впечатление что с этими законами  исключённого N-го, кто во что горазд? По крайней мере, у Аристотеля неопределенность не исключалась, а он основатель логики высказываний. Уже после него и началась вся эта псевдологическая вакханалия и неразбериха.

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

А с законами пущай ботаники разбираются, кто прав, а кого логарифмической линейкой по кумполу.

 
Reshetov:

А зачем её дополнительно реализовывать, ежели итак уже получилась нечёткая трехзначная логика.


Что интересно, дык это то, что в чёткой трехзначной логике Я. Лукасевича, закон исключённого третьего незаконен. Вместо него применяется закон исключённого четвёртого, т.е. там четвёртого не дано.

Короче, фиг его знает, какой  закон и где законен, а где незаконен? Такое впечатление что с этими законами  исключённого N-го, кто во что горазд? По крайней мере, у Аристотеля неопределенность не исключалась, а он основатель логики высказываний. Уже после него и началась вся эта псевдологическая вакханалия и неразбериха.

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

А с законами пущай ботаники разбираются, кто прав, а кого логарифмической линейкой по кумполу.


А для тебя Хаос и Случайность - синонимы ?
 
Reshetov:


У меня задача возникла в таком контексте примерно. Сеть обучается различению двух классов и, как показывает анализ, в части случаев дает четкий ответ, 1 или 0. Но проблема в отсавшихся случаях, там, где она вроде как не совсем уверена в результате, т.е. упроценно говоря сигнал на выходе есть, но слабый. Так вот выходит, что в обучающем множестве среди как раз таких трудноразличаемых случаев преобладает класс 0 в соотношении примерно 2:1. Алгоритм обучения, гадина, считает, что 2/3 правильных ответов - это достаточно, и обучается фактически не думая сливать все сомнительные входы в класс 0. Что самое интересное, общая статистика угадываний набегает за счет этого не в последнюю очередь. Собственно, отсюда и пошла мысль...
 
jeronimo:
А для тебя Хаос и Случайность - синонимы ?


Лингвистикой не занимаюсь. Кому нужно, пущай ищет определения в толковых словарях.
 
alsu:

У меня задача возникла в таком контексте примерно. Сеть обучается различению двух классов и, как показывает анализ, в части случаев дает четкий ответ, 1 или 0. Но проблема в отсавшихся случаях, там, где она вроде как не совсем уверена в результате, т.е. упроценно говоря сигнал на выходе есть, но слабый. Так вот выходит, что в обучающем множестве среди как раз таких трудноразличаемых случаев преобладает класс 0 в соотношении примерно 2:1. Алгоритм обучения, гадина, считает, что 2/3 правильных ответов - это достаточно, и обучается фактически не думая сливать все сомнительные входы в класс 0. Что самое интересное, общая статистика угадываний набегает за счет этого не в последнюю очередь. Собственно, отсюда и пошла мысль...

Бесполезно искать чёрную кошку в тёмной комнате, особенно если её там нет (с) Конфуций

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

В том то и дело, что в моём алгоритме по умолчанию принята гипотеза о неопределенности, т.е. 0.5. Если есть хоть один пример в обучающей выборке, который опровергает эту самую гипотезу и нет примеров ему противоречащих, тогда алгоритм принимает этот пример в качестве "доказательства" в пользу классификации. Но сие "доказательство" вовсе не означает правильность, т.к. вполне не исключено, что в обучающую выборку с той или иной вероятностью противоречия не попали.

 

Всё проверил и перепроверил на предмет потенциальных багов. Багов выявить не удалось, зато удалось выяснить, что RNN заведомо противоречит статистической теории обучения (SLT), а посему закинул статью на сайт машинного обучения: http://www.machinelearning.ru/wiki/index.php?title=RNN

Предупредил тамошнего администратора и теперича жду оттуда бан за шибко категоричные выводы в статье: "В связи с вышесказанным, следует признать статистическую теорию обучения (statistical learning theory, SLT) несостоятельной, поскольку в ней выдвигалась необоснованная гипотеза о "влиянии" сложности алгоритмов машинного обучения на результаты".

Причина обращения: