從小白視角理解“數據挖掘十大算法”

目錄

一、PageRank

當一篇論文被引用的次數越多,證明這篇論文的影響力越大。
一個網頁的入鏈越多,入鏈越優質,網頁的質量越高

原理

網頁影響力=阻尼影響力+所有入鏈集合頁面的加權影響力之和
  • 一個網頁的影響力:所有入鏈的頁面的加權影響力之和
  • 一個網頁對其他網頁的影響力貢獻爲:自身影響力/出鏈數量
  • 用戶並不都是按照跳轉鏈接的方式來上網,還有其他的方式,比如直接輸入網址訪問,
    所以需要設定阻尼因子,代表了用戶按照跳轉鏈接來上網的概率

比喻說明

  1. 微博
    一個人的微博粉絲數不一定等於他的實際影響力,還需要看粉絲的質量如何。
    如果是殭屍粉沒什麼用,但如果是很多大V或者明星關注,影響力很高。
  2. 店鋪的經營
    顧客比較多的店鋪質量比較好,但是要看看顧客是不是託。
  3. 興趣
    在感興趣的人或事身上投入了相對多的時間,對其相關的人事物也會投入一定的時間。
    那個人或事,被關注的越多,它的影響力/受衆也就越大。

關於阻尼因子

  1. 通過你的鄰居的影響力來評判你的影響力,但是如果不能通過鄰居來訪問你,並不代表你沒有影響力,因爲可以直接訪問你,所以引入阻尼因子的概念
  2. 海洋除了有河流流經,還有雨水,但是下雨是隨機的
  3. 提出阻尼係數,還是爲了解決某些網站明明存在大量出鏈(入鏈),但是影響力卻非常大的情形。
    出鏈例子:hao123導航網頁,出鏈極多入鏈極少
    入鏈例子:百度谷歌等搜索引擎,入鏈極多出鏈極少。

二、Apriori(關聯分析)

關聯關係挖掘,從消費者交易記錄中發掘商品與商品之間的關聯關係

原理

1.支持度
某個商品組合出現的次數與總次數之間的比例
5次購買,4次買了牛奶,牛奶的支持度爲4/5=0.8
5次購買,3次買了牛奶+麪包,牛奶+麪包的支持度爲3/5=0.6

2.置信度
購買了商品A,有多大概率購買商品B,A發生的情況下B發生的概率是多少
買了4次牛奶,其中2次買了啤酒,(牛奶->啤酒)的置信度爲2/4=0.5
買了3次啤酒,其中2次買了牛奶,(啤酒->牛奶)的置信度爲2/3-0.67

3.提升度
衡量商品A的出現,對商品B的出現 概率提升的程度

提升度(A->B)=置信度(A->B)/支持度(B)

提升度>1,有提升; 提升度=1,無變化; 提升度<1,下降

4.頻繁項集
項集:可以是單個商品,也可以是商品組合
頻繁項集是支持度大於最小支持度(Min Support)的項集

計算過程

  1. 從K=1開始,篩選頻繁項集。
  2. 在結果中,組合K+1項集,再次篩選
  3. 循環1、2步。直到找不到結果爲止,K-1項集的結果就是最終結果。

擴展:FP-Growth 算法
Apriori 算法需要多次掃描數據庫,性能低下,不適合大數據量
FP-growth算法,通過構建 FP 樹的數據結構,將數據存儲在 FP 樹中,只需要在構建 FP 樹時掃描數據庫兩次,後續處理就不需要再訪問數據庫了。

比喻說明

啤酒和尿不溼擺在一起銷售
沃爾瑪通過數據分析發現,美國有嬰兒的家庭中,一般是母親在家照顧孩子,父親去超市買尿不溼。
父親在購買尿不溼時,常常會順便搭配幾瓶啤酒來犒勞自己,於是,
超市嘗試推出了將啤酒和尿不溼擺在一起的促銷手段,這個舉措居然使尿不溼和啤酒的銷量都大幅增加。

三、AdaBoost

原理

簡單的說,多個弱分類器訓練成爲一個強分類器。
將一系列的弱分類器以不同的權重比組合作爲最終分類選擇

計算過程

  1. 初始化基礎權重
  2. 獎權重矩陣,通過已的分類器計算錯誤率,選擇錯誤率最低的爲最優分類器
  3. 通過分類器權重公式,減少正確樣本分佈,增加錯誤樣本分佈,得到新的權重矩陣和當前k輪的分類器權重
  4. 將新的權重矩陣,帶入上面的步驟2和3,重新計算權重矩陣
  5. 迭代N輪,記錄每一輪的最終分類器權重,得到強分類器

比喻說明

  1. 利用錯題提升學習效率
    做正確的題,下次少做點,反正都會了
    做錯的題,下次多做點,集中在錯題上
    隨着學習的深入,做錯的題會越來越少
  2. 合理跨界提高盈利
    蘋果公司,軟硬結合,佔據了大部分的手機市場利潤,兩個領域的知識結合起來產生新收益

四、C4.5(決策樹)

決策就是對於一個問題,有多個答案,選擇答案的過程就是決策。
C4.5算法是用於產生決策樹的算法,主要用於分類
C4.5使用信息增益率做計算(ID3算法使用信息增益做計算)

原理

C4.5選擇最有效地方式對樣本集進行分裂,分裂規則是分析所有屬性的信息增益率
信息增益率越大,意味着這個特徵分類的能力越強,我們就要優先選擇這個特徵做分類

比喻說明

挑西瓜
拿到一個西瓜,先判斷它的紋路,如果很模糊,就認爲這不是好瓜,如果它清晰,就認爲它是一個好瓜,如果它稍稍模糊,就考慮它的密度,密度大於某個值,就認爲它是好瓜,否則就是壞瓜。

