中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
常用數(shù)據(jù)挖掘算法

常用數(shù)據(jù)挖掘算法

(2012-02-03 22:55:42)

From http://blog.sina.com.cn/s/blog_68ffc7a40100wnb4.html

本文對數(shù)據(jù)挖掘的基礎(chǔ)理論,做個框架性的總結(jié)概要,羅列一些通用的數(shù)據(jù)挖掘的算法和思路,對于自己來講是一個回顧,同時也便于自己以后查閱。

頻繁模式挖掘,關(guān)系挖掘,以及相互關(guān)系挖掘

所謂頻繁模式挖掘,指的是比如在商品交易數(shù)據(jù)庫記錄中,找出一起出現(xiàn)的商品集合,這些商品集合出現(xiàn)的頻率要高于一個閾值,這些經(jīng)常出現(xiàn)的商品集合稱之為頻繁模式。

頻繁模式的思路很簡單,首先統(tǒng)計出每個單個商品出現(xiàn)的次數(shù),這就構(gòu)成了一個一維表。然后再根據(jù)一維表,商品兩兩組合產(chǎn)生一個二維表。然后再由二維表產(chǎn)生三維表,直至到n維表。其中可以利用apriori,進行剪枝,也就是說一維表中如果出現(xiàn)的頻率低于閾值的商品,就可以直接去掉,應(yīng)為包含該商品的高維商品集合的出現(xiàn)頻率不可能高于該閾值,可以直接剪枝去掉。

頻繁模式挖掘還有一種更加高效的方式,就是FP Growth,該方法通過掃描一遍數(shù)據(jù)庫,在內(nèi)存中構(gòu)造一顆FPtree,基于這棵樹就可以產(chǎn)生所有的頻繁模式。很顯然FP Growth算法的效率要高很多,但是其缺陷也很明顯,在內(nèi)存中維護一顆FPtree的開銷也是很大的。為了解決這個問題,一個直接的思路是將數(shù)據(jù)庫水平分表到各臺機器上,在各臺機器上執(zhí)行本地的FPGrowth,然后再將各臺機器上的結(jié)果匯總起來,得到最終的FP Growth的結(jié)果。

所謂關(guān)系挖掘,值得是挖掘出各個項目之間的因果關(guān)系。關(guān)系挖掘的基礎(chǔ)是頻繁模式挖掘,通過頻繁模式挖掘,很容易得出關(guān)系,舉例就很容易明白,比如我們得到一個頻繁集合:

那么通過排列組合可以得到l的子集集合:

那么很容易得到下面的推理集合,也就是挖掘出的關(guān)系:

所有的關(guān)系挖掘本質(zhì)上都是基于頻繁模式推導(dǎo)出來的。

在關(guān)系挖掘中,有一種非常有用的關(guān)系模式挖掘:mining quantitative associationrules。所謂quantitative association rules是這樣一種關(guān)系模式:

該關(guān)系模式的挖掘,首先是確定我們所感興趣的屬性:quan1,quan2,cat,然后根據(jù)事先確定的間隔,將quan1,quan2按照一定的間隔劃分成一定的catorgory,然后進行頻繁模式挖掘,得出一些關(guān)系,然后將這些關(guān)系按照grid進行聚合,生成最后的關(guān)系模式。

通過關(guān)系挖掘挖出的關(guān)系中往往有很多不是非常有用,因此需要通過另外的指標(biāo)排除一些這樣的關(guān)系,這個指標(biāo)就是correlation,如下:

Correlation是用來衡量A,B之間的相關(guān)性,從而排除那些沒有意義的規(guī)則。

對于上述所提到的關(guān)系挖掘,有一種稱之為constraint-based associationmining,這是一種特殊的關(guān)系挖掘,它對于所挖掘出的條件加了一些限制條件,這些限制條件可能是由用戶提出的,其主要目的是排除一些不感興趣的關(guān)系。對于這種關(guān)系挖掘,最直接的辦法先按照最普通的關(guān)系挖掘方法進行挖掘,然后利用條件來對結(jié)果進行。但是還有更好的方法,就是在挖掘的過程中利用這些條件,從而縮小整個挖掘過程中的searchspace,從而提高效率。這些限制條件分為這么幾種:antimonotonic,monotonic,succinct,convertible,inconvertible,針對每一種的限制條件,都有一些通用的方法或策略來縮小挖掘的searchspace,可參閱相關(guān)資料。

分類和預(yù)測

分類樹

分類樹是一種很常用的分類方法,它該算法的框架表述還是比較清晰的,從根節(jié)點開始不斷得分治,遞歸,生長,直至得到最后的結(jié)果。根節(jié)點代表整個訓(xùn)練樣本集,通過在每個節(jié)點對某個屬性的測試驗證,算法遞歸得將數(shù)據(jù)集分成更小的數(shù)據(jù)集.某一節(jié)點對應(yīng)的子樹對應(yīng)著原數(shù)據(jù)集中滿足某一屬性測試的部分數(shù)據(jù)集.這個遞歸過程一直進行下去。

該算法是數(shù)據(jù)挖掘中常用的一類方法。

貝葉斯分類器

貝葉斯分類的思想很簡單,就是計算屬性和分類之間的條件概率,選擇使得條件概率最大的分類作為最終的分類結(jié)果,這是一種基于統(tǒng)計的分類方法,得到了廣泛的引用。

貝葉斯分類器分為兩種,一種是樸素貝葉斯分類器,它基于貝葉斯理論:

其中X代表特征向量, C代表分類.我們的目標(biāo)就是找出使得這個后驗概率最大的那個類.

其中需要注意的是X中的各個特征分量是分布獨立的.這樣就有:

樸素貝葉斯分類器最經(jīng)典的應(yīng)用場景就是垃圾郵件過濾。

樸素貝葉斯分類器的升級版本就是貝葉斯網(wǎng)絡(luò),因為樸素貝葉斯網(wǎng)絡(luò)假設(shè)樣本的特征向量的各個特征屬性是獨立的,但對于現(xiàn)實世界,這樣的建模未必合理,因此有人就提出了貝葉斯網(wǎng)絡(luò),貝葉斯網(wǎng)絡(luò)假設(shè)各個屬性之間是存在條件概率的。貝葉斯網(wǎng)絡(luò)是一個各個屬性組成的有向拓撲網(wǎng)絡(luò),每條邊代表條件概率,通過貝葉斯網(wǎng)絡(luò)能夠計算出各個屬性相互組合的條件概率。

基于規(guī)則的分類器

這種分類器利用IF THEN的規(guī)則來進行分類。對于如何產(chǎn)生規(guī)則,有兩種方法:

第一種方法,就是從決策樹中生成規(guī)則。因為決策樹天然的就是規(guī)則。

第二種方法,是采用Sequential CoveringAlgorithm,直接從訓(xùn)練樣本中生成規(guī)則集。該方法的思路是一種general-to-specific的方法,該方法從一個空規(guī)則開始,然后向規(guī)則中依次逐漸增加屬性測試條件,選擇該屬性測試值(也就是測試分界點,attr< val)的依據(jù)就是是否能夠最大限度得改進規(guī)則的分類質(zhì)量。

基于神經(jīng)網(wǎng)絡(luò)的分類器

神經(jīng)網(wǎng)絡(luò)分類器是依據(jù)屬性構(gòu)造一個網(wǎng)絡(luò)拓撲結(jié)構(gòu),該拓撲結(jié)構(gòu)的邊具有權(quán)重值,我們的目的是不斷得利用訓(xùn)練樣本然后不斷得更新神經(jīng)網(wǎng)絡(luò)的邊權(quán)重值。然后利用該網(wǎng)絡(luò)就可以得到輸出的分類。

該算法模擬神經(jīng)的組成結(jié)構(gòu),利用了單元之間的反饋機制。但該算法的缺點也很明顯,網(wǎng)絡(luò)拓撲結(jié)構(gòu)的確定沒有明確統(tǒng)一的方法論,很多只能靠規(guī)劃者的經(jīng)驗,因此訓(xùn)練結(jié)果往往因人而異,限制了神經(jīng)網(wǎng)絡(luò)的使用。

支持向量機分類器

支持向量機是在訓(xùn)練樣本空間中構(gòu)造超平面來對樣本進行分類,它的優(yōu)勢是對高維度不敏感。但效率較低,實施較為復(fù)雜。

關(guān)聯(lián)分類器

