Tôi đang chơi xung quanh với hồi quy logistic trong Python. Tôi đã thực hiện một phiên bản mà việc giảm thiểu chức năng chi phí được thực hiện thông qua gradient descent, và bây giờ tôi muốn sử dụng thuật toán BFGS từ scipy (scipy.optimize.fmin_bfgs).sử dụng chính xác scipy.optimize.fmin_bfgs
Tôi có một tập hợp dữ liệu (các tính năng trong ma trận X, với một mẫu trong mỗi hàng của X và các nhãn lặp lại trong y vector dọc). Tôi cố gắng để tìm thông số Theta để giảm thiểu:
tôi gặp khó khăn khi tìm hiểu cách fmin_bfgs hoạt động chính xác. Theo như tôi nhận được nó, tôi phải vượt qua một chức năng để được giảm thiểu và một tập hợp các giá trị ban đầu cho Thetas.
tôi làm như sau:
initial_values = numpy.zeros((len(X[0]), 1))
myargs = (X, y)
theta = scipy.optimize.fmin_bfgs(computeCost, x0=initial_values, args=myargs)
nơi computeCost tính toán J (Thetas) như minh họa ở trên. Nhưng tôi nhận được một số lỗi liên quan đến chỉ mục, vì vậy tôi nghĩ rằng tôi không cung cấp những gì fmin_bfgs mong đợi.
Có ai có thể làm sáng tỏ điều này không?
Ah, [gỡ lỗi vịt cao su] (http://en.wikipedia.org/wiki/Rubber_duck_debugging) =) – katrielalex
@katrielalex Đúng vậy !! : D – Cristina