Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
3 / 3 / 0
Регистрация: 02.04.2017
Сообщений: 273

Как минимизировать такую функцию?

28.09.2019, 12:43. Показов 1361. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть список значений Y и список X и я хочу минимизировать функцию такого вида(прикрепил картинку).

Также есть начальные значения Theta0 = 1.537, Theta1 = 1.143, Theta2 = 0.01604. Как минимизировать такую функцию?
Миниатюры
Как минимизировать такую функцию?  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.09.2019, 12:43
Ответы с готовыми решениями:

Не получается минимизировать функцию потерь
Пытаюсь минимизировать функцию потерь радикальных оценок для оценки параметров нормального распределения Мой код выглядит следующим...

Как задать такую функцию в питоне?

Как минимизировать такую функцию?
Функция def Phi(u, X): return -(1+u*X+u*X+u*X+u*X) Известно, что : 1) X...X находятся в промежутке 2) u,u,u,u...

7
2649 / 1660 / 267
Регистрация: 19.02.2010
Сообщений: 4,393
28.09.2019, 13:00
Превращайте эту полиномиальную регрессию в линейную путём ввода новой независимой переменной Z=X^2, далее любыми способами решения задачи линейной множественной регрессии. Например, через решение СЛАУ методом Гаусса.
0
3 / 3 / 0
Регистрация: 02.04.2017
Сообщений: 273
28.09.2019, 17:43  [ТС]
VTsaregorodtsev, Немного не правильно выразился. Попробую на конкретном примере
Как с помощью scipy найти минимум функции трех переменных
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1}{2}(5.59 -  (\Theta_0+3.35\Theta_1+11.22\Theta_2))^2\to\min\limits_{\Theta_0,\Theta_1,\Theta_2}?

Добавлено через 39 минут
Это делается примерно так:
Python
1
2
3
4
5
6
def f(params):
    a, b, c = params
    return 1/2*((5.59-(a + 3.35*b + 11.22*c)))**2
 
initial_guess = [1.537, 1.143, 0.01604]
result = minimize(f, initial_guess)
А что делать, когда нужно найти минимум суммы https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum\limits_{i=1}^{n} 0.5*(Y_i - (\Theta_0 + \Theta_1X_i + \Theta_2X_i^2  )^2, где X и Y - два списка?

Добавлено через 11 минут
Пробовал так:


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def f(params,X,y,i):
    a, b, c = params
    return (y[i]-(a + X[i]*b + X[i]**2*c))
 
 
def f2(params):
    sum = 0
    for i in range(len(y)):
        sum += 0.5*(f(params,X,y,i))**2
 
    return(sum)
 
initial_guess = [1.537, 1.143, 0.01604]
result = minimize(f2, initial_guess)
Но получаю ошибку
Bash
1
ValueError: Desired error not necessarily achieved due to precision loss.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
30.09.2019, 11:49
Вам сюда: https://docs.scipy.org/doc/sci... imize.html
0
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
30.09.2019, 15:18
Цитата Сообщение от Key27 Посмотреть сообщение
А что делать, когда нужно найти минимум суммы
Надо просто продифференцировать и приравнять производные к нулю. Если лень это делать, то можно найти формулу для коэффициентов множественной регрессии:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\Theta = (X^T X)^{-1} X^T Y
В данном случае незачем использовать scipy можно обойтись одним numpy, что-то типа
Python
1
2
3
4
5
6
import numpy as np
x = np.array(...)
y = np.array(...)
x = x.reshape(-1, 1)
x_ext = np.hstack((np.ones(x.shape), x, x**2))
theta = np.linalg.inv(np.dot(x_ext.T, x_ext)).dot(x_ext.T).dot(y)
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
30.09.2019, 15:44
woldemas, не надо диференцировать.
100 к одному, задача именно на минимизацию путём градиентного спуска или чем-то подобным.
normal equation подходит в случае, когда признаков немного и способ не этого урока
0
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
30.09.2019, 16:43
Цитата Сообщение от dondublon Посмотреть сообщение
задача именно на минимизацию путём градиентного спуска
Это в чистом виде полиномиальная регрессия (если я правильно понял обозначения - ТС там в скобках путается). Градиентный спуск даст тот же результат - там же целевая функция квадратичная.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
30.09.2019, 16:52
woldemas, да я вижу, что регрессия.
Тут ведь дело не просто в том, чтобы результат получить, а научиться вызывать минимизацию в соответствии с учебным курсом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.09.2019, 16:52
Помогаю со студенческими работами здесь

Как минимизировать такую таблицу истинности?
Есть следующая таблица истинности для функций возбуждения автомата Мура на JK триггерах. Как произвести минимизацию такой таблицы с помощью...

Как минимизировать функцию методом покоординатного спуска ?
Подскажите пожалуйста необходимо минимизировать функцию методом покоординатного спуска, ну соответственно мне нужно написать программу...

Как можно минимизировать функцию кроме Карт Карно.
Всем привет. У меня такой вопрос как можно еще минимизировать функции кроме Карт Карно(диаграма Вейча) подробный алгоритм. И что такое...

Как можно упростить код с TextBox или же минимизировать данную функцию?
На форме есть 2 textBox, ВОПРОС...Как можно упрастить код или же минимозировать данную функцию ??? Либо как реализовать можно по другому? ...

Как записать такую функцию
Помогите (2n)!!, где (2n)!!=2*4*...*(2n)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru