美文网首页
梯度下降求x*x+y*y最小值

梯度下降求x*x+y*y最小值

作者: Ylm007 | 来源:发表于2017-12-22 12:47 被阅读0次
# 梯度下降方式
# 求f(x)=x*x+y*y的最小值


# x方向梯度
def f(x, y):
    return x * x + y * y;


# 初始化点
x = 10;
y = 10;

# 学习速率
speed = 0.01;
temp = f(x, y);

while 1:
    # x方向梯度
    gX = speed * 2 * x;
    # y方向梯度
    gY = speed * 2 * y;
    # 0.0001的误差
    if abs(f(x - gX, y - gY) - temp) > 0.00001:
        # 更新梯度
        x = x - gX;
        y = y - gY;
        temp = f(x, y);
        continue;
    break;

print(x, y)
不如

相关文章

网友评论

      本文标题:梯度下降求x*x+y*y最小值

      本文链接:https://www.haomeiwen.com/subject/nfbtgxtx.html