Xấp xỉ hàm về cơ bản là một vấn đề hồi quy (theo nghĩa chung, nghĩa là trái ngược với phân loại trong đó lớp rời rạc), tức là người ta cố gắng học ánh xạ hàm từ đầu vào (trong trường hợp của bạn ) thành giá trị thực đầu ra . Vì chúng tôi không có bảng đầy đủ tất cả các giá trị đầu vào / đầu ra, nhưng thay vào đó, hãy tìm hiểu và ước tính cùng một lúc, các tham số (ở đây: trọng số ) không thể được tính trực tiếp từ dữ liệu. Một cách tiếp cận phổ biến ở đây là sử dụng độ dốc gốc .f(s,a)Q(s,a)Q(s,a)w
Dưới đây là thuật toán chung để học với xấp xỉ hàm giá trịQ(s,a)
Ở đâu ...
- α∈[0,1] là tốc độ học tập
- γ∈[0,1] là tỷ lệ chiết khấu
- maxa′Q(s′,a′) là hành động ở trạng thái tối đa hóaa′s′Q(s′,a)
- ∇⃗ wQ(s,a) là độ dốc của trong . Trong trường hợp tuyến tính của bạn, gradient chỉ đơn giản là một vectơQ(s,a)w(f1(s,a),...,fn(s,a))
Các thông số / trọng số-cập nhật (bước 4) có thể được đọc theo cách như sau:
- (r+γ∗max′aQ(s′,a′))−(Q(s,a)) là lỗi giữa dự đoán và giá trị "thực tế" cho , đó là phần thưởng nhận được bây giờ CỘNG phần thưởng được mong đợi, được giảm giá theo chính sách tham lam sau đóQ(s,a)Q(s,a)r γ∗max′aQ(s′,a′)
- Vì vậy, tham số / vectơ trọng lượng được chuyển sang hướng dốc nhất (được đưa ra bởi gradient ) theo số lượng lỗi đo được, được điều chỉnh bởi .∇⃗ wQ(s,a)α
Nguồn chính:
Chương 8 Giá trị gần đúng của cuốn sách (khuyến nghị chung) Học tập củng cố: Giới thiệu của Sutton và Barto (Ấn bản đầu tiên). Thuật toán chung đã được sửa đổi vì nó thường được thực hiện để tính thay vì . Tôi cũng đã bỏ dấu vết đủ điều kiện để tập trung vào gradient descent, do đó chỉ sử dụng một bước-sao lưuQ(s,a)V(s)e
Tham khảo thêm