|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
||||||||||||
| 28.08.2020, 14:39 | ||||||||||||
|
Что касается 2х алгоритмов Якоби - меня напрягает, что в теле цикла две разные строки.
0
|
||||||||||||
| 28.08.2020, 14:39 | |
|
Ответы с готовыми решениями:
156
точность возвращения функции long double Как обойтись без float, double, long double?
|
|
495 / 542 / 131
Регистрация: 31.10.2016
Сообщений: 4,388
|
||||
| 28.08.2020, 18:42 | ||||
|
Но это ещё не самое худшее. В LASSO есть много нюансов, например, нужно правильно подобрать параметр Добавлено через 3 часа 49 минут Если Вы пытаетесь добиться максимальной точности аппроксимации, то с какой целью упорно пытаетесь удалить малозначимые признаки? Ведь точность подгонки уравнения под данные от этого от этого никак не может увеличиться, напротив, хоть и незначительно, но она только уменьшится. Есть большое подозрение, что под точностью аппроксимации, Вы подразумеваете совсем не то, что это понятие обозначает, точно так же, как общеизвестным методом LASSO называете не имеющий к нему никакого отношения алгоритм. Если под точностью аппроксимации Вы подразумеваете точность прогноза, то у задачи совсем другие пути решения, и скорее всего, повышенной точности вычислений совсем не требуется. Мне кажется, лучше называть вещи своими именами. Иначе получается, что каждый пишет о чём то своём, а сам объект обсуждения становится каким то неопределённым.
1
|
||||
|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
||
| 28.08.2020, 19:33 | ||
|
Пока я не оптимизирую это. Но надо мен подтянуть и точность и эффективность.
0
|
||
|
495 / 542 / 131
Регистрация: 31.10.2016
Сообщений: 4,388
|
|
| 28.08.2020, 20:40 | |
|
1
|
|
|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
|||||||
| 28.08.2020, 23:28 | |||||||
|
Почему 5-10? У меня 25 контентно-зависимых переменных. Я использую разные их комбинации... например, для полинома 3 степени получается около 500 комбинаций. У меня полином 7 степени. Если использовать ВСЕ возможные комбинации, то получитс полином с более чем с 100 тысяч компонентов (мономов). Но я не все их использую. Я интуитивно использую только часть из возможного... около 30 тысяч. Если использовать все 100 тысяч комбинаций, то СЛАУ будет плохо обусловлена из-за своего размера. Поэтому я определяю оптимальное их количество исходя из точности получаемого результата.
Добавлено через 1 час 17 минут
0
|
|||||||
|
495 / 542 / 131
Регистрация: 31.10.2016
Сообщений: 4,388
|
|||||||||
| 29.08.2020, 00:11 | |||||||||
|
а почему, если не секрет полином только 7 степени, а скажем не 10-й? Наверное причина в этом: Дело скорее в другом, просто если увеличить степень, данных получится настолько много, что их просто некуда будет деть. Вы видимо исходите из принципа - чем больше тем лучше. В принципе, идея нормальная. Я как работал с подобной моделью, причём довольно удачно, хотя дальше 3-й степени у меня не доходило. Лично у меня получалось, чем больше степень, тем менее надёжные получаются признаки, почему - так до конца и не разобрался. Я так понимаю, результаты, предоставляемые линейной моделью Вас не удовлетворяют. А точность прогноза не может быть выше точности подгонки к обучающей выборке. Поэтому, первое, что необходимо сделать - это хотя бы повысить точность подгонки. Иначе все дальнейшие усилия теряют всякий смысл. И это вполне логично. Но такой подход будет оправдан, если восстанавливаемая зависимость существенно нелинейна. Иначе, сколько бы Вы не добавляли новых признаков, точность подгонки на обучающей выборке будет возрастать, а прогностическая ценность модели - только падать. Тем самым, Вы сами будете выдумывать себе ненужные сложности, и искать пути их преодоления. Я бы на Вашем месте сначала провёл корреляционный анализ исходных 25 признаков, на предмет их значимости, т.е. вычислил взаимные корреляции со всеми объясняемыми переменными матрицы K. Вполне возможно, что некоторые из них окажутся несущественными. Тогда эти признаки необходимо удалить из рассмотрения, т.к. они будут только ухудшать модель. Только после этого, на оставшихся признаках, следует построить построить линейную регрессию и проверить её на регрессионную неоднородность (например тест Чоу). Смысл прибегать к полиномам есть только в случае обнаружения существенной регрессионной неоднородности. Вместо этого, можно сразу построить квадратичную модель, и убедиться, что она имеет хотя бы 1-но значимое произведение исходных переменных. В противном случае, применение нелинейной модели будет неоправданно. И не надейтесь на чудесное появление статистической значимости в произведениях большого числа переменных, если все возможные произведения меньшего порядка не значимы, это прямо противоречит теории степенных рядов. Поэтому, не нужно сразу брать полином 7 степени, опасаясь что то пропустить. Нужно начинать с линейной модели, и постепенно увеличивать степень. Добавлено через 14 минут Чтобы улучшить обусловленность, нужно посчитать вектор
Эту операцию можно повторять многократно, и построить график зависимости числа обусловленности, от числа отброшенных признаков. Очень хорошо, если на этом графике будет резкий скачок, по нему Вы узнаете, какие признаки отбросить а какие оставить.
1
|
|||||||||
|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
||||
| 29.08.2020, 00:12 | ||||
|
0
|
||||
|
495 / 542 / 131
Регистрация: 31.10.2016
Сообщений: 4,388
|
|
| 29.08.2020, 00:17 | |
|
1
|
|
|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
||||
| 29.08.2020, 00:19 | ||||
|
0
|
||||
|
495 / 542 / 131
Регистрация: 31.10.2016
Сообщений: 4,388
|
||
| 29.08.2020, 00:42 | ||
|
В общем, если Вы правда этого не знаете, эта задача имеет элементарное и исчерпывающее решение, весьма далёкое от того о чём Вы пишете.
1
|
||
|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
|||
| 29.08.2020, 00:45 | |||
|
0
|
|||
|
495 / 542 / 131
Регистрация: 31.10.2016
Сообщений: 4,388
|
|||||||
| 29.08.2020, 00:56 | |||||||
|
Чтобы получить корреляционную матрицу, поделите каждый столбец и каждую строку S на квадратный корень из соответствующего диагонального элемента, вот так:
1
|
|||||||
|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
||
| 29.08.2020, 01:11 | ||
|
Сделал... ничего сильно не изменилось... max=3.443544844782039e+03 min=1.568364040857418e+03 И что с этим теперь делать?
0
|
||
|
495 / 542 / 131
Регистрация: 31.10.2016
Сообщений: 4,388
|
|||||||
| 29.08.2020, 01:30 | |||||||
1
|
|||||||
|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
||
| 29.08.2020, 09:57 | ||
|
теперь (после преобразования S в корреляционную матрицу) получаем вектор с значениями от 1.83e-14 до 2.81e3 (eig(R)). Все значения положительные и плавно увеличиваются от первого элемента вектора, до последнего. Комплексных значений нет. см приложенный файл eigR.txt. Также наверно надо сказать, что данные выборки (которые имеют диапазон от 0 до 255) все переведены в double и нормированы на диапазон от -1 до +1. С нетерпением жду совета, что делать далее. Заранее спасибо!
0
|
||
|
495 / 542 / 131
Регистрация: 31.10.2016
Сообщений: 4,388
|
||||||
| 29.08.2020, 17:51 | ||||||
|
В общем, без диагонального преобладания, метод Якоби, как это не печально, работать не будет. Обычно, матрицу удаётся привести к диагонально преобладающему виду перестановкой строк и столбцов. Но не всегда, и у Вас как раз такой случай. Такой уж это метод - работает только с хорошо обусловленными матрицами.
Появление отрицательных собственных чисел ковариационной матрицы может свидетельствовать о вырожденности. Так, что матрица или вырождена, или близка к таковой. Для надёжности можно попробовать вычислить ранг S и R
Добавлено через 1 час 12 минут Подводя итоги нашего с Вами vittiv обсуждения, прихожу к Выводу, что результаты Ваших изысканий являются очень показательным примером того, до чего можно дойти возлагая неоправданные надежды на машинное обучение, и ценой неимоверных усилий, с привлечением колоссальных вычислительных ресурсов, всё таки приблизится к оптимальному решению (ведь действительно, порядок полинома вы выбрали правильно, да и Ваши наблюдения о том, что многочлены чётной степени не улучшают аппроксимации, по сравнению с многочленами меньшей нечётной степени, верны). Идея переложить когнитивную часть задачи на машинное обучение, действительно воспринимая его как некий интеллект, способный каким то непостижимым образом самостоятельно решить все проблемы, конечно же очень привлекательна. Но приводит такой подход, почти всегда, примерно к одному и тому же результату. Лично я называю подобное неоправданным привлечением научных методов. Это встречается повсеместно, и не только в области обработки данных. В других научных областях всё бывает гораздо печальнее. На государственные средства, по "астрономическим" ценам, закупается совершенно ненужное оборудование. Проводятся какие то сомнительные исследования, публикуются научные статьи и т.п. И главным мерилом качества таких исследований становится не их конечный результат, а величина затрат на их проведение. Добавлено через 4 часа 53 минуты Уважаемый vittiv, из любопытства я решил заняться Вашей задачей. На мой субъективный взгляд получилось неплохо. Тем не менее, хотелось бы у Вас уточнить, каким образом Вы оцениваете качество алгоритма? Тогда можно будет сравнить мои результаты, с тем, что получилось у Вас.
0
|
||||||
|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
|
| 29.08.2020, 17:59 | |
|
Это здорово если мы сможем подискутировать об этом. Через 3-4 часа я смогу предметно на эту тему ответить. Если удобно другой формат общения, то можно на личную почту или тут... я просто не знаю, как лучше. Можно и так. Меня формат устраивает, если администрация не против. Если что, можно новую тему начать.
0
|
|
|
495 / 542 / 131
Регистрация: 31.10.2016
Сообщений: 4,388
|
||
| 29.08.2020, 18:04 | ||
|
а общение вне форума администрация обычно не одобряет
0
|
||
|
495 / 542 / 131
Регистрация: 31.10.2016
Сообщений: 4,388
|
||||||||||||
| 04.09.2020, 02:48 | ||||||||||||
На выходе получается решение x и его относительная среднестатистическая ошибка. Его можно повторять до тех пор, пока err не перестанет заметно изменяться. Чем хуже обусловлена матрица, тем медленнее сходится алгоритм, но сходится гарантированно (если матрица не вырождена). Если же матрица окажется вырожденной, то никакой алгоритмов, без применения специальных мер не даст надёжного решения. Большей точности, насколько я понимаю, получить просто невозможно. Для интереса, сравните с точностью решения прямым методом, разумеется, в арифметике одинаковой точности. Различия должны быть большими. Относительная ошибка Вашего решения оценивается так:
Вы vittiv оцениваете ошибку по разбросу значений коэффициентов, найденных в арифметике разной точности, но это весьма ориентировочный метод. Приведённые в данном сообщении оценки вполне корректны и дают верхнюю границу погрешности.
0
|
||||||||||||
|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
||
| 04.09.2020, 08:27 | ||
|
Огромное спасибо, я обязательно проверю метод и сообщу результат.
0
|
||
| 04.09.2020, 08:27 | |
|
Как увеличить точность вычисления
Повысить точность расчетов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|