2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6  След.
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 12:41 


14/11/21
141
-> Missir

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

Касательно сомнительности Yalmip... Это один из двух самых популярных парсеров такого рода. Другой - CVX. В данном случае из-за тривиальности легко поработать ручками и обойтись без парсера. Но во многих случаях удобнее все ж таки использовать парсер (экономия времени, избежание возможных ошибок, сохранение наглядности).

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 13:44 


15/12/22
181
Alex Krylov в сообщении #1647130 писал(а):
Это один из двух самых популярных парсеров такого рода

а мне кажется это очередное вредоносное ПО, коим итак доверху нашпигован ПК неискушенного юзера. По крайней мере никакой наглядности или упрощения с его использованием незаметно, скорее всё наоборот. Да и сам matlab давно уже анахронизм, все нормальные юзеры сейчас используют python. Вы бы ещё "для наглядности" привели примеры на Fortran.

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 14:27 


14/11/21
141
-> Missir

Извините, но не вижу логики в вашем ответе. Fortran - это низкоуровневый язык, язык Matlab - это язык гораздо более высокого уровня, нежели Fortran. А парсеры наподобие Yalmip/CVX - это надстройка еще более высокого уровня. Так как же крайне низкоуровневое может быть подобно крайне высокоуровневому?!!!! Так что не совсем понятно, для чего вы сюда Fortran приплели.

Цитата:
все нормальные юзеры сейчас используют python


Некоторые и с пятого этажа прыгают. За ними бежать прикажете, следуя моде? :wink:

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 15:55 


15/12/22
181
Alex Krыlov
не нужно вешать людям "лапшу" на уши, Fortran не только, и не столько низкоуровневый, сколько устаревший и малораспространённый, к тому же в современных вариантах он вполне себе поддерживает линейную алгебру и реализовать решение задачи ТС в нём не так уж и сложно. Только какой в этом смысл, если большинство людей с ним не знакомы и скорее всего он никогда им не понадобится.
Тоже самое, хотя и в меньшей степени, относится к matlab, его сейчас очень мало кто использует. Кто без особой нужды будет устанавливать 20Гб дистрибутивы, которые к тому же далеко не бесплатны, или рыскать по сомнительным online-ресурсам, при наличии более удобной альтернативы в виде python. А вы ещё предлагаете дополнительно к matlab скачивать и устанавливать какую то сомнительную приблуду, которая скорее всего больше никогда и не понадобится. В том то и дело, что из-за этого ваши примеры попросту никто не будет проверять. А python сейчас есть очень у многих, если не у всех.
О какой наглядности вообще речь? Если под ней понимать раскрытие сути задачи, а не рекламу Yalmip. Я же показал, что абсолютно ту же самую систему ограничений, и тот же функционал как у вас, принимает функция linalg, входящая в самые допотопные версии matlab. Какие тогда дополнительные удобства в понимании задачи даёт Yalmip, кроме того, что объявляет о своём существовании? Может наоборот для абстрагирования от сути задачи? Но в таком случае зачем она вообще нужна?

К тому же и ЗЛП вы сформулировали, ни то что бы не правильно, но довольно криво. МНМ традиционно формулируется так:
$$\bf{Xb}+Ie^+-Ie^-=y$$
$$F=\bf \Sigma e^++\Sigma e^- -> min$$
это и нагляднее, и компактнее, и требует для решения гораздо меньше итераций.

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 20:04 


14/11/21
141
Цитата:
традиционно формулируется так

Можно и так, как вы сказали:
https://dxdy.ru/post1637967.html#p1637967
А можно и эдак, как в данной ветке.
Цитата:
и требует для решения гораздо меньше итераций

Решатель Mosek в любом из вариантов требует ровно 5 итераций, встроенный решатель linprog в обоих случаях - 8 итераций! :roll:

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 20:21 


10/03/16
4444
Aeroport
Missir в сообщении #1647134 писал(а):
Да и сам matlab давно уже анахронизм, все нормальные юзеры сейчас используют python.

Missir, Missir!
Missir в сообщении #1647140 писал(а):
не нужно вешать людям "лапшу" на уши

Матлаб удобнее и логичней Питухона.

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 20:25 


14/11/21
141
Цитата:
Матлаб удобнее и логичнее Питухона.


В конце концов для дюбителей совсем свободного ПО есть еще GNU Octave!

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 20:28 


10/03/16
4444
Aeroport
Alex Krylov в сообщении #1647171 писал(а):
В конце концов есть еще GNU Octave!


Вот это как раз ужас ужасный :-) Однажды я запустил свой код на Octave, и он в нём (кто в ком?) не понял примерно половину инструкций. Если выбирать между Питухоном и Octave, то первое уж точно лучше.

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 20:40 


14/11/21
141
ozheredov в сообщении #1647172 писал(а):
Alex Krylov в сообщении #1647171 писал(а):
В конце концов есть еще GNU Octave!


Вот это как раз ужас ужасный :-) Однажды я запустил свой код на Octave, и он в нём (кто в ком?) не понял примерно половину инструкций. Если выбирать между Питухоном и Octave, то первое уж точно лучше.


Я Octave не пользовался. Написал исходя из деклариуемой языковой совместимости с Matlab. Но как там с этим реально обстоят дела, абсолютно не ведаю.

Цитата:
не понял примерно половину инструкций


Действительно все так плохо? Или может вы какие-нибудь новые расширения языка Matlab пытались в Octave запустить? Даже с переносимостью устоявшихся/базовых языковых конструкций все плохо?

Кстати, а что там с бибилиотеками?

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 20:47 


15/12/22
181
ozheredov в сообщении #1647170 писал(а):
Матлаб удобнее и логичней Питухона

Лично для меня да, но я работаю в нём более 20 лет, так что моё мнение может быть сильно предвзятым. И лично я вынужден признать, что python сейчас наиболее популярен. Этому есть масса причин: разнообразие пакетов, кроссплатформенность и переносимость кода, изобилие обучающих материалов и т.п. Хотя, для тех кто не в курсе, python вырос именно из matlab, по большей части из-за ценовой политики mathworks. По тем же причинам появилась Octave, но она не получила такой популярности как python, т.к. по сути является просто бесплатной копией matlab, и не содержит в себе ничего нового, чего совсем нельзя сказать о python.
Лично мне работать в python сложнее и дольше чем в matlab, но первый предоставляет гораздо более широкие возможности, вплоть до web программирования, да и востребован он сейчас намного сильнее, поэтому я не могу просто его игнорировать. Ну а для начинающих, наверное python окажется даже проще.

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 20:58 
Заслуженный участник
Аватара пользователя


01/09/13
4656
Missir в сообщении #1647179 писал(а):
python вырос именно из matlab

Ерунду не надо писать.

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение23.07.2024, 21:02 


15/12/22
181
Alex Krylov в сообщении #1647169 писал(а):
Решатель Mosek в любом из вариантов требует ровно 5 итераций, встроенный решатель linprog в обоих случаях - 8 итераций!


Я имел в виду классический симплекс-метод, для интереса проверил - для этой задачи он требует 12 итераций, улучшенный вариант Borrodale&Roberts требует 10 итераций. В Вашей постановке эти числа сильно увеличатся. Именно её я не проверял, но проверил симплекс-алгоритм для решения двойственной задачи, который в этой теме одно время сильно расхваливали из-за компактной записи ЗЛП. Так вот, его выполнение требует 42 итераций.
Что там напихано в решателях, мне не известно, но я кажется писал, что для решения этой задачи можно использовать много разных методов. Некоторые из них я проверил тоже. Например алгоритм Clarc-Osborn требует для решения 9 итераций, irls - 11 тыс. итераций, а метод внутренней точки - всего 4 итерации. Но в этих методах исходная формулировка ЗЛП мало на что влияет.

-- 23.07.2024, 21:05 --

Geen в сообщении #1647181 писал(а):
Ерунду не надо писать

я конечно же имел в виде пакет Numpy

-- 23.07.2024, 21:16 --

ozheredov в сообщении #1647172 писал(а):
Однажды я запустил свой код на Octave, и он в нём (кто в ком?) не понял примерно половину инструкций.

совместимость у них впечатляющая, но напрямую скрипты обычно не запускаются, есть некоторые различия в синтаксисе, приходится подправлять. Например в Octave поддерживается x+=y; в matlab же нужно писать x=x+y; Но в принципе это несложно и не долго.

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение26.07.2024, 18:30 


10/03/16
4444
Aeroport
Alex Krylov в сообщении #1647175 писал(а):
Действительно все так плохо? Или может вы какие-нибудь новые расширения языка Matlab пытались в Octave запустить?


Нет: скормливал код, который не требовал вообще ни одного пакета (ну, потому что как бы предугадывал, что никаких пакетов в Octave нет). Конкретику забыл, но хорошо помню мои ощущения, что этот недоМатлаб не понимает простейших инструкций.

-- 26.07.2024, 18:31 --

Missir в сообщении #1647182 писал(а):
Например в Octave поддерживается x+=y;


У меня по ходу программизменный диабет - терпеть не могу синтаксический сахар ))

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение26.07.2024, 18:52 
Заслуженный участник
Аватара пользователя


01/09/13
4656
ozheredov в сообщении #1647453 писал(а):
терпеть не могу синтаксический сахар

Это не сахар - вместо x может быть некоторое выражение (и вычислять его один или два раза - большая разница может быть) или аргумент функции (и в питоне, к примеру, от этого зависит изменится ли он снаружи функции)....

 Профиль  
                  
 
 Re: Регрессия квадратичного полинома
Сообщение26.07.2024, 19:02 


10/03/16
4444
Aeroport
Geen в сообщении #1647458 писал(а):
вместо x может быть некоторое выражение (и вычислять его один или два раза - большая разница может быть) или аргумент функции (и в питоне, к примеру, от этого зависит изменится ли он снаружи функции)


Ничего себе - не знал, спасибо

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 86 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group