在一個特定的應用程序中,我需要機器學習(我知道我在本科學習的內容)。我使用支持向量機並解決了問題。它的工作正常。支持向量機(SVM)的一些實現細節
現在我需要改進系統。這裏存在的問題有:
我每週都會得到額外的培訓示例。現在系統開始使用更新的示例(舊示例+新示例)進行新鮮訓練。我想讓它漸進式學習。使用以前的知識(而不是以前的例子)用新的例子來獲得新模型(知識)
對我的訓練例子有3個類。所以,每個訓練樣例都適用於這三個類中的一個。我想要「未知」類的功能。任何不適合這三類的東西都必須標記爲「未知」。但我不能把「未知」當成一個新班級,並提供這方面的例子。
假設實現了「未知」類。當類是「未知」時,應用程序的用戶輸入他認爲該類可能是什麼。現在,我需要將用戶輸入納入學習。我也不知道如何做到這一點。如果用戶輸入一個新的類別(即,一個不在訓練集合中的類別),它會有什麼不同?
我需要選擇一種新的算法還是支持向量機可以做到這一點? PS:我使用libsvm實現SVM。
我不太確定增量算法。儘管我相信增量算法存在,但它們之間並不多見,因此尋找實現可能很困難。 – Cerin 2010-08-10 12:16:10
@Chris S是的,我同意。這可能是因爲批量培訓通常是一個更簡單,更實用的解決方案。 – Stompchicken 2010-08-10 14:18:45
圍繞libsvm進行遊戲時,看起來分配給所有類的概率總和總是等於1,所以你永遠不會有一個「未知」樣本對所有類都有低概率的情況。我甚至無法找到如何「欺騙」它給予所有班級相同的概率。 – Cerin 2010-08-11 17:33:58