1. Главная
  2. Библиотека
  3. Высшая математика
  4. Минимизировать функцию методами градиентного спуска, на...
Решение задачи на тему

Минимизировать функцию методами градиентного спуска, наискорейшего спуска, сопряженных градиентов. В качестве пулевой точки взять начало координат, точность е = 10^-3 f(X)=2x2 - x * y + y2 - x - y +1

  • Высшая математика
  • #Численные методы
  • #Теория оптимизации
Минимизировать функцию методами градиентного спуска, наискорейшего спуска, сопряженных градиентов. В качестве пулевой точки взять начало координат, точность е = 10^-3 f(X)=2x2 - x * y + y2 - x - y +1

Условие:

Минимизировать функцию методами градиентного спуска, наискорейшего спуска, сопряженных градиентов. В качестве пулевой точки взять начало координат, точность е = 10^-3

f(X)=2x2 - x * y + y2 - x - y +1

Решение:

Для минимизации функции $f(X) = 2x^2 - xy + y^2 - x - y + 1$ с использованием методов градиентного спуска, наискорейшего спуска и сопряженны...

Градиент функции f(X)f(X) в точке (x,y)(x, y) определяется как вектор частных производных:

f(X)=(fx,fy) \nabla f(X) = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right)

Вычислим частные производные:

  1. fx=4xy1\frac{\partial f}{\partial x} = 4x - y - 1
  2. fy=x+2y1\frac{\partial f}{\partial y} = -x + 2y - 1

Таким образом, градиент функции:

f(X)=(4xy1,x+2y1) \nabla f(X) = \left( 4x - y - 1, -x + 2y - 1 \right)

Начальная точка: (x0)=(0,0)(x0) = (0, 0)

  1. f(0,0)=(4001,0+201)=(1,1) \nabla f(0, 0) = (4 \cdot 0 - 0 - 1, -0 + 2 \cdot 0 - 1) = (-1, -1)

    Вычисляем шаг:

    α=0.1(выбираем шаг обучения) \alpha = 0.1 \quad (\text{выбираем шаг обучения})
    Обновляем координаты:
    x0α(1)=0+0.1=0.1 x0 - \alpha \cdot (-1) = 0 + 0.1 = 0.1
    y0α(1)=0+0.1=0.1 y0 - \alpha \cdot (-1) = 0 + 0.1 = 0.1

  2. f(0.1,0.1)=(40.10.11,0.1+20.11)=(0.4,0.8) \nabla f(0.1, 0.1) = (4 \cdot 0.1 - 0.1 - 1, -0.1 + 2 \cdot 0.1 - 1) = (-0.4, -0.8)

    Обновляем:

    x2=0.1+0.10.4=0.14 x_2 = 0.1 + 0.1 \cdot 0.4 = 0.14
    y2=0.1+0.10.8=0.18 y_2 = 0.1 + 0.1 \cdot 0.8 = 0.18

  3. до достижения точности ϵ=103\epsilon = 10^{-3}.

Для метода наискорейшего спуска необходимо найти оптимальный шаг α\alpha для каждой итерации. Это делается путем минимизации функции вдоль направления градиента.

  1. α=argminαf(0+α(1),0+α(1)) \alpha^* = \arg\min_{\alpha} f(0 + \alpha \cdot (-1), 0 + \alpha \cdot (-1))

    Подставляем и находим α\alpha^*.

  2. аналогично предыдущему методу.

Метод сопряженных градиентов требует начальной точки и начального направления. Начнем с градиента в начальной точке.

  1. d0=f(0,0)=(1,1) d_0 = -\nabla f(0, 0) = (1, 1)

    Находим α\alpha для минимизации вдоль d0d_0.

  2. и вычисляем новый градиент.

  3. с использованием формулы для сопряженных направлений.

Каждый из методов требует итераций до тех пор, пока изменение в значении функции не станет меньше ϵ=103\epsilon = 10^{-3}. В результате мы получим минимальные значения функции и соответствующие координаты (x,y)(x, y).

Для точного выполнения всех шагов и получения конечного результата, необходимо продолжать итерации до достижения заданной точности.

Выбери предмет