關(guān)聯(lián)分類器的思路很簡單,前面我們提到頻繁模式挖掘,我們將樣本的某一屬性的(屬性,值)對作為一個條目,我們找出經(jīng)常在一起出現(xiàn)的條目集合,然后找出這些頻繁項目集合,這些頻繁項目集合對應(yīng)的樣本集合中占主流的分類就作為關(guān)聯(lián)規(guī)則的分類結(jié)果,該結(jié)果如下:

關(guān)聯(lián)分類器有三種方法:CBA, CMAR和CPAR

Lazy Learner

Lazy Learner主要有兩種分類器:Knn分類器和Cbr分類器。

Knn分類器思路很直接,找出和待分類樣本最近的K的樣本,然后將這k個樣本中占主流的的類別作為分類結(jié)果分配給待分類樣本。該分類器的關(guān)鍵在于如何確定k,一種思路是根據(jù)經(jīng)驗,另外一種思路是迭代,讓k從1開始遞增,計算每個k取值時對某一測試集的錯誤率,選擇錯誤最小的那個k。另外一個關(guān)鍵就是如何快速得找出k個最近的鄰居,這需要我們對各個樣本點進行事先排序,并設(shè)計一個合適的數(shù)據(jù)結(jié)構(gòu),使得找出k個最近鄰居的復(fù)雜度降為log|D|.

預(yù)測

所謂預(yù)測,就是根據(jù)既有的數(shù)據(jù)預(yù)測新出現(xiàn)的數(shù)據(jù)的預(yù)測值。預(yù)測有兩種方法,線性回歸和非線性回歸。所謂線性回歸,指的是

Y = b + wX 公式1

其中X可以是向量,比如(x1,x2),因此線性回歸則變成

y=w0+w1*x1+w2*x2 公式2

對于公式1,其目標(biāo)就是求出w向量。那么比較常用的方法就是最小二乘法,使得求出的w對于已有的樣本使其方差和最小。方差和就是目標(biāo)函數(shù),目標(biāo)函數(shù)就是自變量w的一個函數(shù),通過求導(dǎo)求極值,很容易得到使得目標(biāo)函數(shù)最小的w的值。通過一些軟件包,如SAS,matlab,SPSS很容易做這種線性回歸的w計算。

并不是所有的模型都是線性模型,實際的問題中很多模型是非線性的,比如多項式,如下

y = w0 +w1*x+w2*x*x + w3*x*x*x

解決這種問題的思路是將非線性模型轉(zhuǎn)化為線性模型,然后再用線性回歸的方法來解決。比如上面的多項式公式,我們令

x1=x x2=x*x x3=x*x*x

這樣就變成了y = w0 + w1*x1 + w2*x2 + w3*x3,這就變成了線性回歸的問題。

聚類

聚類是數(shù)據(jù)挖掘需要解決的另外一個問題,分類是我們知道確切的分類結(jié)果,知道我們需要將樣本分成具體的哪幾類。而聚類問題是實現(xiàn)不知道我們的樣本具體屬于哪些類別,而需要我們從樣本中發(fā)掘出這些類別。下面談幾種較為通用的聚類方法談?wù)劇?/p>

基于分區(qū)的聚類法

該方法的一個典型的方法就是K-means,該方法非常簡單,首先確定我們需要將數(shù)據(jù)樣本分成多少個類,這個需要確定,我們稱之為k。然后從樣本中任意選擇k個樣本作為k個類的中心,然后計算每個樣本到這k個中心的距離,把他們分配到最相近的類。這樣就得到k個聚類,然后重新計算這k個聚類的中心,然后再重復(fù)前面的過程,直至沒有樣本被重新分配從而達到收斂。下面是k-means的偽碼

基于層次的分類法

基于層次的分類法有兩種:凝聚和分裂。

凝聚:它基于一種自底而上的策略,在最開始的時候,每個樣本都代表一個聚類,然后計算兩兩之間的區(qū)分度,然后進行合并,這個合并一直按照這樣的方式持續(xù)下去,直至所有的樣本都被合并為一個類。

分裂:它基于一種自上而下的策略,在最開始的時候,所有的樣本都是一個類,然后會依據(jù)一些區(qū)分方法,進行分裂,直至每個樣本都分裂成一個聚類。

