坐标下降法是一种常用的优化算法,用于求解多元函数的最优解。它的基本思想是通过迭代更新每个坐标方向上的变量,以逐步逼近最优解。在本篇文章中,我们将使用Python实现坐标下降法,并给出相应的源代码。
首先,我们需要明确坐标下降法的迭代更新规则。在每一轮迭代中,我们选择一个坐标方向,并将该方向上的变量更新为使得目标函数值最小化的值。具体更新规则如下:
- 初始化变量x和迭代次数iter_num。
- 循环执行以下步骤,直到达到最大迭代次数或满足停止条件:
a. 随机选择一个坐标方向d。
b. 计算在坐标方向d上使得目标函数值最小的值x_new。
c. 更新变量x为x_new。
d. 增加迭代次数iter_num。
接下来,我们将使用一个简单的例子来说明坐标下降法的实现过程。假设我们要求解函数f(x, y) = x^2 + y^2 的最小值。
import random
def coordinate_descent(f, init_x, init_y,