訂閱
糾錯
加入自媒體

人工智能之Apriori算法

人工智能機(jī)器學(xué)習(xí)有關(guān)算法內(nèi)容,請參見公眾號“科技優(yōu)化生活”之前相關(guān)文章。人工智能之機(jī)器學(xué)習(xí)主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下Apriori算法。 ^_^ 

Apriori算法是經(jīng)典的挖掘頻繁項集關(guān)聯(lián)規(guī)則的數(shù)據(jù)挖掘算法,也是十大經(jīng)典機(jī)器學(xué)習(xí)算法之一。

Agrawal和Srikant兩位博士在1994年提出了Apriori算法,主要用于做快速的關(guān)聯(lián)規(guī)則分析。

A priori在拉丁語中指"來自以前"。當(dāng)定義問題時,通常會使用先驗知識或者假設(shè),這被稱作"一個先驗"(a priori)。Apriori算法正是基于這樣的事實:算法使用頻繁項集性質(zhì)的先驗性質(zhì),即頻繁項集的所有非空子集也一定是頻繁的。

Apriori算法概念:

Apriori算法使用一種稱為逐層搜索的迭代方法,其中k項集用于探索(k+1)項集。首先,通過掃描數(shù)據(jù)庫,累計每個項的計數(shù),并收集滿足最小支持度的項,找出頻繁1項集的集合。該集合記為L1。然后,使用L1找出頻繁2項集的集合L2,使用L2找出L3,如此下去,直到不能再找到頻繁k項集。每找出一個Lk需要一次數(shù)據(jù)庫的完整掃描。Apriori算法使用頻繁項集的先驗性質(zhì)來壓縮搜索空間。

注:數(shù)據(jù)庫中的數(shù)據(jù)可以是結(jié)構(gòu)化的,也可以是半結(jié)構(gòu)化的,甚至還可以是分布在網(wǎng)絡(luò)上的異構(gòu)型數(shù)據(jù)。

Apriori算法是一種最有影響掘布爾關(guān)聯(lián)規(guī)則頻繁項集的算法。其核心是基于兩階段頻集思想的遞推算法。該關(guān)聯(lián)規(guī)則在分類上屬于單維、單層、布爾關(guān)聯(lián)規(guī)則。在這里,所有支持度大于最小支持度的項集稱為頻繁項集,簡稱頻集。

Apriori算法中術(shù)語

1、項集和K-項集

令I(lǐng)={i1,i2,i3……id}是數(shù)據(jù)中所有項的集合,而T={t1,t2,t3….tN}是所有事務(wù)的集合,每個事務(wù)ti包含的項集都是I的子集。在關(guān)聯(lián)分析中,包含0個或多個項的集合稱為項集。如果一個項集包含K個項,則稱它為K-項集?占侵覆话魏雾椀捻椉。

2、支持度計數(shù)

項集的一個重要性質(zhì)是它的支持度計數(shù),即包含特定項集的事務(wù)個數(shù),數(shù)學(xué)上,項集X的支持度計數(shù)σ(X)可以表示為 :

σ(X)=|{ti|X?ti,ti∈T}|
其中,符號|*|表示集合中元素的個數(shù)。

3、關(guān)聯(lián)規(guī)則

關(guān)聯(lián)規(guī)則是形如X→Y的蘊含表達(dá)式,其中X和Y是不相交的項集,即X∩Y=空。

關(guān)聯(lián)規(guī)則的強(qiáng)度可以用它的支持度(support)和置信度(confidence)來度量。

支持度確定規(guī)則可以用于給定數(shù)據(jù)集的頻繁程度,而置信度確定Y在包含X的事務(wù)中出現(xiàn)的頻繁程度。 
支持度(s)和置信度(c)這兩種度量的形式定義如下: 
s(X→Y)=σ(X∪Y)/N 
c(X→Y)=σ(X∪Y)/σ(X) 
其中, σ(X∪Y)是(X∪Y)的支持度計數(shù),N為事務(wù)總數(shù),σ(X)是X的支持度計數(shù)。

對于靠譜的關(guān)聯(lián)規(guī)則,其支持度與置信度均應(yīng)大于設(shè)定的閾值。那么,關(guān)聯(lián)分析問題即等價于:對給定的支持度閾值min_sup、置信度閾值min_conf,找出所有的滿足下列條件的關(guān)聯(lián)規(guī)則:

支持度>=min_sup

置信度>=min_conf

把支持度大于閾值的項集稱為頻繁項集(frequent itemset)。因此,關(guān)聯(lián)規(guī)則分析可分為下列兩個步驟:

1)生成頻繁項集F=X∪Y;

2)在頻繁項集F中,找出所有置信度大于最小置信度的關(guān)聯(lián)規(guī)則X->Y

Apriori算法思想

