features
前几个作业都是直接将图片的原始像素作为模型输入,本次作业是通过使用定向梯度直方图Histogram of Oriented Gradients (HOG)和HSV颜色空间。简单说,HOG不考虑图片的颜色信息,只捕获图片的纹理;而颜色直方图只考虑颜色,不考虑纹理。使用这两个方法一起工作,效果会更好。
Train SVM on features
learning_rates = [0.8e-7,1e-7,1.2e-7,1.4e-7]
regularization_strengths = [5e4,5.1e4]
for lr in learning_rates:
for rs in regularization_strengths:
svm = LinearSVM()
loss_history = svm.train(X_train_feats,y_train,learning_rate=lr,reg=rs,num_iters=1000)
train_pred = svm.predict(X_train_feats)
train_acc = np.mean(train_pred == y_train)
val_pred = svm.predict(X_val_feats)
val_acc = np.mean(val_pred == y_val)
if val_acc > best_val:
best_val = val_acc
best_svm