1. 程式人生 > >《資料探勘核心技術揭祕》筆記

《資料探勘核心技術揭祕》筆記

原先我對於資料探勘只停留在了爬蟲獲取資料,使用工具對資料進行清洗,然後整理彙總出需要的資訊的這個層次。看完這本書之後才發現了之前使用爬蟲得到資料只能叫做資料獲取,真正的資料探勘遠遠複雜,在資料探勘中有著那麼多的magic的演算法,其中每個單元的知識都需要一本書去好好學習,這裡只是簡單的介紹下,其中對於上TB資料的處理,在使用了這些演算法之後不單單能夠得到自己需要的資料因素,還可以做機器學習更深一層的應用,簡直厲害的不像話。這本書是阿里巴巴高階工程師多年經驗結晶,通過實際資料探勘專案經驗,深入淺出闡明資料探勘的本質,以案例驅動為導向,結合理論分析,內容涵蓋資料探勘領域的所有關鍵技術,包括基礎知識、聚類、分類、迴歸與應用。如果以後進入到大資料這個行業,其中的知識都是必不可缺少的,這裡簡單的記錄其中的終點知識,就當是索引,等以後回頭深入的學習補充。


一:簡介

  • 資料探勘主要可以分為三類:聚類、分類、迴歸
  • Pig SQL指令碼語言,生成自定義函式
  • MATLAB語言 分為主接指令互動和M檔案的程式設計方式
  • WEKA 機器學習軟體 -> Rapodminer
  • R語言的學習方法

二:數學基礎

  • 主要需要的數學知識有:概率統計、矩陣理論、相似度計算、線性代數(最小二乘法)

三:資料處理技術

  • 索引技術包括:資料庫索引和文字索引(倒排索引)
  • 外排序、MapReduce技術、hash技術(Bloom filter)

四:聚類

  • 聚類與分類的不同在於具有資料特徵的選取和提取的過程
> -K均值聚類、K-medoids聚類(劃分聚類)
> -BIRCH                  (層次聚類)
  • 離群點挖掘技術:統計、鄰近度、密度、聚類、高維資料

五:分類

  • 決策樹:求取淨現值的期望值大於等於零的概率(取樣&分裂)
    • 資訊熵、資訊增益
    • ID3演算法、C4.5演算法
  • K近鄰分類(基於例項的學習)
    • K近鄰演算法 — 通過加權重或者近點合併客服資料不對稱)
    • K-D樹 — 主要應對於K近鄰索引->多維空間搜尋(範圍、最近鄰)
  • 支援向量機:實現間隔最大化已得到最優分類,等同求解一個凸二次規劃的最優化演算法

    • 侷限:大規模樣本訓練、多分類問題
    • 最優決策邊界的選取
    • 核函式:將低維不可分資料轉化為高維可分 \ upsigma

      • 多項式核:K(xi, xj) = (xi , xj+1)^d

      • 高斯核: K (xi, xj) = exp (- (xi - xj)^2/ 2 σ ^2)

  • 貝葉斯學習:使用概率來表示形式的不確定性實現歸納推理

    • 公式:P(A|B) = P(B|A)P(A) / P(B)
    • 樸素貝葉斯分類器(侷限:類條件屬性之間相關性很大)
    • 貝葉斯信念網路:通過用圖形來捕獲模型
  • 人工神經網路:通過不斷修復各種神經元之間互聯的權值

    • 激勵函式:Sigmoid型函式(S形函式)->邏輯迴歸系統
    • BP神經網路演算法:w = w+ △w = w - α( δ E/ δ W) = w - α δ iai(通過迭代使裙紙不再調整)
  • 遺傳演算法

六:迴歸

  • 卡爾曼演算法 -> 貝葉斯學習線上性迴歸系統的一種應用(單層神經網路)
    • 卡爾曼濾波 -> 最小方差準則
  • 推薦系統

    • 基於協同過濾的推薦(計算相似度)
    • 基於內容的推薦
    • 潛在因子演算法

    Netflix的推薦演算法
    OCR 模式識別