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

文字分類的演算法總結

本文對文字分類中的常用演算法進行了小結,比較它們之間的優劣,為演算法的選擇提供依據。
一、決策樹(Decision Trees)
優點:
1、決策樹易於理解和解釋.人們在通過解釋後都有能力去理解決策樹所表達的意義。
2、對於決策樹,資料的準備往往是簡單或者是不必要的.其他的技術往往要求先把資料一般化,比如去掉多餘的或者空白的屬性。
3、能夠同時處理資料型和常規型屬性。其他的技術往往要求資料屬性的單一。
4、決策樹是一個白盒模型。如果給定一個觀察的模型,那麼根據所產生的決策樹很容易推出相應的邏輯表示式。
5、易於通過靜態測試來對模型進行評測。表示有可能測量該模型的可信度。
6、在相對短的時間內能夠對大型資料來源做出可行且效果良好的結果。
7、可以對有許多屬性的資料集構造決策樹。
8、決策樹可很好地擴充套件到大型資料庫中,同時它的大小獨立於資料庫的大小。
缺點:
1、對於那些各類別樣本數量不一致的資料,在決策樹當中,資訊增益的結果偏向於那些具有更多數值的特徵。
2、決策樹處理缺失資料時的困難。
3、過度擬合問題的出現。
4、忽略資料集中屬性之間的相關性。
二、人工神經網路
優點:
分類的準確度高,並行分佈處理能力強,分佈儲存及學習能力強,對噪聲神經有較強的魯棒性和容錯能力,能充分逼近複雜的非線性關係,具備聯想記憶的功能等。
缺點:
神經網路需要大量的引數,如網路拓撲結構、權值和閾值的初始值;不能觀察之間的學習過程,輸出結果難以解釋,會影響到結果的可信度和可接受程度;學習時間過長,甚至可能達不到學習的目的。
三、遺傳演算法
優點:
1、與問題領域無關切快速隨機的搜尋能力。
2、搜尋從群體出發,具有潛在的並行性,可以進行多個個體的同時比較,魯棒性好。
3、搜尋使用評價函式啟發,過程簡單。
4、使用概率機制進行迭代,具有隨機性。
5、具有可擴充套件性,容易與其他演算法結合。
缺點:
1、遺傳演算法的程式設計實現比較複雜,首先需要對問題進行編碼,找到最優解之後還需要對問題進行解碼,
2、另外三個運算元的實現也有許多引數,如交叉率和變異率,並且這些引數的選擇嚴重影響解的品質,而目前這些引數的選擇大部分是依靠經驗.沒有能夠及時利用網路的反饋資訊,故演算法的搜尋速度比較慢,要得到比較精確的解需要較多的訓練時間。
3、演算法對初始種群的選擇有一定的依賴性,能夠結合一些啟發演算法進行改進。
四、KNN演算法(K-Nearest Neighbour)
優點:
1、簡單、有效。
2、重新訓練的代價較低(類別體系的變化和訓練集的變化,在Web環境和電子商務應用中是很常見的)。
3、計算時間和空間線性於訓練集的規模(在一些場合不算太大)。
4、由於KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對於類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。
5、該演算法比較適用於樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域採用這種演算法比較容易產生誤分。
缺點:
1、KNN演算法是懶散學習方法(lazy learning,基本上不學習),比一些積極學習的演算法要快很多。
2、類別評分不是規格化的(不像概率評分)。
3、輸出的可解釋性不強,例如決策樹的可解釋性較強。
4、該演算法在分類時有個主要的不足是,當樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有可能導致當輸入一個新樣本時,該樣本的K個鄰居中大容量類的樣本佔多數。該演算法只計算“最近的”鄰居樣本,某一類的樣本數量很大,那麼或者這類樣本並不接近目標樣本,或者這類樣本很靠近目標樣本。無論怎樣,數量並不能影響執行結果。可以採用權值的方法(和該樣本距離小的鄰居權值大)來改進。
5、計算量較大。目前常用的解決方法是事先對已知樣本點進行剪輯,事先去除對分類作用不大的樣本。
五、支援向量機(SVM)
優點:
1、可以解決小樣本情況下的機器學習問題。
2、可以提高泛化效能。
3、可以解決高維問題。
4、可以解決非線性問題。
5、可以避免神經網路結構選擇和區域性極小點問題。
缺點:
1、對缺失資料敏感。
2、對非線性問題沒有通用解決方案,必須謹慎選擇Kernelfunction來處理。
六、樸素貝葉斯
優點:
1、樸素貝葉斯模型發源於古典數學理論,有著堅實的數學基礎,以及穩定的分類效率。
2、NBC模型所需估計的引數很少,對缺失資料不太敏感,演算法也比較簡單。
缺點:
1、理論上,NBC模型與其他分類方法相比具有最小的誤差率。但是實際上並非總是如此,這是因為NBC模型假設屬性之間相互獨立,這個假設在實際應用中往往是不成立的(可以考慮用聚類演算法先將相關性較大的屬性聚類),這給NBC模型的正確分類帶來了一定影響。在屬性個數比較多或者屬性之間相關性較大時,NBC模型的分類效率比不上決策樹模型。而在屬性相關性較小時,NBC模型的效能最為良好。
2、需要知道先驗概率。
3、分類決策存在錯誤率
七、Adaboosting方法
1、adaboost是一種有很高精度的分類器。
2、可以使用各種方法構建子分類器,Adaboost演算法提供的是框架。
3、當使用簡單分類器時,計算出的結果是可以理解的。而且弱分類器構造極其簡單。
4、簡單,不用做特徵篩選。
5、不用擔心overfitting。
八、Rocchio演算法
優點:
容易實現,計算(訓練和分類)特別簡單,它通常用來實現衡量分類系統性能的基準系統,而實用的分類系統很少採用這種演算法解決具體的分類問題。
九、各種分類演算法綜合比較
Calibrated boosted trees的效能最好,
隨機森林第二,
uncalibrated bagged trees第三,
calibratedSVMs第四,
uncalibrated neural nets第五。
效能較差的是樸素貝葉斯,決策樹。
有些演算法在特定的資料集下表現較好。