1)找出所有的頻集,這些項集出現(xiàn)的頻繁性至少和預(yù)定義的最小支持度一樣。

2)由頻集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則,這些規(guī)則必須滿足最小支持度和最小可信度。

3)使用第1)步找到的頻集產(chǎn)生期望的規(guī)則,產(chǎn)生只包含集合的項的所有規(guī)則,其中每一條規(guī)則的右部只有一項,這里采用的是中規(guī)則的定義。

4)一旦這些規(guī)則被生成,那么只有那些大于用戶給定的最小可信度的規(guī)則才被留下來。為了生成所有頻集,使用了遞歸的方法。

Aprior算法程序如下:

Apriori算法優(yōu)點:

1)使用先驗性質(zhì),大大提高了頻繁項集逐層產(chǎn)生的效率

2)簡單易理解;

3)數(shù)據(jù)集要求低

4)擴(kuò)展性較好,可以并行計算。

Apriori算法缺點:

1)    可能產(chǎn)生大量的候選集;

2)    可能需要重復(fù)掃描整個數(shù)據(jù)庫,非常耗時。

Apriori算法改進(jìn):

定理:如果規(guī)則X->Y?X 不滿足置信度閾值, 則對于X的子集X′->Y?X′也不滿足置信度閾值。

根據(jù)此定理,可對規(guī)則樹進(jìn)行剪枝,其具體改進(jìn)的算法如下:

Apriori算法應(yīng)用:

通過對數(shù)據(jù)的關(guān)聯(lián)性進(jìn)行了分析和挖掘,挖掘出的這些信息在決策制定過程中具有重要的參考價值。Apriori 算法被廣泛應(yīng)用于各種領(lǐng)域:

1)應(yīng)用于商業(yè)活動領(lǐng)域,應(yīng)用于消費市場價格分析中,它能夠很快的求出各種產(chǎn)品之間的價格關(guān)系和它們之間的影響。

2)應(yīng)用于網(wǎng)絡(luò)安全領(lǐng)域,通過模式的學(xué)習(xí)和訓(xùn)練可以發(fā)現(xiàn)網(wǎng)絡(luò)用戶的異常行為模式,能夠快速的鎖定攻擊者,提高了基于關(guān)聯(lián)規(guī)則的入侵檢測系統(tǒng)的檢測性。

3)應(yīng)用于高校管理中。隨著高校貧困生人數(shù)的不斷增加,學(xué)校管理部門資助工作難度也越加增大。針對這一現(xiàn)象,將關(guān)聯(lián)規(guī)則的Apriori算法應(yīng)用到貧困助學(xué)體系中,挖掘出的規(guī)則也可以有效地輔助學(xué)校管理部門有針對性的開展貧困助學(xué)工作。

4)應(yīng)用于移動通信領(lǐng)域;谝苿油ㄐ胚\營商正在建設(shè)的增值業(yè)務(wù)Web數(shù)據(jù)倉庫平臺,對來自移動增值業(yè)務(wù)方面的調(diào)查數(shù)據(jù)進(jìn)行了相關(guān)的挖掘處理,從而獲得了關(guān)于用戶行為特征和需求的間接反映市場動態(tài)的有用信息,這些信息在指導(dǎo)運營商的業(yè)務(wù)運營和輔助業(yè)務(wù)提供商的決策制定等方面具有十分重要的參考價值。

結(jié)語:

Apriori算法是一種挖掘關(guān)聯(lián)規(guī)則的頻繁項集算法,其核心思想是通過候選集生成和情節(jié)的向下封閉檢測兩個階段來挖掘頻繁項集。主要用于做快速的關(guān)聯(lián)規(guī)則分析。Apriori算法在世界上廣為流傳,得到極大的關(guān)注。Apriori算法已經(jīng)被廣泛的應(yīng)用到商業(yè)、網(wǎng)絡(luò)安全、高校管理和移動通信等領(lǐng)域。

                                 ------以往文章推薦------                                   

機(jī)器學(xué)習(xí)

深度學(xué)習(xí)

人工神經(jīng)網(wǎng)絡(luò)

決策樹

隨機(jī)森林

強(qiáng)化學(xué)習(xí)

遷移學(xué)習(xí)

遺傳算法

樸素貝葉斯

支持向量機(jī)

蒙特卡羅方法

馬爾科夫模型

Hopfield神經(jīng)網(wǎng)絡(luò)

回歸模型

K鄰近算法

卷積神經(jīng)網(wǎng)絡(luò)

受限玻爾茲曼機(jī)

循環(huán)神經(jīng)網(wǎng)絡(luò)

長短時記憶神經(jīng)網(wǎng)絡(luò)

Adaboost算法

ID3算法

C4.5算法

CART算法

K-Means算法

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標(biāo)題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號