-3

大多數分類算法都是爲提高訓練速度而開發的。但是,有沒有關於決策速度的任何分類器或算法(低計算複雜度和簡單的可實現結構)?我可以獲得足夠的訓練數據,並且可以忍受很長的訓練時間。有沒有能夠非常快速地做出決定的分類器?

回答

0

一般分類速度不應該是一個問題。一些例外是具有時間複雜度的算法,這取決於您訓練樣本的數量。一個例子是沒有訓練時間的k-Nearest-Neighbors,但是爲了分類,它需要檢查所有點(如果以一種天真的方式實現的話)。其他的例子都是與內核一起工作的分類器,因爲它們計算當前樣本和所有訓練樣本之間的內核。

許多分類器使用特徵和學習係數向量的標量乘積。幾乎在所有情況下,這些應該足夠快。例如:Logistic迴歸,線性SVM,感知器等等。見@lejlot的答案是一個不錯的名單。

如果這些速度仍然太慢,您可能會嘗試先減小特徵空間的尺寸,然後重試(這也會加快訓練時間)。

順便說一句,這個問題可能不適合StackOverflow,因爲它是相當廣泛和推薦,而不是面向問題。下次可能試試https://stats.stackexchange.com/

0

有很多分類,其快速的方法,你可以更或以下面的方式通過分類速度少排序模型(第一批 - 最快,最慢的最後所)

  1. 決策樹(尤其是與有限的深度)
  2. 線性模型(線性迴歸,邏輯迴歸,線性svm,lda,...)和樸素貝葉斯非線性模型基於顯式數據變換(Nystroem核近似,RVFL,RBFNN,EEM),核方法(如核SVM)和淺層神經網絡
  3. 隨機森林和其他委員會
  4. 大型神經網絡(即。 CNN)
  5. KNN任意距離

顯然這份名單並不詳盡,它只是顯示一些基本的想法。

獲得這種模型的一種方法是建立一個複雜的慢模型,然後用它作爲黑盒子標籤生成器來訓練一個簡單的模型(但是在潛在的無限訓練集上) - 從而以成本獲得快速分類器非常昂貴的培訓。有很多作品表明,例如,通過在深度nn的輸出上訓練淺層神經網絡,可以做到這一點。

相關問題