Đạo hàm theo hướng và định lý hướng tăng dốc nhất (Directional Derivative)
Đạo hàm theo hướng của hàm đa biến f(x) dọc theo một vector hướng v ≠ 0 được định nghĩa:
Tiến độ của tôi ở bài này
Điểm được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: numerical-gradient-finite-differences.
Nội dung đề bài
Mô tả bài toán
Đạo hàm theo hướng của hàm đa biến f(x) dọc theo một vector hướng v ≠ 0 được định nghĩa: Du f(x) = ∇ f(x) · u = ∇ f(x)T u trong đó u = v|v|2 là vector đơn vị chỉ hướng.
Theo bất đẳng thức Cauchy-Schwarz: - |∇ f(x)|2 ≤ Du f(x) ≤ |∇ f(x)|2 Đạo hàm theo hướng đạt giá trị lớn nhất khi và chỉ khi u cùng hướng với gradient ∇ f(x). Đây chính là nền tảng toán học của thuật toán Gradient Ascent / Descent trong Deep Learning!
Hãy viết hàm directional_derivative(grad: np.ndarray, v: np.ndarray) -> tuple[float, np.ndarray]:
- Chuẩn hóa vector v thành vector đơn vị u = v|v|2. Nếu |v|2 = 0, ném
ValueError. - Tính đạo hàm theo hướng Du f(x) = grad · u.
- Tìm vector đơn vị có hướng tăng dốc nhất (steepest ascent direction) uopt = grad|grad|2. Nếu |grad|2 = 0, uopt là vector số 0 cùng kích thước.
- Trả về tuple
(deriv_val: float, steepest_direction: np.ndarray).
Input
- Hàm
directional_derivative(grad,v): Các tham số đầu vào chứa dữ liệu Tensor/mảng NumPy hoặc giá trị siêu tham số tương ứng.
Output
- Hàm
directional_derivative: Trả về kết quả kiểuTuple[float, np.ndarray]theo đúng đặc tả kỹ thuật và kích thước quy định.
Ràng buộc
- Thời gian chạy tối đa: 6000ms.
- Giới hạn bộ nhớ: 512MB.
- Dữ liệu đầu vào hợp lệ theo đúng kiểu dữ liệu và miền giá trị được mô tả.
Ví dụ 1
Input
grad = np.array([3.0, 4.0])
v = np.array([1.0, 0.0])
d_val, steepest = directional_derivative(grad, v)Output
(3, [0.6, 0.8])Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
Ví dụ 2
Input
grad = np.array([1.0, 2.0, 2.0])
v = grad.copy()
d_val, steepest = directional_derivative(grad, v)Output
(3, [0.3333, 0.6667, 0.6667])Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
