1. 程式人生 > >自然語言處理NLP(三)

自然語言處理NLP(三)

樣本點中的關鍵度量指標:距離

  • 定義:
  • 常用距離:
    • 歐氏距離,euclidean–通常意義下的距離;
    • 馬氏距離,manhattan–考慮到變數間的相關性,且與變數單位無關;
    • 餘弦距離,cosine–衡量變數相似性;

TF-IDF矩陣

  • 一種用於資訊檢索和勘察的一種加權技術,是一種統計方法,用於評估詞語或字對檔案集與語料庫中的重要程度;
  • TF-IDF:TF(詞頻)和IDF(倒文件頻率)的乘積,其中TF表示某個關鍵詞出現的頻率,IDF為所有文件數目除以包含該詞語的文件數目的對數值,|D|表示所有文件的數目,|wεd|表示包含詞語w的文件數目;

聚類演算法

層次聚類

  • 對給定的物件集合進行層次分解,分為凝聚(自下而上)和分裂(自上而下);

1、開始時每個樣本各自作為一類; 2、規定某種度量作為樣本間距及類與類之間的距離,並計算; 3、將距離最短的兩個類聚為一個新類; 4、重複2-3,不斷聚集最近的兩個類,每次減少一個類,直到所有樣本被聚為一類;

動態聚類:k-means

1、選擇K個點作為初始質心; 2、將每個點指派到最近的質心,形成K個簇(聚類) 3、重新計算每個簇的質心; 4、重複2-3直至質心基本不變,此時演算法達到穩定狀態; 需要多次執行,然後比較各次執行結果,然後選取最優解,K值使用肘部法則進行確定;

K-means演算法的優缺點

  • 效率高,且不易受初始值選擇的影響;
  • 不能處理非球形的簇;
  • 不能處理不同尺寸、密度的簇;
  • 要先剔除離群值,因為它可能存在較大幹擾;

基於密度的方法:DBSCAN

  • 演算法將具有足夠高密度的區域劃分為簇,並可以發現任何形狀的聚類;
  • r-鄰域:給定點半徑r內的區域;
  • 核心點:若一個點的r-鄰域至少包含最少數目M個點,則稱該點為核心點;
  • 直接密度可達:若p點在核心點q的r-鄰域內,則p是從q出發可以直接密度可達;
  • 若存在點鏈P1,P2,…,Pn,P1=q,Pn=P,Pi+1是從Pi關於r和M直接密度可達,則稱點P是從q關於r和M密度可達的;
  • 若樣本集D中存在點o,使得p,q是從o關於r和M密度可達的,那麼點p、q是關於r和M密度相連的;
  • 演算法基本思想: 1、指定合適的r和M; 2、計算所有樣本點,若點p的r鄰域中有超過M個點,則建立一個以p為核心點的新簇; 3、反覆查詢這些核心點直接密度可達(之後為密度可達)的點,將其加入到相應的簇,對於核心點發生“密度相連”狀況的簇,進行合併; 4、當無新的點可以被新增到任何簇時,演算法完成;

類相互之間的距離的計算方法

  • 離差平方和法–ward 計算兩個類別之間的離差平方和,找出最小的離差平方和,然後將這兩個類別聚為一類;
  • 類平均法–average 通過計算兩個類別之間的所有點的相互距離,求其均值,然後作為這兩個類之間距離均值,找出最小的距離均值,然後將這兩個類聚為一類;
  • 最大距離法–complete 讓兩個類之間相距最遠的點作為兩個類之間的距離,然後找出最大距離中最小的兩個類,將他們聚為一類;