2013-08-12 116 views
0

這可能聽起來很天真,但我只是想確保在使用機器學習術語進行交談時,文檔羣集中的功能是從文檔中選擇的單詞,如果某些文字在詞幹或停用詞後被丟棄。文檔聚類/分類中的功能?

我正在嘗試使用LibSvm庫,它說不同類型的{no_of_instances,no_of_features}有不同的方法。

就像no_of_instances遠低於no_of_features一樣,線性內核也可以。如果兩者都很大,線性就會很快。但是,如果no_of_features很小,則非線性內核更好。

因此,對於我的文檔聚類/分類,我有少量的文檔像100,每個文檔可能有2000左右的文字。所以我落入小no_of_instances和大no_of_features類別取決於我認爲是什麼功能。

我想爲文檔使用tf-idf。

那麼no_of_features是我從tf-idf獲得的向量的大小嗎?

回答

1

你在這裏談論的只是其中一種可能性,實際上是定義文檔特徵的最微不足道的方式。在機器學習中,術語特徵是從輸入空間(在該特定示例 - 從文檔空間)到某個抽象空間的任何映射,其適合於特定的機器學習模型。大多數ML模型(如神經網絡,支持向量機等)都在數值向量上工作,所以特徵必須是從文件到(恆定大小)數字向量的映射。這是有時選擇包owrds的表示的原因,其中我們具有單詞'計數向量作爲文檔表示。只要我們可以定義特定的條件概率,就可以使用特定的模型來克服這個限制,例如樸素貝葉斯(或用於支持SVM的自定義內核,使其能夠處理非數字數據)在這裏,最基本的方法是將包含特定單詞的文檔或不以「特徵」作爲對待。一般來說,這不是唯一的可能性,有幾十種方法使用統計特徵,語義特徵(基於一些本體論,如wordnet)等。

總結 - 這只是一個,最簡單的文檔表示機器學習模型。首先要好好理解基礎知識,但遠不是「特徵定義」。

編輯

no_of_features是你爲自己的文檔表示向量的大小,因此,如果您使用TF-IDF,則導致vecor的大小是一個no_of_featuers

+0

如果是tf-idf,它會是矢量的大小嗎? –

+1

對於tf-idf,'j'th'文件的partiular'i'th'特徵將是'tf(i,j)* idf(i)',其中'tf(i,j)'是數字第i個單詞在'j'th'文檔中出現(按其長度標準化),'idf(i)'是(文檔用'i'th'單詞劃分的文檔數量)的對數。這些特徵的數量將等於被分析的單詞數量(可能是steemed,沒有停用詞或者在另一個詞中被過濾 - 基於知識的方式) – lejlot