Tôi muốn tối đa hóa hàm với một tham số. Vì vậy, tôi chạy gradient descent (hoặc, thực tế): Tôi bắt đầu với tham số ban đầu và tiếp tục thêm gradient (lần một số yếu tố tỷ lệ học tập nhỏ hơn và nhỏ hơn), đánh giá lại gradient cho tham số mới, và cứ thế cho đến khi hội tụ.Làm thế nào để chạy thuật toán gốc dốc khi tham số không gian bị hạn chế?
Nhưng có một vấn đề: Thông số của tôi phải giữ nguyên là, vì vậy nó không được coi là < = 0 vì chức năng của tôi sẽ không được xác định. Tìm kiếm gradient của tôi đôi khi sẽ đi vào các khu vực như vậy mặc dù (khi nó là tích cực, gradient nói với nó để đi một chút thấp hơn, và nó vượt qua).
Và để làm mọi thứ tồi tệ hơn, độ dốc tại điểm như vậy có thể là số âm, dẫn hướng tìm kiếm tới nhiều giá trị thông số âm hơn. (Lý do là hàm mục tiêu chứa nhật ký, nhưng gradient không.)
Một số thuật toán tốt (đơn giản) nào xử lý vấn đề tối ưu hóa hạn chế này là gì? Tôi hy vọng chỉ là một sửa chữa đơn giản cho thuật toán của tôi. Hoặc có lẽ bỏ qua gradient và làm một số loại tìm kiếm dòng cho các tham số tối ưu?
+1 đối với phương thức phạt hình sự –