Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 1 |
[ 1 сообщение ] |
|
Автор | Сообщение | |
---|---|---|
Fireman |
|
|
Есть функция [math]f(a, b, c)[/math]. Требуется найти такие параметры [math]a, b, c[/math], при которых указанная функция минимальна [math]f(a, b, c) = min[/math]. Частные производные по [math]a, b, c[/math] таковы, что для [math]f_{a}^{'}=0[/math] возможно аналитически получить [math]a=r(b, c)[/math], а для [math]f_{b}^{'}=0[/math] и [math]f_{c}^{'}=0[/math] аналогичных формул нет. Определение параметры [math]a[/math] Таким образом, если мы как-то определим параметры [math]b_{min}, c_{min}[/math], то параметр [math]a[/math] мы получаем сразу как [math]a_{min} = r(b_{min}, c_{min})[/math]. Определение параметра [math]b[/math] Оказалось, что [math]f(b,c_{min})_{b}^{'} = 0[/math] имеет лишь одно решение [math]b_{min}[/math]. Для поиска решения можно было бы применить метод Ньютона, но производная f(b,c_{min})_{b}^{''} имеет такое поведение, что метод себя ведет не очень стабильно и сходится только при определённом диапазоне начального значения [math]b_0[/math] и потребовалась бы определённая заточка метода. Однако к счастью оказалось, что поведение функции [math]f(b,c)_{b}^{'}[/math], таково, что [math]\left\{\!\begin{aligned} & f(b,c_{min})_{b}^{'} < 0, b < b_{min} \\ & f(b,c_{min})_{b}^{'} > 0, b > b_{min} \end{aligned}\right.[/math] А значит для поиска решения можно применить бинарный поиск. Работает быстро (очень быстро сходится) и очень очень точно. Определение параметра [math]c[/math] Оказалось, что [math]f(b_{min},c)_{c}^{'} = 0[/math] имеет такое же поведение (хотя функции и отличаются), как и [math]f(b,c_{min})_{b}^{'} = 0[/math], описанное выше и можно было бы вместо определения параметра [math]b_{min}[/math], зная параметр [math]c_{min}[/math] определить параметр [math]c_{min}[/math], зная параметр [math]b_{min}[/math]. Но третий (хотя первый по очередности естественно) параметр приходится искать через градиентный спуск - определять 3 значения [math]c[/math], смотреть для них значение функции [math]f[/math], определять наилучшее значение, выбирать новые 2 точки, сужать диапазон и т.д., в общем классика, что работает уже значительно медленнее и менее точно У меня вопрос - можно ли обойтись без градиентного спуска в таком частном случае поведения функции [math]f[/math] и ее производных? Я сначала по молодости лет подумал, что можно бинарный поиск применить для параметров [math]b, c[/math] - выбираем производную [math]c[/math], определяем оптимальную [math]b[/math], потом на основе оптимальной [math]b[/math] определяем оптимальную [math]c[/math] и так по циклу, пока результат не сойдется к каким-то [math]b_{min}, c_{min}[/math], но это не сработало - результаты наоборот стали расходиться. Вот я и подумал можно ли как-то соптимизировать такой частный случай. Теперь о непосредственно моем случае: Функция [math]S=\sum\limits_{i} (y_i - f(x_i, a, \sigma, \mu ))^2=min[/math] где [math]f(x_i, a, \sigma, \mu ) = \frac{ 1 }{ \sigma x_i } e^{- \frac{ (ln(x_i) - \mu)^2 }{ \sigma^2 } }[/math] Производная [math]S_{a}^{'} = 0[/math] даёт [math]\sum\limits_{i} (y_i k_i) = \frac{ a }{ \sigma } \sum\limits_{i} (k_{i}^2)[/math] где [math]k_i = \frac{ 1 }{ x } e^{- \frac{ (ln(x_i) - \mu)^2 }{ \sigma^2 } }[/math] Производная [math]S_{\mu}^{'} = 0[/math] даёт с учетом предыдущего выражения (компонент обнуляется) [math]\sum\limits_{i} (y_i k_i ln(x_i)) = \frac{ a }{ \sigma } \sum\limits_{i} (k_{i}^2 ln(x))[/math] Производная [math]S_{\sigma}^{'} = 0[/math] даёт с учетом двух предыдущих выражений (компоненты обнуляются) [math]\sum\limits_{i} (y_i k_i ln^2(x_i)) = \frac{ a }{ \sigma } \sum\limits_{i} (k_{i}^2 ln^2(x))[/math] Т.е. если заменить [math]\frac{ a }{ \sigma }[/math] в последних двух выражениях, то встает задача найти корни уравнений [math]\sigma_{min}, \mu_{min}[/math] [math]f(\sigma_{min}, \mu_{min}) = \sum\limits_{i} (y_i k_i ln(x_i)) \sum\limits_{i} (k_{i}^2) - \sum\limits_{i} (k_{i}^2 ln(x)) \sum\limits_{i} (y_i k_i) = 0[/math] [math]g(\sigma_{min}, \mu_{min}) = \sum\limits_{i} (y_i k_i ln^2(x_i)) \sum\limits_{i} (k_{i}^2) - \sum\limits_{i} (k_{i}^2 ln^2(x)) \sum\limits_{i} (y_i k_i) = 0[/math] |
||
Вернуться к началу | ||
[ 1 сообщение ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Метод условного градиента(поиск минимума) | 3 |
310 |
01 дек 2021, 14:00 |
|
Нахождение минимума функции | 8 |
150 |
11 авг 2023, 21:53 |
|
МНК и необходимое условие минимума функции | 0 |
270 |
18 май 2014, 13:57 |
|
Нахождение минимума функции. Метод Ньютона
в форуме Пределы числовых последовательностей и функций, Исследования функций |
12 |
1452 |
17 окт 2015, 18:38 |
|
Поиск Функции | 10 |
672 |
31 окт 2016, 19:16 |
|
Поиск экстремума функции
в форуме Пределы числовых последовательностей и функций, Исследования функций |
3 |
318 |
15 дек 2018, 05:15 |
|
Задача на поиск функции распределения
в форуме Теория вероятностей |
0 |
211 |
22 ноя 2019, 22:33 |
|
Поиск значения функции от сплайна
в форуме Численные методы |
5 |
208 |
08 дек 2019, 12:18 |
|
Поиск аппроксимирующей функции по заданным параметрам
в форуме Численные методы |
5 |
373 |
03 дек 2017, 16:06 |
|
Нахождение минимума
в форуме Дифференциальное исчисление |
12 |
598 |
19 ноя 2016, 01:20 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |