1. 程式人生 > >文件分類演算法總結

文件分類演算法總結

文件分類的概念

文件分類就是將一篇文件自動指定到幾個預定義的文字類別中。

向量空間模型

文件分類多使用向量空間模型(VSM,vector space model),向量空間模型將文件中提取出若干特徵詞,按照特徵詞出現的的頻率,將文字轉換成空間中的點,通過比較點之間的距離確定文件的類別。

機器學習演算法

機器學習演算法分為兩個階段,第一階段是學習階段,第二階段是分類階段,學習階段使用訓練集構造分類器進行分類

樸素貝葉斯演算法

基本思想:
根據貝葉斯公式:
文件d屬於類c的概率:

p(c|d)=p(c)p(d|c)/p(d)

p(c)為所有item屬於類別c的item的概率,即屬於c類的item的個數除以總item的數量
p(d|c)為屬於c類別的某個item為文字d的概率
p(d)為所有item中文件d出現的概率
對於每個文件d,對於每個類別c1,c2 ……cn求出p(d|ci),其中最大值對應的類別就是d所屬的類別。
p(d)對於每個類都相同,設計演算法的時候不用考慮
對於p(d|c),d可以被表示為 d向量,由n個關鍵詞出現的頻率組成,則 d=(a1,a2,,an)
,其中a1到an線性獨立
p(d|c)=p(a1|c)p(a2|c)p(a3|c)p(an|c)
學習階段:
針對訓練集合求每個類別的概率p(c)
對文件進行分詞,求每個特徵值a對應每個類別的 p(ai|c)
分類階段:
針對每個待分類集合,將其提取特徵詞,按照特徵向量求 p(ai|c)
p(ai|c)p(c
)
求最大值,最大值即為所在的類別。

KNN演算法

基本思想:
其維護一個長度為k的優先佇列,每次分類的時候調整優先佇列,對每一個待分類的item和每一個訓練item比較距離,使最後佇列中的item為與待分類item的距離最鄰近的k個item,最後取這k個item中多數派的類別為所需要的類別。
學習階段:隨機構建k佇列
分類階段:遍歷待分類文件集合,對每一個item與訓練集中的所有item求距離,調整k佇列,使佇列中的元素為訓練集與中待分類item距離最近的前k個item,最後根據k佇列的組成確定待測試item的類別。