我有一組數據,每個條目有9個「特徵」(正數從1e-3到9e3),我需要使用每個條目的特徵來選擇5個可能的條目標籤。5個標籤和9個特徵的漸變下降分類
我知道我需要定義一個評分函數,該函數接受特徵,對它們進行加權並返回一個數字,反映每個標籤有多可能被賦予這些特徵和權重。損失函數將在輸入上凸出:它將返回得分函數輸出和人工提供的標籤之間的差異。評分函數的權重矩陣將用梯度下降進行優化,以使損失最小化。
具體來說,我有一些看起來像這樣:
entry 1> (ground-truth label), [0.9, 0.2, 1e-2, 6.853, 0.882 ... 1]
*prediction: label 3* *actually: label 4* *loss = some number, update weights*
entry 2> (ground-truth label), [features 1...9]
*prediction: label 1* *actually: label 1* *loss = 0, don't update weights*
...
entry 80,000> (etc...)
如何選擇這些功能映射到五個可能的標籤之一的可能性打分函數?
會是什麼樣子:
for (loop through all data)
[features] <dot product> [weights] = prediction
if(prediction near (number))
assign label 1
else if (prediction near (number 2)
assign label 2
else (etc...)
hinge_loss_function(prediction) = loss
[weights] = loss*stepsize
end for
這種感覺非常錯誤的,但我是新來的梯度下降。關於如何進行多標籤分類的任何想法?
感謝您抽空看看我的問題 - 我已經編輯它來提供更多的細節,並希望更好地反映了我瞭解梯度下降。 請注意,有五種可能的標籤,並且每行數據都被分配了接地真實人標籤。 – DEED
我已經更新了我的答案。如果這對你有幫助,你可以上傳和/或接受它。 –