相關推薦

基於協同訓練的半監督文字分類演算法

標籤: 半監督學習,文字分類 作者:煉己者 --- 本部落格所有內容以學習、研究和分享為主,如需轉載,請聯絡本人,標明作者和出處,並且是非商業用途,謝謝! 如果大家覺得格式看著不舒服,也歡迎大家去看我的簡書 半監督學習文字分類系列 用半監督演算法做文字分類(sklearn) sklearn半監督學習(

文字分類——演算法效能評估

內容提要 資料集 英文語料 中文語料 評估指標 召回率與準確率 F1-評測值 微平均與巨集平均 混淆矩陣   優秀的文字分類模型必須經得住真實資料集的驗證,因而分類器

基於機器學習的文字分類演算法的研究

1. 簡述 文字分類的方法屬於有監督的學習方法,分類過程包括文字預處理、特徵抽取、降維、分類和模型評價。本文首先研究了文字分類的背景,中文分詞演算法。然後是對各種各樣的特徵抽取進行研究,包括詞項頻率-逆文件頻率和word2vec,降維方法有主成分分析法和潛在索引分析,最後是對分類演算法進行研究,

文件分類演算法總結

文件分類的概念 文件分類就是將一篇文件自動指定到幾個預定義的文字類別中。 向量空間模型 文件分類多使用向量空間模型(VSM,vector space model),向量空間模型將文件中提取出若干特徵詞,按照特徵詞出現的的頻率,將文字轉換成空間中的點,通過比較點之間的距離確定文件的

聚類演算法分類演算法總結

聚類演算法總結   原文: http://blog.chinaunix.net/uid-10289334-id-3758310.html 聚類演算法的種類: 基於劃分聚類演算法(partition clusterin

文字分類演算法之--貝葉斯分類演算法的實現Java版本

package com.vista;import com.vista.ChineseSpliter;import com.vista.ClassConditionalProbability;import com.vista.PriorProbability;import com.vista.Trainin

文字分類演算法--樸素貝葉斯

貝葉斯定理 貝葉斯定理用公式表示: p(Y|X)=P(X|Y)P(Y)p(X) 其中,p(Y)是先驗概率,P(Y|X)是後驗概率,也就是要求的概率。 樸素貝葉斯演算法原理 樸素貝葉斯分類演算法是一種生成模型。訓練的過程是學習聯合概率分佈p(x,

文字分類演算法綜述

業務背景最近一段時間在今日頭條國際化部門實習,做的文字質量工作。主要是文字分類,就是用一些機器學習或者深度學習的方法過濾掉低俗的新聞。因為做的是小語種,比如說法語,德語,意語,泰米爾語等,標註力量特別有限,有些語種甚至找不到標註人員。在這種情況下,要通過模型準確的識別出低俗新

文字分類總結

笨妞很少做文字分類,因為工作中文字分類確實不怎麼用得到,唯一一個專案用到短文字分類,驗證集acc和f1都到90%以上,所以在笨妞印象中文字分類應該是很簡單的分類問題,都不屬於NLP問題。偶然碰到DC競賽中“達觀杯”文字分類大賽,嘗試了一下新聞類文字的分類。其實並沒有那麼簡單。

文字分類演算法之--KNN演算法的簡介

1、KNN演算法的簡介 kNN演算法就是找到k個最相似的樣本,這些樣本所在的類,就是當前文件的所屬的類。如下圖:綠色圓圈表示你想分類的文字,其他是已知類別的樣本。圖中其他形狀和綠色圓圈的距離代表了相似

基於深度學習的大規模多標籤文字分類任務總結

自然語言處理方向的論文模擬到現在,有以下想法: 1. 很多模型都為啟發式演算法,從直觀上很好理解,但是對於大多數人來說,就是一個黑盒,70%時間都在處理資料和調參。 2. 在資料競賽中,常用的模型就是CNN和RNN,先調出baseline,然後再進行模型融合

基於樸素貝葉斯分類器的文字分類演算法(上)

轉載請保留作者資訊: 作者:phinecos(洞庭散人)  Preface 本文緣起於最近在讀的一本書-- Tom M.Mitchell的書中第6章詳細講解了貝葉斯學習的理論知識,為了將其應用到實際中來,參考了網上許多資料,從而得此文。文章將分為兩個部分,第一部分將介紹貝葉斯學習的相關理論()。第二部

一種根據關鍵字進行分類文字分類演算法

這樣我們可以得出這個演算法的重點: 1.提取關鍵字 如何自動提取關鍵字呢?我們知道IDF值在一定程度上可以表達一個詞的重要程度,像“我的”,“你的”這樣的關鍵字肯定無法判斷出文章的類別,他們的IDF值也是較低的。而“AK47”,“火箭炮”這樣的關鍵字可以

fastrtext︱R語言使用facebook的fasttext快速文字分類演算法

FastText是Facebook開發的一款快速文字分類器,提供簡單而高效的文字分類和表徵學習的方法,不過這個專案其實是有兩部分組成的。理論介紹可見部落格:NLP︱高階詞向量表達(二)——FastText(簡述、學習筆記) 本輪新更新的fastr

文字分類演算法總結

本文對文字分類中的常用演算法進行了小結,比較它們之間的優劣,為演算法的選擇提供依據。 一、決策樹(Decision Trees) 優點: 1、決策樹易於理解和解釋.人們在通過解釋後都有能力去理解決策樹所表達的意義。 2、對於決策樹,資料的準備往往是

文字分類——NLV演算法研究與實現

內容提要 1 引言 2 NLV演算法理論 2.1 訓練模型 2.2 分類模型 3 NLV演算法實現 3.1 演算法描述 4 實驗及效能評估 4.1 實驗設計 4

系統學習機器學習之總結(一)--常見分類演算法優缺點

主要是參考網上各種資源,做了整理。其實,這裡更多的是從基礎版本對比,真正使用的時候,看資料,看改進後的演算法。 1. 五大流派 ①符號主義:使用符號、規則和邏輯來表徵知識和進行邏輯推理,最喜歡的演算法是:規則和決策樹 ②貝葉斯派:獲取發生的可能性來進行概率推理,最喜歡的演算法是:樸素貝葉

機器學習筆記(3)——使用聚類分析演算法文字分類分類數k未知)

聚類分析是一種無監督機器學習(訓練樣本的標記資訊是未知的)演算法,它的目標是將相似的物件歸到同一個簇中,將不相似的物件歸到不同的簇中。如果要使用聚類分析演算法對一堆文字分類,關鍵要解決這幾個問題: 如何衡量兩個物件是否相似 演算法的效能怎麼度量 如何確定分類的個數或聚類

最優化演算法——常見優化演算法分類總結

之前做特徵選擇,實現過基於群智慧演算法進行最優化的搜尋,看過一些群智慧優化演算法的論文,在此做一下總結。 最優化問題   在生活或者工作中存在各種各樣的最優化問題,比如每個企業和個人都要考慮的一個問題“在一定成本下,如何使利潤最大化”等。最優化方法是一種數學方法,它是研究

各常用分類演算法的優缺點總結:DT/ANN/KNN/SVM/GA/Bayes/Adaboosting/Rocchio

1決策樹(Decision Trees)的優缺點 決策樹的優點: 一、 決策樹易於理解和解釋.人們在通過解釋後都有能力去理解決策樹所表達的意義。 二、 對於決策樹,資料的準備往往是簡單或者是不必要的.其他的技術往往要求先把資料一般化,比如去掉多餘的或者空白的屬性。 三、 能夠同時處理資料型和常規型屬性。其他的