基于層次的分類法,其意義在于其他的聚類方法引入這種基于層次的思路,可以被改造成一個多階段的的聚類方法,可以大大改進聚類的質(zhì)量。

基于密度的分類法

這種方法的一個代表就是DBSCAN。要理解DBSCAN,首先要明白這么幾種概念:

某一樣本在e半徑內(nèi)的鄰居稱之為e-鄰居。

如果某一樣本的e-鄰居個數(shù)大于某一最小值,那該樣本被稱之為核心樣本。

如果q是核心樣本,p是q的e-鄰居,那么p是q的直接密度可達。

對于一個樣本鏈p1,p2,..pn,如果p1=q,pn=p,pi+1是pi的直接可達,那么p就是q的密度可達。

如果p,q都是o的密度可達,那么p,q就是密度連通的。

有了這些概念,算法就很簡單了,首先找出樣本中所有的核心樣本,那么基于這些核心樣本,這些核心樣本就代表某一個聚類。遍歷這些核心樣本,不斷找到他們的密度可達的樣本,其間某些樣本就會被不斷合并,直至所有的樣本分類趨于穩(wěn)定,不會再有新的點被加入各個聚類。

基于grid的聚類法

該算法的代表是STING,它比較晦澀,從表面上來看,它似乎不是一種顯然的聚類法。首先我們先劃分一些層次,每個層次上我們根據(jù)維度或者概念分層不同的cell,實際上這里的每個層次對應(yīng)的是樣本的一個分辨率。每個高層的cell在其下一層中被對應(yīng)得劃分成多個cell,每個cell我們都計算出它的統(tǒng)計信息,估計出它的分布。利用這樣的結(jié)構(gòu),我們很容易進行查詢,比如我們查詢具有某些屬性的樣本,我們從上到下開始,根據(jù)cell的統(tǒng)計信息計算query在每個cell的置信區(qū)間,找出最大的那個cell,然后到下一層,依次直至到最底層。這樣的好處是,我們不用計算所有的樣本,算法每進一層都會拋棄不相關(guān)的樣本,所需的計算量會越來越少,那么速度就會很快。

這種方法雖然不是一種顯然的聚類法,但它確實可以用來聚類,因為query返回的樣本實際上就是某一聚類。Query本質(zhì)上于聚類問題是有等價性的。

基于模型的聚類法

這種聚類法可以用來增強K-means。樣本假設(shè)可以被分為K個聚類,每個聚類可以被看成一種分布,比如高斯分布(高斯分布很符合K-means),K個聚類就是K個高斯分布模型,但我們不知道K個模型的具體參數(shù)。由于這是k個不同的高斯模型的混合體,因此每個樣本實際上除了本身屬性值之外還包含了一個隱藏變量(該隱藏變量用以表示該樣本是由哪個高斯模型產(chǎn)生的),這實際上就是一個典型的EM算法的應(yīng)用場景,除了估計這k個模型的參數(shù),還需要估計隱藏變量。接下來就是利用EM來估計這些參數(shù)(模型參數(shù)和隱藏變量),估計出的隱藏變量就代表樣本的聚類。

對高維樣本進行聚類

CLIQUE是這種方法的一個代表,其思想是從低維到高維(1維到n維)進行查詢,首先在低維空間內(nèi)找到densentiyunit,然后在低維空間的densentiy unit中在繼續(xù)尋找較高維空間中的densentiyunit。它本質(zhì)上也是grid聚類法,它不是一種顯然的聚類法,也是通過query來實現(xiàn)隱式得聚類。

有限制條件的聚類

這種聚類方法需要有一些特別的策略,需要針對不同場景,不能一概而論。這里就不講了。

奇點檢測

檢測奇點非常有用,用于檢測那些不同尋常的數(shù)據(jù)。比如最常用的思路是基于距離的,如果一個樣本在一定距離內(nèi)的鄰居很少,那么他就可以被認為是奇點。另外還有基于統(tǒng)計概率的,基于密度的等等。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
一覽機器學(xué)習(xí)常用的十類算法
算法&模型
《機器學(xué)習(xí)筆記》
模式識別學(xué)科發(fā)展報告(1)丨模式識別基礎(chǔ)重要研究進展
文本自動分類算法匯總
22道機器學(xué)習(xí)常見面試題目匯總!(附詳細答案)
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服