13-2-p13_min2多元函数乘法


a = 2.5
b = 1.4


def y(x1, x2):
    return (x1 - a)**2 * (x2 - b)**2


def dy_dx1(x1, x2):
    return 2*(x1-a) * (x2-b)**2


def dy_dx2(x1, x2):
    return (x1-a)**2 * 2 * (x2-b)


def dx1(x1, x2, alpha):
    return -dy_dx1(x1, x2) * alpha


def dx2(x1, x2, alpha):
    return -dy_dx2(x1, x2) * alpha

x1, x2 = 1.0, 1.0
for _ in range(10000):
    x1 += dx1(x1, x2, 0.005)
    x2 += dx2(x1, x2, 0.005)

    # print(abs(x1 - a) / a, abs(x2 - b) / b)

print(x1, x2)
D:\Anaconda\python.exe D:/AI20/HJZ/05-深度学习项目/deeplearning_20/p13_min2.py
1.0549918585746898 1.3999999999999948

Process finished with exit code 0

发布了88 篇原创文章 · 获赞 2 · 访问量 1305

猜你喜欢

转载自blog.csdn.net/HJZ11/article/details/104494427