五、CART(決策樹)

CART:Classification And Regression Tree,中文叫分類迴歸樹,即可以做分類也可以做迴歸。
什麼是分類樹、迴歸樹?
分類樹:處理離散數據,也就是數據種類有限的數據,輸出的是樣本的類別 。
迴歸樹:可以對連續型的數值進行預測,輸出的是一個數值,數值在某個區間內都有取值的可能。
迴歸問題和分類問題的本質一樣,都是針對一個輸入做出一個輸出預測,其區別在於輸出變量的類型

原理

  • CART分類樹
    與C4.5算法類似,只是屬性選擇的指標是基尼係數。
    基尼係數反應了樣本的不確定度,基尼係數越小,說明樣本之間的差異性小,不確定程度低。
    分類是一個不確定度降低的過程,CART在構造分類樹的時候會選擇基尼係數最小的屬性作爲屬性的劃分。
  • CART 迴歸樹
    採用均方誤差或絕對值誤差爲標準,選取均方誤差或絕對值誤差最小的特徵

比喻說明

  • 分類:預測明天是陰、晴還是雨
  • 迴歸:預測明天的氣溫是多少度

六、樸素貝葉斯(條件概率)

樸素貝葉斯是一種簡單有效的常用分類算法,計算未知物體出現的條件下各個類別出現的概率,取概率最大的分類

原理

假設輸入的不同特徵之間是獨立的,基於概率論原理,通過先驗概率P(A)、P(B)和條件概率推算出後概率出P(A|B)
P(A):先驗概率,即在B事件發生之前,對A事件概率的一個判斷。
P(B|A):條件概率,事件 B 在另外一個事件 A 已經發生條件下的發生概率
P(A|B):後驗概率,即在B事件發生之後,對A事件概率的重新評估。

比喻說明

給病人分類

症狀 職業 疾病
打噴嚏 護士 感冒
打噴嚏 農夫 過敏
頭痛 建築工人 腦震盪
頭痛 建築工人 感冒
打噴嚏 教師 感冒
頭痛 教師 腦震盪

給定一個新病人,是一個打噴嚏的建築工人,計算他患感冒的概率

七、SVM

SVM: Support Vector Machine,中文名爲支持向量機,是常見的一種分類方法,在機器學習中,SVM 是有監督的學習模型。
什麼是有監督學習和無監督學習 ?
有監督學習:即在已有類別標籤的情況下,將樣本數據進行分類。
無監督學習:即在無類別標籤的情況下,樣本數據根據一定的方法進行分類,即聚類,分類好的類別需要進一步分析後,從而得知每個類別的特點。

原理

找到具有最小間隔的樣本點,然後擬合出一個到這些樣本點距離和最大的線段/平面。

硬間隔:數據是線性分佈的情況,直接給出分類
軟間隔:允許一定量的樣本分類錯誤。
核函數:非線性分佈的數據映射爲線性分佈的數據。

比喻說明

1.分隔桌上一堆紅球和籃球
用一根線將桌上的紅球和藍球分成兩部分
2.分隔箱子裏一堆紅球和籃球
用一個平面將箱子裏的紅球和藍球分成兩部分

八、KNN

機器學習算法中最基礎、最簡單的算法之一,既能分類也能迴歸,通過測量不同特徵值之間的距離來進行分類。

原理

根據場景,選取距離計算方式,計算待分類物體與其他物體之間的距離
對於K個最近的鄰居,所佔數量最多的類別,預測爲該分類對象的類別

計算步驟
1.根據場景,選取距離計算方式,計算待分類物體與其他物體之間的距離

  1. 統計距離最近的K個鄰居
  2. 對於K個最近的鄰居,所佔數量最多的類別,預測爲該分類對象的類別

比喻說明

近朱者赤,近墨者黑

九、K-Means(聚類)

K-means是一個聚類算法,是無監督學習,生成指定K個類,把每個對象分配給距離最近的聚類中心

原理

1.隨機選取K個點爲分類中心點
2.將每個點分配到最近的類,這樣形成了K個類
3.重新計算每個類的中心點。比如都屬於同一個類別裏面有10個點,那麼新的中心點就是這10個點的中心點,一種簡單的方式就是取平均值。

比喻說明

1.選老大
大家隨機選K個老大,誰離得近,就是那個隊列的人(計算距離,距離近的人聚合在一上進心)
隨着時間的推移,老大的位置在變化(根據算法,重新計算中心點),直到選出真正的中心老大(重複,直到準確率最高)

2.Kmeans和Knn的區別
Kmeans開發,選老大,風水輪流轉,直到選出最佳中心老大
Knn小弟加隊伍,離那個班相對近,就是那個班的

十、EM(聚類)

EM 的英文是 Expectation Maximization,所以 EM 算法也叫最大期望算法,也是聚類算法的一種。
EM和K-Means的區別:

  1. EM是計算概率,KMeans是計算距離。
  2. EM屬於軟聚類,同一樣本可能屬於多個類別;而K-Means屬於硬聚類,一個樣本只能屬於一個類別。所以前者能夠發現一些隱藏的數據。

原理

先估計一個大概率的可能參數,然後再根據數據不斷地進行調整,直到找到最終的確認參數

比喻說明

菜稱重。
很少有人用稱對菜進行稱重,再計算一半的分量進行平分。
大部分人的方法是:

  1. 先分一部分到碟子 A 中,再把剩餘的分到碟子 B 中
  2. 觀察碟子 A 和 B 裏的菜是否一樣多,哪個多就勻一些到少的那個碟子裏
  3. 然後再觀察碟子 A 和 B 裏的是否一樣多,重複下去,直到份量不發生變化爲止。

 

本文作者:雪山飛豬

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章