cuốn sách gpt4 ai đã làm

c - Thực hiện giảm độ dốc (dốc nhất)

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 05:48:58 32 4
mua khóa gpt4 Nike

Tôi đang tìm kiếm thông tin về cách thực hiện Độ dốc (dốc nhất) Giảm dần Đề xuất nằm trong C. Tôi đang tìm giá trị tối thiểu của f(x)=||Ax-y||^2, cho A(n,n) và y(n).

Điều này khó khăn trong C (tôi nghĩ vậy) vì việc tính toán gradient Δf(x)=[df/dx(1), ..., df/dx(n)] yêu cầu tính toán đạo hàm.

Tôi chỉ muốn gửi cái này tới SO để có được hướng dẫn về cách lập trình nó, ví dụ:

1) Kích thước nào là tốt nhất để bắt đầu từ (1,2,...)

2) Gợi ý cách thực hiện đạo hàm từng phần

3) Trước tiên tôi có nên triển khai nó bằng ngôn ngữ đơn giản hơn (như python) - sau đó chuyển đổi sang C

4) v.v.

Hãy cho tôi biết những gì bạn nghĩ!

câu trả lời hay nhất

1) Bắt đầu ở dạng 2D để bạn có thể vẽ đường đi xuống và thực sự thấy thuật toán của mình đang chạy.

2) df/dx = (f(x+h)-f(xh))/(2*h) nếu f đánh giá rẻ, (f(x+h)-f(x))/h nếu đánh giá f đắt của. Việc lựa chọn h phải cân bằng giữa sai số cắt cụt (hầu hết là h lớn) và sai số làm tròn (h nhỏ). Giá trị điển hình của h là ~ pow(DBL_EPSILON, 1./3), nhưng số mũ thực tế phụ thuộc vào công thức đạo hàm, lý tưởng nhất là phải có hệ số tiền tố phụ thuộc vào f. Bạn có thể vẽ đồ thị đạo hàm số dưới dạng hàm của h theo thang logarit đối với một số điểm mẫu đã cho trong không gian tham số. Khi đó bạn sẽ thấy rõ phạm vi h phù hợp nhất với điểm lấy mẫu.

3) Có, bất cứ khi nào bạn thấy dễ dàng hơn.

4) Khó khăn nằm ở việc tìm ra kích thước bước tối ưu. Bạn có thể muốn sử dụng vòng lặp bên trong ở đây để tìm kiếm bước tốt nhất.

Về việc triển khai độ dốc (dốc nhất) trong c, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/3950349/

32 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress