[Архив!] Чистая математика, физика, химия и т.п.: задачки для тренировки мозгов, никак не связанные с торговлей - страница 562

 
Svinotavr:
Я вам реально помог. Убрал все свои посты про SEG-генератор, даже не стал заливать видео с реально работающей установкой. Так зачем вам понадобилась вся эта "ортогонально\векторная бадяга" длиной в 8 страниц?

Ну да, твоя помощь неоценима. Я твой должник. Придётся расколоться.

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

// Есть ещё некоторые тонкости, но уже слишком секретны. Лучше не настаивай. Если я их тебе расскажу, мне после этого придётся тебя убить.

 
MetaDriver:

1. 1. to Mislaid, Mathemat,

И там и сям везде одно и то же - тот же процесс, который я вчера сам сконструировал. Последовательное вычитание проекций вектора на предыдущие орты.

В такие дни чувствую себя классиком.... :-))

--

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

2. В опенЦЛ действительно есть, но только для трёхмерного случая. [cross(a, b); строит вектор ортогональный двум заданным ] А мне нужно для произвольной размерности.


Давай дальше. Скалярное произведение двух векторов a[] и b[] это сумма произведениий a[i]*b[i]*w[i], где w[i] - весовая функция. В зависимости лт того, какие веса мы задаем, мы получаем решения различных задач, которые получаются по универсальному алгоритму последовательной ортогонализации. (Кстати, в приведенном примере строится ортогональная проекция на подпространство, натянутое на произвольные векторы.) В случае w[i] = 1 - это скалярное произведение двух векторов в декартовом пространстве.

Если задать w[i] = r[i]*s[i], где

s[i] = 0,5/n, при i = 0, n;

s[i] = 1/n, при 0 < i < n;

Тогда скалярное произведение определяется как интеграл произведения функций a(x)*b(x)*r(x) на интервале [0;1], выраженный в конечных разностях.

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

Только мне показалось, что это тупиковый путь. И я его прошел.

 
alsu:
Ну, это значит только одно - что относительная ошибка аппроскимации тем больше, чем меньше Х (и Y), собственно а чего вы ожидали, деля маленькое число на другое маленькое? Попробуйте заменить переменную X' = X+100 и построить новый ряд в диапазоне не от 0 до 300, а от 100 до 400 - график будет намного прямее, но сути дела это не поменяет
Да, видимо это причина этого явления. Спасибо.
 
Mislaid:


1. Давай дальше. Скалярное произведение двух векторов a[] и b[] это сумма произведениий a[i]*b[i]*w[i], где w[i] - весовая функция. В зависимости лт того, какие веса мы задаем, мы получаем решения различных задач, которые получаются по универсальному алгоритму последовательной ортогонализации. (Кстати, в приведенном примере строится ортогональная проекция на подпространство, натянутое на произвольные векторы.) В случае w[i] = 1 - это скалярное произведение двух векторов в декартовом пространстве.

Если задать w[i] = r[i]*s[i], где

s[i] = 0,5/n, при i = 0, n;

s[i] = 1/n, при 0 < i < n;

Тогда скалярное произведение определяется как интеграл произведения функций a(x)*b(x)*r(x) на интервале [0;1], выраженный в конечных разностях.

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

2. Только мне показалось, что это тупиковый путь. И я его прошел.

1. Сергей, дальше мне пока рано. Вот с декартовым пространством получше разберусь, тогда в функциональное полезу. Но тема интересная, спасибо за пост. Ты будешь смеяться, но для меня познавательно оказалось.

2. Наверное остались сомнения в тупиковости, раз дальше предлагаешь.. :) Если что, буду знать кого выбирать в проводники по этому "тупиковому" пути. Я серьёзно, если возникнут вопросы по теме - буду спрашивать. Не возражаешь?

 
MetaDriver:

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

Ты бы меня спросил сначала, прежде чем ортогональные многомерные вектора искать.... :)

Сэкономил бы своё время. Потому что это тебе не поможет, в смысле, не нужно вообще (я про ортогональные вектора).

 
joo:

Ты бы меня спросил сначала, прежде чем ортогональные многомерные вектора искать.... :)

Сэкономил бы своё время. Потому что это тебе не поможет, в смысле, не нужно вообще (я про ортогональные вектора).

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

Или всё-таки пытаешься вымогать секретные тонкости. (Вариант извращённого суицида.)

;)

 
MetaDriver:

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

;)

Отнюдь. Завтра (как договаривались) тебе расскажу.
 
 
moskitman:

что за бредятина


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


 
Чему равна вероятность того, что при одновременном бросании трех игральных костей 2 очка появятся на 2 костях?
Причина обращения: