2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Бикубическая интерполяция и градиентный спуск
Сообщение06.03.2023, 19:06 
Аватара пользователя


05/06/08
477
На интервале $ 0 < x < 1$ функция$ f\left( x \right)$ аппроксимируется классическим бикубом:
$f\left( x \right) = F_{i =  - 1}^{i = 2}f\left( i \right) = A\left( {f\left( i \right)} \right){x^3} + B\left( {f\left( i \right)} \right){x^2} + C\left( {f\left( i \right)} \right)x + D\left( {f\left( i \right)} \right)$
найти решение уравнения: $f\left( {{x_0}} \right) = {y_0}$. То есть найти ${{x_0}}$ при известном $ {{y_0}}$
При этом задана точка ${{x_1}}$ наиболее приближенной оцеки решиния.
Первое, что мне пришло в голову это вычислить в точке ${{x_1}}$ производную:
$f'\left( {{x_1}} \right) = \frac{{f\left( {{x_1} + \varepsilon } \right) - f\left( {{x_1} - \varepsilon } \right)}}{{2\varepsilon }}$
И найти решение методом градиентного спуска.
Два вопроса:
1. Нет ли более простого и более аналитического решения?
2. Насколько бикуб правильная интерполяция для нахождения решения подобных уравнений?

-- Пн мар 06, 2023 20:39:20 --

Вариант 2. Решить кубическое уравнение.
Но вопрос два остается.

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


30/01/09
7068
Я вам не берусь помочь. Просто зашёл в тему, чтобы дать вам советов, чтобы вы правильно использовали терминологию. А то вас могут не понять.

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

2. Подозреваю, что у вас задача сводится к решению кубического уравнения.

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

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

5.
MGM в сообщении #1584626 писал(а):
2. Насколько бикуб правильная интерполяция для нахождения решения подобных уравнений?

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

Но из вашего текста непонятно, про какие "подобные уравнения" вы говорите? У вас уравнение относительно исходной функции, которую нужно интерполировать? Или у вас уравнение относительно кубического полинома?

 Профиль  
                  
 
 Re: Бикубическая интерполяция и градиентный спуск
Сообщение06.03.2023, 21:56 
Аватара пользователя


05/06/08
477
мат-ламер в сообщении #1584639 писал(а):
Я вам не берусь помочь. Просто зашёл в тему, чтобы дать вам советов, чтобы вы правильно использовали терминологию. А то вас могут не понять.

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

2. Подозреваю, что у вас задача сводится к решению кубического уравнения.

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

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

5.
MGM в сообщении #1584626 писал(а):
2. Насколько бикуб правильная интерполяция для нахождения решения подобных уравнений?

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

Но из вашего текста непонятно, про какие "подобные уравнения" вы говорите? У вас уравнение относительно исходной функции, которую нужно интерполировать? Или у вас уравнение относительно кубического полинома?

Да. В одномерном случае это именно кубический сплайн. Спасибо за замечание.
И градиентный спуск в одномерном случае - это метод Ньютона. А в моем случае именно одномерный сигнал.
Размышления мои такие: если я решаю кубическое уравнение в лоб, то программно это попроще, чем итеративное подгон по Ньютону. (или нет? ).
Но решение не должно выходить за пределы 0<x<1.
Сомнения вот в чем, практика интерполяции для изображений показывает, что бикуб вроде бы лучше других аппрксимирует сигнал если брать окрестность 4Х4, но чуточку хуже, чем sink по 2Х2.
Даже четко не могу сформулировать, чего хочу.
Хотя глобальлно, уменьшить ошибку метода (своего, где интерполяция лишь небольшой, но важный блок алгоритма).
Все равно спасибо.

 Профиль  
                  
 
 Re: Бикубическая интерполяция и градиентный спуск
Сообщение18.03.2023, 11:12 


11/08/18
363
Если вы уже получили сплайн, но на вашем компьютере извлечение кубического корня стоит очень много вычислительных ресурсов, вам проще таки решать это уравнение Ньютоном, тем более, если вы уже знаете интервал, где есть решение. Не забывайте, что производную в точке для кубического сплайна очень просто посчитать аналитически и воспользуйтесь этим. Ваш вариант с конечными разностями дает большую численную ошибку и Ньютон будет зависать. В вашем случае сами итерации методом Ньютона надо правильно аналитически записать и хорошо поупрощать, а сходиться оно будет довольно быстро - где-то за 6 итераций вы должны сойтись до двойной точности и по арифметическим затратам это может даже слегка меньше будет, чем при расчетах по формуле Кардано, если кубический корень через кордики по экспоненте и логарифму считать.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

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



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

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


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

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