文字分類學習(六) AdaBoost和SVM

2022-01-24 09:11:23 字數 920 閱讀 3979

直接從特徵提取,跳到了boostsvm,是因為自己一直在寫程式,分析垃圾文字,和思考文字分類用於識別垃圾文字的短處。自己學習文字分類就是為了識別垃圾文字。

中間的部落格待自己研究透徹後再補上吧。

因為獲取垃圾文字的時候,發現垃圾文字不是簡單的垃圾文字,它們具有多個特性:

1. 種類繁多,難有共同的特徵。涵蓋各行各業的廣告,或者政治敏感內容,或者色情資訊。不像對文字分類那樣,屬於一類的文字,他們的內容都屬於那個領域之內,特徵提取就很方便

2. 具有一定的偽裝性,表面上看80%的內容都屬於正常,只有20%再介紹廣告的內容

3. 形式多樣化,有大量火星文的垃圾文字,有大量鏈結的垃圾文字,這些都無法分詞。

之所考慮到adaboost ,一是因為確實有人研究過adaboost和svm結合,將svm訓練出來的弱分類器集合成乙個強分類器。

二是因為,我自己我感覺svm對於以上描述的垃圾文字的分類效果會很差。svm原本訓練出來的就是乙個強分類器,如果調節引數始終正確率在50%左右,那麼就是乙個弱分類器了,通過adaboost是否可以解決這個問題呢?一切都有待實際操作去驗證。

adaboost 演算法的基本思想:

一開始給定乙個訓練集n,給訓練集標上權值w,初始階段所有訓練樣本的w = 1/n 。

然後通過機器學習進行學習得到一分類器(弱分類器),發現訓練集有些樣本通過這個弱分類器會分錯,我們把這些分錯的樣本權值增加,並且計算這個分類器的權值

第三步,改變權值過後的訓練集,我們選擇那些權值大的訓練樣本(上乙個分類器分錯的樣本)挑選出來繼續訓練,得到第二個分類器,再重複第二步的步驟

迭代t次之後,得到t個分類器,和他們的權值,這些個分類器組合起來就是乙個強分類器。

adaboost和svm結合起來:

文字分類學習(一) 開篇

今天開始,就要認真開始對待文字分類,在此之前只是稀疏的看過一些部落格,了解一下貝葉斯分類。之所以要學習文字分類,是因為我做的畢業設計就是關於文字分類和機器學習的。突然感覺到時間不太夠用了,而擺在我面前的實際上是乙個很浩大的工程,不得不抓緊時間開始研究。至於為什麼畢業設計會選擇文字分類演算法,因為覺得...

文字分類學習(一) 開篇

今天開始,就要認真開始對待文字分類,在此之前只是稀疏的看過一些部落格,了解一下貝葉斯分類。之所以要學習文字分類,是因為我做的畢業設計就是關於文字分類和機器學習的。突然感覺到時間不太夠用了,而擺在我面前的實際上是乙個很浩大的工程,不得不抓緊時間開始研究。至於為什麼畢業設計會選擇文字分類演算法,因為覺得...

文字分類學習筆記(5) KNN

knn分類器實現,執行極慢不推薦 coding utf 8 from numpy import from scipy import sparse,io from sklearn.datasets import load files from sklearn.cross validation impo...