TF-IDF
----------------------------------------------------------------
認爲一個單詞出現的文本頻率越小,它區別不一樣類別的能力就越大,因此引入了逆文本頻度 IDF 的概念:以 TF 和 IDF 的乘積做爲特徵空間座標系的取值測度。算法
Wi 表示第 i 個特徵詞的權重,TFi(t,d) 表示詞 t 在文檔 d 中的出現頻率,N 表示總的文檔數,DF(t) 表示包含 t 的文檔數。用 TF-IDF 算法來計算特徵詞的權重值是表示當一個詞在這篇文檔中出現的頻率越高,同時在其餘文檔中出現的次數越少,則代表該詞對於表示這篇文檔的區分能力越強,因此其權重值就應該越大。網絡
將全部詞的權值排序,根據須要能夠有兩種選擇方式:
選擇權值最大的某一固定數 n 個關鍵詞
選擇權值大於某一閾值的關鍵詞
達觀數據的實踐經驗是,計算機選擇的關鍵詞數量在 10∽15 個,人工選擇的關鍵詞數量在 4∽6 個比較合適,一般具備最好的覆蓋度和專指度。函數
另外考慮到單詞區別不一樣類別的能力,TFIDF 法認爲一個單詞出現的文本頻數越小,它區別不一樣類別文本的能力就越大。所以引入了逆文本頻度 IDF 的概念,以 TF 和 IDF 的乘積做爲特徵空間座標系的取值測度,並用它完成對權值 TF 的調整,調整權值的目的在於突出重要單詞,抑制次要單詞。可是在本質上 IDF 是一種試圖抑制噪音的加權,而且單純地認爲文本頻數小的單詞就越重要,文本頻數大的單詞就越無用,顯然這並非徹底正確的。IDF 的簡單結構並不能有效地反映單詞的重要程度和特徵詞的分佈狀況,使其沒法很好地完成對權值調整的功能,因此TF*IDF 法的精度並非很高。優化
文檔頻數 (Document Frequency, DF) 是最爲簡單的一種特徵選擇算法,它指的是在整個數據集中有多少個文本包含這個單詞。但若是某一稀有詞條主要出如今某類訓練集中,卻能很好地反映類別的特徵,而因低於某個設定的閾值而濾除掉,包含着重要的判斷信息被捨棄,這樣就會對分類精度有必定的影響。排序
在提取文本特徵時,應首先考慮剔除這些對文本分類沒有用處的虛詞,而在實詞中,又以名詞和動詞對於文本的類別特性的表現力最強,因此能夠只提取文本中的名詞和動詞做爲文本的一級特徵詞。圖片
根據統計,二字詞彙可能是經常使用詞,不適合做爲關鍵詞,所以對實際獲得的二字關鍵詞能夠作出限制。好比,抽取 5 個關鍵詞,本文最多容許 3 個二字關鍵詞存在。文檔
CNN卷積神經網絡
----------------------------------------------------------------
·特徵 & 卷積運算
拿圖片舉例。
幾張圖片都畫了X這個字母,不過,每一個圖片X的樣子不同,可是,他們都被定義爲X。
他們總會有幾個相同的特徵,如某幾段線條相識。而這幾個相識的線條,就說是幾個特徵(feature)。
通過卷積運算,每個feature從原始圖像中提取出來「特徵」,獲得feature map(特徵圖。是均值填入一張新的圖。)
feature map其中的值,越接近爲1表示對應位置和feature的匹配越完整,越是接近-1,表示對應位置和feature的反面匹配越完整,而值接近0的表示對應位置沒有任何匹配或者說沒有什麼關聯。
對這張X圖來講,咱們用的是3個feature,所以最終產生3個 feature map。神經網絡
·非線性激活層
用非線性激活函數做用後,feature map裏的值<0的值所有設爲0。map
·pooling池化層
爲了縮小特徵圖的數據量。
池化分爲兩種,Max Pooling 最大池化、Average Pooling平均池化。顧名思義,最大池化就是取最大值,平均池化就是取平均值。
由於最大池化保留了每個小塊內的最大值,因此它至關於保留了這一塊最佳匹配結果(由於值越接近1表示匹配越好)。
CNN可以發現圖像中是否具備某種特徵。這也就可以幫助解決以前提到的計算機逐一像素匹配的死板作法。方法
·全鏈接層
全鏈接層要作的,就是對以前的全部操做進行一個總結,給咱們一個最終的結果。它最大的目的是對特徵圖進行維度上的改變,來獲得每一個分類類別對應的機率值。
卷積層採用的是「局部鏈接」的思想。
那除窗口以外的、未鏈接的部分怎麼辦呢? 咱們都知道,採用的是將窗口滑動起來的方法後續進行鏈接。這個方法的思想就是「參數共享」 ,參數指的就是filter,用滑動窗口的方式,將這個filter值共享給原圖中的每一塊區域鏈接進行卷積運算。
仍是回來看接下來的操做,獲得了2X2的特徵圖後,對其應用全鏈接網絡,再全鏈接層中有一個很是重要的函數----Softmax,它是一個分類函數,輸出的是每一個對應類別的機率值。好比:
【0.5,0.03,0.89,0.97,0.42,0.15】就表示有6個類別,而且屬於第四個類別的機率值0.89最大,所以斷定屬於第四個類別。
所以直接將三個特徵圖改變維度直接變成一維的數據。一維數據也就是機率值。
·神經網絡的訓練與優化
訓練的就是那些卷積核(filter)。
BP算法---BackProp反向傳播算法,進行大量數據的訓練。
在訓練時,咱們採用的訓練數據通常都是帶有標籤label的圖片。若是圖片中的字母是X,則label=x,若是圖片中的字母是A,則label=A。 標籤能直觀地反映圖片。
在最開始,訓練前,咱們定義一個大小爲3X3的卷積核,那麼裏面具體的值是多少,咱們都不知道,但又不能爲0吧,因此就用隨機初始化法來進行賦值。剛開始有偏差。訓練的終極目的就是使得這個偏差最小,經常使用的方法是 梯度降低法。