[英]How to adapt HOG features vector to linear svm input
我正在使用HOG以便通過圖像A提取一組特征。HOG返回1xN個元素的特征向量。 但是,線性SVM對於每個樣本僅接受2個特征,即訓練數據矩陣的大小為Mx2。 因此,我如何調整HOG向量以在線性SVM上進行訓練。 請幫我。 謝謝
“線性SVM每個樣本僅接受2個特征”是什么意思? 您可能對SVM功能如何接受其訓練數據感到困惑。 這是我如何使用它的簡單示例:
首先,讓我們使用fitcsvm
使用500個隨機數據樣本(訓練數據矩陣中的行)訓練SVM模型,每個樣本有1000個元素(訓練數據矩陣中的列),其中前250個樣本在類別1中(第一個250行訓練標簽),最后250個樣本在第0類中(最后250行訓練標簽):
>> training_data = rand(500, 1000);
>> training_labels = [ones(250,1); zeros(250,1)];
>>
>> svm_model = fitcsvm(training_data, testing_data)
svm_model =
ClassificationSVM
PredictorNames: {1x1000 cell}
ResponseName: 'Y'
ClassNames: [0 1]
ScoreTransform: 'none'
NumObservations: 500
Alpha: [418x1 double]
Bias: 2.3217
KernelParameters: [1x1 struct]
BoxConstraints: [500x1 double]
ConvergenceInfo: [1x1 struct]
IsSupportVector: [500x1 logical]
Solver: 'SMO'
Properties, Methods
我們可以為10個測試樣本生成一些隨機測試數據,每個樣本包含1000個元素,並從中創建一些預測:
>> test_data = rand(10, 1000);
>> predicted_classes = predict(svm_model, test_data)
predicted_classes =
1
1
1
1
1
0
0
0
1
0
這是否回答你的問題?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.