Tôi đang cố gắng triển khai chức năng mất SVM và độ dốc của nó. Tôi tìm thấy một số dự án ví dụ thực hiện hai, nhưng tôi không thể tìm ra cách họ có thể sử dụng chức năng mất mát khi tính toán gradient.Tính toán độ dốc của chức năng mất SVM
Dưới đây là công thức của chức năng mất:
Những gì tôi không thể hiểu là làm thế nào tôi có thể sử dụng kết quả hàm tổn thất trong khi độ dốc tính toán?
Ví dụ dự án tính toán gradient như sau:
for i in xrange(num_train):
scores = X[i].dot(W)
correct_class_score = scores[y[i]]
for j in xrange(num_classes):
if j == y[i]:
continue
margin = scores[j] - correct_class_score + 1 # note delta = 1
if margin > 0:
loss += margin
dW[:,j] += X[i]
dW[:,y[i]] -= X[i]
DW là cho kết quả gradient. Và X là mảng dữ liệu huấn luyện. Nhưng tôi không hiểu làm thế nào đạo hàm của hàm mất kết quả trong mã này.
Bạn đang sử dụng ví dụ nào? – Prophecies