Python函数从未见过b

2024-06-16 12:32:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python写作业,但是问题出了点问题,我以前没见过函数,不知有没有人能帮我,谢谢

这是python函数

def dF(x):
    return 2 * A.T @ (A @ x - np.eye(len(A), dtype=float))

def F(x):
    residual = A @ x - np.eye(len(A), dtype=float)
    return np.sum(residual ** 2)

def gradient_descent(F, dF, x, steps=100, lr=0.001):
    loss = []

    for _ in range(steps):
        dx = dF(x)
        x -= lr * dx
        loss.append(F(x))

    return x, loss

A = np.array([
    [2, 5, 1, 4, 6],
    [3, 5, 0, 0, 0],
    [1, 1, 0, 3, 8],
    [6, 6, 2, 2, 1],
    [8, 3, 5, 1, 4],
], dtype=float)


X, loss1 = gradient_descent(F, dF, A * 0, steps=300)
(A @ X).round(2), loss1[-1]

我不知道*和@的意思,这对我来说很难


Tags: 函数dflenreturndefnpfloatsteps