種機器學(xué)習(xí)算法介紹_第1頁
種機器學(xué)習(xí)算法介紹_第2頁
種機器學(xué)習(xí)算法介紹_第3頁
種機器學(xué)習(xí)算法介紹_第4頁
種機器學(xué)習(xí)算法介紹_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

機器學(xué)習(xí)算法介紹目前一頁\總數(shù)六十八頁\編于十七點基本概念分類監(jiān)督式學(xué)習(xí)多輪學(xué)習(xí)以達(dá)到目的:實現(xiàn)回歸或分類非監(jiān)督式學(xué)習(xí)特定方法實現(xiàn)聚類。(由于目的性不明確,所以一般沒有多輪)強化學(xué)習(xí)不斷學(xué)習(xí),永無止境分類算法適用因變量為離散變量回歸算法適用因變量為連續(xù)變量聚類和分類的差別聚類:無限種類別可能分類:有限種類別可能目前二頁\總數(shù)六十八頁\編于十七點監(jiān)督式學(xué)習(xí)工作機制

這個算法由一個目標(biāo)變量或結(jié)果變量(或因變量)組成。

此變量由已知的一系列預(yù)示變量(自變量)預(yù)測而來。

利用這一系列變量,我們生成一個將輸入值映射到期望輸出值的函數(shù)。

這個訓(xùn)練過程會一直持續(xù),直到模型在訓(xùn)練數(shù)據(jù)上獲得期望的精確度。例子

線性回歸,決策樹,SVM,K–近鄰算法,邏輯回歸等目前三頁\總數(shù)六十八頁\編于十七點非監(jiān)督式學(xué)習(xí)工作機制

沒有任何目標(biāo)變量或結(jié)果變量要預(yù)測或估計。

用在不同的組內(nèi)聚類分析。

例子

關(guān)聯(lián)算法,K–均值算法目前四頁\總數(shù)六十八頁\編于十七點強化學(xué)習(xí)工作機制

訓(xùn)練機器進(jìn)行決策。

機器被放在一個能讓它通過反復(fù)試錯來訓(xùn)練自己的環(huán)境中。

機器從過去的經(jīng)驗中進(jìn)行學(xué)習(xí),并且嘗試?yán)昧私庾钔笍氐闹R作出精確的判斷。例子

馬爾可夫決策過程目前五頁\總數(shù)六十八頁\編于十七點十大機器學(xué)習(xí)算法1、線性回歸2、邏輯回歸3、決策樹4、SVM5、樸素貝葉斯6、k-Means算法7、kNN算法8、Apriori算法9、最大期望算法(EM)10、PageRank目前六頁\總數(shù)六十八頁\編于十七點監(jiān)督式學(xué)習(xí)與非監(jiān)督式學(xué)習(xí)的差別監(jiān)督式學(xué)習(xí)方法,要求:事先明確知道各個類別的信息所有待分類項都有一個類別與之對應(yīng)如果不能滿足上述兩個條件(例如有海量數(shù)據(jù)),則需適用聚類算法,即非監(jiān)督式學(xué)習(xí)。監(jiān)督式學(xué)習(xí)非監(jiān)督式學(xué)習(xí)線性回歸邏輯回歸決策樹樸素貝葉斯SVM

KNNK-meansAprioriEMPageRank目前七頁\總數(shù)六十八頁\編于十七點線性回歸適用場景根據(jù)連續(xù)變量估計實際數(shù)值(房價、呼叫次數(shù)、總銷售額等)。原理可通過擬合最佳直線來建立自變量和因變量的關(guān)系。擬合結(jié)果是條直線Y=a*X+b:其中Y是因變量,a是斜率,x是自變量,b是截距最佳直線叫做回歸線。系數(shù)a和b通過最小二乘法獲得。Python代碼fromsklearnimportlinear_modelx_train=input_variables_values_training_datasetsy_train=target_variables_values_training_datasetsx_test=input_variables_values_test_datasetslinear=linear_model.LinearRegression()linear.fit(x_train,y_train)linear.score(x_train,y_train)目前八頁\總數(shù)六十八頁\編于十七點線性回歸針對線性回歸容易出現(xiàn)欠擬合的問題,采取局部加權(quán)線性回歸。在該算法中,賦予預(yù)測點附近每一個點以一定的權(quán)值,在這上面基于波長函數(shù)來進(jìn)行普通的線性回歸.可以實現(xiàn)對臨近點的精確擬合同時忽略那些距離較遠(yuǎn)的點的貢獻(xiàn),即近點的權(quán)值大,遠(yuǎn)點的權(quán)值小,k為波長參數(shù),控制了權(quán)值隨距離下降的速度,越大下降的越快。

目前九頁\總數(shù)六十八頁\編于十七點線性回歸針對數(shù)據(jù)的特征比樣本點多的問題:一、嶺回歸二、前向逐步回歸目前十頁\總數(shù)六十八頁\編于十七點邏輯回歸

#ImportLibraryfromsklearn.linear_modelimportLogisticRegression#Assumedyouhave,X(predictor)andY(target)fortrainingdatasetandx_test(predictor)oftest_dataset#Createlogisticregressionobjectmodel=LogisticRegression()

#Trainthemodelusingthetrainingsetsandcheckscoremodel.fit(X,y)model.score(X,y)#PredictOutputpredicted=model.predict(x_test)目前十一頁\總數(shù)六十八頁\編于十七點邏輯回歸基于最優(yōu)化方法的最佳回歸系數(shù)確定:

梯度下降法隨機梯度下降法(根據(jù)梯度更新權(quán)重)

牛頓法或擬牛頓法(最大熵模型)目前十二頁\總數(shù)六十八頁\編于十七點決策樹使用場景這個監(jiān)督式學(xué)習(xí)算法通常被用于分類問題。它同時適用于分類變量和連續(xù)因變量。原理在這個算法中,我們將總體分成兩個或更多的同類群。這是根據(jù)最重要的屬性或者自變量來分成盡可能不同的組別?;貧w樹——預(yù)測值為葉節(jié)點目標(biāo)變量的加權(quán)均值分類樹——某葉節(jié)點預(yù)測的分類值應(yīng)是造成錯判損失最小的分類值。目前十三頁\總數(shù)六十八頁\編于十七點細(xì)說決策樹(1)——混亂度判斷熵熵:E=sum(-p(I)*log(p(I))),I=1:N(N類結(jié)果,如客戶是否流失)所有樣本都屬于一個類別I(最整齊),那么熵為0,如果樣本完全隨機,那么熵為1

信息增益信息增益:原樣本的熵-sum(區(qū)分后的各部分熵),增益越大表示區(qū)分的方法越好Gain(Sample,Action)=E(sample)-sum(|Sample(v)|/Sample*E(Sample(v)))除了熵以外,還有GINI不純度,錯誤率兩種計算混亂度的方法,定義不同但效果類似。目前十四頁\總數(shù)六十八頁\編于十七點細(xì)說決策樹(2)——建構(gòu)樹生成樹(1)從根節(jié)點t=1開始,從所有可能候選S集合中搜索使不純性降低最大的劃分S;(2)使用劃分S將節(jié)點1(t=1)劃分成兩個節(jié)點t=2和t=3;(3)在t=2和t=3上分別重復(fù)劃分搜索過程終止樹(1)節(jié)點達(dá)到完全純性;(2)樹的深度達(dá)到用戶指定的深度;(3)節(jié)點中樣本的個數(shù)少于用戶指定的個數(shù);(4)

異質(zhì)性指標(biāo)下降的最大幅度小于用戶指定的幅度。目前十五頁\總數(shù)六十八頁\編于十七點細(xì)說決策樹(3)——剪枝prune當(dāng)分類回歸樹劃分得太細(xì)時,會對噪聲數(shù)據(jù)產(chǎn)生過擬合作用。因此我們要通過剪枝來解決。剪枝又分為前剪枝和后剪枝:前剪枝:在構(gòu)造樹的過程中就知道那些節(jié)點需要減掉,及早的停止樹增長。后剪枝:在構(gòu)造出完整樹之后再按照一定方法進(jìn)行剪枝,方法有:代價復(fù)雜性剪枝、最小誤差剪枝、悲觀誤差剪枝等等。目前十六頁\總數(shù)六十八頁\編于十七點決策樹代碼def

createTree(dataSet,labels):

classList

=

[example[-1]

for

example

in

dataSet]#將最后一行的數(shù)據(jù)放到classList中

if

classList.count(classList[0])

==

len(classList):

return

classList[0]

if

len(dataSet[0])

==

1:#這里為什么是1呢?就是說特征數(shù)為1的時候

return

majorityCnt(classList)

bestFeat

=

chooseBestFeatureToSplit(dataSet)

print(bestFeat)

bestFeatLabel

=

labels[bestFeat]#運行結(jié)果'no

surfacing'

myTree

=

{bestFeatLabel:{}}#運行結(jié)果{'no

surfacing':

{}}

del(labels[bestFeat])

featValues

=

[example[bestFeat]

for

example

in

dataSet]#第0個特征值

uniqueVals

=

set(featValues)

for

value

in

uniqueVals:

subLabels

=

labels[:]

myTree[bestFeatLabel][value]

=

createTree(splitDataSet\

(dataSet,bestFeat,value),subLabels)

return

myTree

Python代碼目前十七頁\總數(shù)六十八頁\編于十七點支持向量機適用場景這是一種統(tǒng)計分類及回歸分析方法算法支持向量機將向量映射到一個更高維的空間里,在這個空間里建立有一個最大間隔超平面。在分開數(shù)據(jù)的超平面的兩邊建有兩個互相平行的超平面,分隔超平面使兩個平行超平面的距離最大化。假定平行超平面間的距離或差距越大,分類器的總誤差越小。目前十八頁\總數(shù)六十八頁\編于十七點支持向量機

目前十九頁\總數(shù)六十八頁\編于十七點支持向量機優(yōu)缺點優(yōu)點:(1)非線性映射是SVM方法的理論基礎(chǔ),SVM利用內(nèi)積核函數(shù)代替向高維空間的非線性映射;(2)對特征空間劃分的最優(yōu)超平面是SVM的目標(biāo),最大化分類邊際的思想是SVM方法的核心;(3)支持向量是SVM的訓(xùn)練結(jié)果,在SVM分類決策中起決定性作用。因此,模型需要存儲空間小,算法魯棒性(Robust)強。缺點:(1)SVM算法對大規(guī)模訓(xùn)練樣本難以實施(2)用SVM解決多分類問題存在困難經(jīng)典的支持向量機算法只給出了二類分類的算法,而在數(shù)據(jù)挖掘的實際應(yīng)用中,一般要解決多類的分類問題。目前二十頁\總數(shù)六十八頁\編于十七點樸素貝葉斯

#ImportLibraryfromsklearn.naive_bayesimportGaussianNB

#Assumedyouhave,X(predictor)andY(target)fortrainingdatasetandx_test(predictor)oftest_dataset#CreateSVMclassificationobjectmodel=GaussianNB()#thereisotherdistributionformultinomialclasseslikeBernoulliNaiveBayes,Referlink#Trainthemodelusingthetrainingsetsandcheckscoremodel.fit(X,y)

#PredictOutputpredicted=model.predict(x_test)目前二十一頁\總數(shù)六十八頁\編于十七點樸素貝葉斯算法對于給出的待分類項,求解在此項出現(xiàn)的條件下各個類別出現(xiàn)的概率,哪個最大,就認(rèn)為此待分類項屬于哪個類別。自變量:x={a1,a2,...,an}因變量:假設(shè)我們的結(jié)論有True/False兩種根據(jù)樣本可得到p(a1|T),p(a2|T),...,p(an|T),p(a1|F),p(a2|F),...,p(an|F)我們想比較p(T|x)和p(F|x),則根據(jù)貝葉斯定理:p(T|x)=p(x|T)*p(T)/p(x)=p(a1|T)*p(a2|T)*...*p(an|T)*p(T)/p(x)p(T|x)*p(x)=p(x|T)*p(T)=p(a1|T)*p(a2|T)*...*p(an|T)*p(T)p(F|x)*p(x)=p(x|F)*p(T)=p(a1|F)*p(a2|F)*...*p(an|F)*p(F)由此得出x情況下T的概率和F的概率。目前二十二頁\總數(shù)六十八頁\編于十七點KNN(K最鄰近算法)適用場景該算法可用于分類問題和回歸問題。然而,在業(yè)界內(nèi),K–最近鄰算法更常用于分類問題。原理K–最近鄰算法是一個簡單的算法。它儲存所有的案例,通過周圍k個案例中的大多數(shù)情況劃分新的案例。根據(jù)一個距離函數(shù),新案例會被分配到它的K個近鄰中最普遍的類別中去。這些距離函數(shù)可以是歐式距離、曼哈頓距離、明式距離或者是漢明距離。前三個距離函數(shù)用于連續(xù)函數(shù),第四個函數(shù)(漢明函數(shù))則被用于分類變量。目前二十三頁\總數(shù)六十八頁\編于十七點KNN(K最鄰近算法)實現(xiàn)流程(1)計算已知類別數(shù)據(jù)集中的點與當(dāng)前點之間的距離(2)按照距離遞增次序排序(3)選取與當(dāng)前點距離最近的k個點(4)確定前k個點所在類別的出現(xiàn)頻率(5)返回前k個點出現(xiàn)頻率最高的類別作為當(dāng)前點的預(yù)測分類Python代碼#ImportLibraryfrom

sklearn.neighborsimport

KNeighborsClassifier

#Assumedyouhave,X(predictor)andY(target)fortrainingdatasetandx_test(predictor)oftest_dataset#CreateKNeighborsclassifierobjectmodelKNeighborsClassifier(n_neighbors=6)

#defaultvalueforn_neighborsis5

#Trainthemodelusingthetrainingsetsandcheckscoremodel.fit(X,

y)

#PredictOutputpredicted=model.predict(x_test)目前二十四頁\總數(shù)六十八頁\編于十七點KNN(K最鄰近算法)補充說明KNN算法不僅可以用于分類,還可以用于回歸。通過找出一個樣本的k個最近鄰居,將這些鄰居的屬性的平均值賦給該樣本,就可以得到該樣本的屬性。更有用的方法是將不同距離的鄰居對該樣本產(chǎn)生的影響給予不同的權(quán)值(weight),如權(quán)值與距離成反比。目前二十五頁\總數(shù)六十八頁\編于十七點K均值算法使用場景K–均值算法是一種非監(jiān)督式學(xué)習(xí)算法,它能解決聚類問題。使用K–均值算法來將一個數(shù)據(jù)歸入一定數(shù)量的集群(假設(shè)有k個集群)的過程是簡單的。一個集群內(nèi)的數(shù)據(jù)點是均勻齊次的,并且異于別的集群。算法

1、從D中隨機取k個元素,作為k個簇的各自的中心。2、分別計算剩下的元素到k個簇中心的相異度,將這些元素分別劃歸到相異度最低的簇。3、根據(jù)聚類結(jié)果,重新計算k個簇各自的中心,計算方法是取簇中所有元素各自維度的算術(shù)平均數(shù)。4、將D中全部元素按照新的中心重新聚類。5、重復(fù)第4步,直到聚類結(jié)果不再變化。6、將結(jié)果輸出。目前二十六頁\總數(shù)六十八頁\編于十七點K均值算法如何確定K值K–均值算法涉及到集群,每個集群有自己的質(zhì)心。一個集群內(nèi)的質(zhì)心和各數(shù)據(jù)點之間距離的平方和形成了這個集群的平方值之和。同時,當(dāng)所有集群的平方值之和加起來的時候,就組成了集群方案的平方值之和。我們知道,當(dāng)集群的數(shù)量增加時,所有集群平方和之和會持續(xù)下降。但是,如果你將結(jié)果用圖表來表示,你會看到距離的平方總和快速減少。到某個值k之后,減少的速度就大大下降了。在此,我們可以找到集群數(shù)量的最優(yōu)值。目前二十七頁\總數(shù)六十八頁\編于十七點工作流程

#k-means

聚類算法

def

kMeans(dataSet,

k,

distMeans

=distEclud,

createCent

=

randCent):

m

=

shape(dataSet)[0]

clusterAssment

=

mat(zeros((m,2)))

centroids

=

createCent(dataSet,

k)

clusterChanged

=

True

while

clusterChanged:

clusterChanged

=

False;

for

i

in

range(m):

minDist

=

inf;

minIndex

=

-1;

for

j

in

range(k):

distJI

=

distMeans(centroids[j,:],

dataSet[i,:])

if

distJI

<

minDist:

minDist

=

distJI;

minIndex

=

j

if

clusterAssment[i,0]

!=

minIndex:

clusterChanged

=

True;

clusterAssment[i,:]

=

minIndex,minDist**2

print

centroids

for

cent

in

range(k):

ptsInClust

=

dataSet[nonzero(clusterAssment[:,0].A

==

cent)[0]]

centroids[cent,:]

=

mean(ptsInClust,

axis

=

0)

return

centroids,

clusterAssment

創(chuàng)建k個點作為起始質(zhì)心,可以隨機選擇(位于數(shù)據(jù)邊界內(nèi))

當(dāng)任意一個點的簇分配結(jié)果發(fā)生改變時

對數(shù)據(jù)集中的每一個點

對每個質(zhì)心

計算質(zhì)心與數(shù)據(jù)點之間的距離

將數(shù)據(jù)點分配到距其最近的簇

對每個簇,計算簇中所有點的均值并將均值作為質(zhì)心

Pyhton代碼目前二十八頁\總數(shù)六十八頁\編于十七點K-MEANS性能分析優(yōu)點(1)是解決聚類問題的一種經(jīng)典算法,簡單、快速。(2)當(dāng)結(jié)果簇是密集的,而簇與簇之間區(qū)別明顯時,它的效果較好。缺點(1)在簇的平均值被定義的情況下才能使用,這對于處理符號屬性的數(shù)據(jù)不適用。(2)要求用戶必須事先給出要生成的簇的數(shù)目k。(3)對初值敏感,對于不同的初始值,可能會導(dǎo)致不同的聚類結(jié)果。(4)不適合于發(fā)現(xiàn)非凸面形狀的簇,或者大小差別很大的簇。(5)對于"噪聲"和孤立點數(shù)據(jù)敏感,少量的該類數(shù)據(jù)能夠?qū)ζ骄诞a(chǎn)生極大影響。目前二十九頁\總數(shù)六十八頁\編于十七點K-MEANS性能分析改進(jìn):

(1)對于離群點和孤立點敏感:離群點檢測的LOF算法,通過去除離群點后再聚類,可以減少離群點和孤立點對于聚類效果的影響。

(2)k值選擇:開始設(shè)定k值,每跑一次K-means,根據(jù)k個聚類的距離情況,合并距離最近的類,不斷重復(fù),最終得到合適數(shù)目的聚類數(shù)??梢酝ㄟ^一個評判值E來確定聚類數(shù)得到一個合適的位置停下來,而不繼續(xù)合并聚類中心。

(3)初始聚類中心的選擇:選擇批次距離盡可能遠(yuǎn)的K個點(首先隨機選擇一個點作為第一個初始類簇中心點,然后選擇距離該點最遠(yuǎn)的那個點作為第二個初始類簇中心點,然后再選擇距離前兩個點的最近距離最大的點作為第三個初始類簇的中心點,以此類推,直至選出K個初始類簇中心點。)

(4)只能發(fā)現(xiàn)球狀簇:如果數(shù)據(jù)集中有不規(guī)則的數(shù)據(jù),往往通過基于密度的聚類算法更加適合,比如DESCAN算法目前三十頁\總數(shù)六十八頁\編于十七點K-MEANS補充相異度相異度就是兩個東西差別有多大(例如用什么來說明人類與章魚的相異度明顯大于人類與黑猩猩的相異度)歐式距離,曼哈頓距離,閔科夫斯基距離什么叫聚類所謂聚類問題,就是給定一個元素集合D,其中每個元素具有n個可觀察屬性,使用某種算法將D劃分成k個子集,要求每個子集內(nèi)部的元素之間相異度盡可能低,而不同子集的元素相異度盡可能高。其中每個子集叫做一個簇。目前三十一頁\總數(shù)六十八頁\編于十七點AdaBoost算法原理(1)針對同一個訓(xùn)練集訓(xùn)練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個更強的最終分類器(強分類器)。(2)算法本身是通過改變數(shù)據(jù)分布來實現(xiàn)的,根據(jù)每次訓(xùn)練集中每個樣本的分類是否正確,以及上次的總體分類的準(zhǔn)確率,來確定每個樣本的權(quán)值。(3)將修改過權(quán)值的新數(shù)據(jù)集送給下層分類器進(jìn)行訓(xùn)練,最后將每次訓(xùn)練得到的分類器融合起來,作為最終的決策分類器Python代碼#ImportLibraryfromsklearn.ensembleimportGradientBoostingClassifier

#Assumedyouhave,X(predictor)andY(target)fortrainingdatasetandx_test(predictor)oftest_dataset#CreateGradientBoostingClassifierobjectmodel=GradientBoostingClassifier(n_estimators=100,learning_rate=1.0,max_depth=1,random_state=0)

model.fit(X,y)

predicted=model.predict(x_test)目前三十二頁\總數(shù)六十八頁\編于十七點AdaBoost工作流程:將最小錯誤率minError設(shè)為無窮大對數(shù)據(jù)集中的每一個特征(第一層循環(huán)):

對每個步長(第二層循環(huán)):

對每個不等號(第三層循環(huán)):

建立一棵單層決策樹并利用加權(quán)數(shù)據(jù)集進(jìn)行測試

如果錯誤率低于minError,將當(dāng)前單層決策樹設(shè)為最佳單層決策樹返回最佳單層決策樹構(gòu)建弱分類器對每次迭代:

找到最佳的單層決策樹

將最佳單層決策樹加入到單層決策樹數(shù)組

計算alpha,計算新的權(quán)重向量D

更新累計類別估計值

如果錯誤率小于minError,則退出循環(huán)構(gòu)建強分類器優(yōu)點:(1)AdaBoost是一種有很高精度的分類器(2)可以使用各種方法構(gòu)建弱分類器(3)弱分類器構(gòu)造特別簡單,不用做特征篩選(4)不會過擬合缺點:(1)執(zhí)行效果依賴于弱分類器的選擇,迭代次數(shù)和弱分類器的數(shù)目不太好設(shè)定(2)訓(xùn)練時間過長(3)容易受到噪聲干擾,數(shù)據(jù)不平衡導(dǎo)致分類精度下降。目前三十三頁\總數(shù)六十八頁\編于十七點Apriori原理(1)尋找所有不低于最小支持度的項集(頻繁項集);(2)使用頻繁項集生成規(guī)則。PS:

支持度:數(shù)據(jù)集中包含該項集的記錄所占的比例;

頻繁項集:支持度大于最小支持度的項集。對數(shù)據(jù)集中的每條交易記錄tran和每個候選項集can:

檢查一下can是否是tran的子集:

如果是,則增加can的計數(shù)值

對每個候選項集:

如果其支持度不低于最小值,則保留該項集返回所有頻繁項集列表生成候選項集工作流程發(fā)現(xiàn)關(guān)聯(lián)規(guī)則當(dāng)集合中項的個數(shù)大于0時:

構(gòu)建一個k個項組成的候選項集的列表

檢查數(shù)據(jù)以確認(rèn)每個項集都是頻繁的

保留頻繁項集并構(gòu)建k+1項組成的候選項集的列表目前三十四頁\總數(shù)六十八頁\編于十七點強化學(xué)習(xí)-馬爾科夫決策過程原理

系統(tǒng)的下個狀態(tài)不僅和當(dāng)前的狀態(tài)有關(guān),也和當(dāng)前采取的動作有關(guān),而與更早之前的狀態(tài)和動作無關(guān)。定義:

馬爾科夫決策流程:一個馬爾科夫決策過程由一個五元組構(gòu)成(S,A,{Psa},γ,R)

目前三十五頁\總數(shù)六十八頁\編于十七點馬爾科夫決策模型

已經(jīng)處于某個狀態(tài)s時,我們會以一定的策略π來選擇下一個動作a執(zhí)行,然后轉(zhuǎn)換到另一個狀態(tài)ss′。我們將這個動作的選擇過程稱為策略(policy)每一個policy起始就是一個狀態(tài)到動作的映射函數(shù)π:S→A。給定π也就是給定了a=π(s),也就是說,知道了π就知道了每個狀態(tài)下一步應(yīng)該執(zhí)行的動作。目前三十六頁\總數(shù)六十八頁\編于十七點數(shù)據(jù)挖掘以對消費者的建模為例,舉一些場景下的常用算法對應(yīng):劃分消費者群體:聚類,分類;購物籃分析:相關(guān),聚類;購買額預(yù)測:回歸,時間序列;滿意度調(diào)查:回歸,聚類,分類;目前三十七頁\總數(shù)六十八頁\編于十七點數(shù)據(jù)挖掘主要模型:分類、聚類、預(yù)測及關(guān)聯(lián)目前三十八頁\總數(shù)六十八頁\編于十七點數(shù)據(jù)挖掘主要模型:分類、聚類、預(yù)測及關(guān)聯(lián)目前三十九頁\總數(shù)六十八頁\編于十七點一、非線性擬合

目前四十頁\總數(shù)六十八頁\編于十七點二、貨運量預(yù)測目標(biāo):預(yù)測貨運量方法:基于廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)輸入量:根據(jù)貨運量影響因素的分析,分別取GDP、工業(yè)總產(chǎn)值、鐵路運輸線路長度、復(fù)線里程比重、公路運輸線路長度、等級公路比重、鐵路貨車數(shù)量和民用載貨汽車數(shù)量8項指標(biāo)因素作為網(wǎng)絡(luò)輸入輸出量:以貨運總量、鐵路貨運量和公路貨運量3項指標(biāo)因素作為網(wǎng)絡(luò)輸出。目前四十一頁\總數(shù)六十八頁\編于十七點二、貨運量預(yù)測結(jié)果:GRNN神經(jīng)網(wǎng)絡(luò)三項流量預(yù)測的誤差為16342.69476360.72316945.2494目前四十二頁\總數(shù)六十八頁\編于十七點三、財政收入影響因素與預(yù)測模型目標(biāo):預(yù)測未來財政收入方法:Adaptive-Lasso、神經(jīng)網(wǎng)絡(luò)

(1)獲取某市財政收入以及各類收入相關(guān)數(shù)據(jù)(2)完成數(shù)據(jù)預(yù)處理,建立Adaptive-Lasso變量選擇模型

(3)建立人工神經(jīng)網(wǎng)絡(luò)預(yù)測模型(4)將得到的預(yù)測值代入構(gòu)建好的人工神經(jīng)網(wǎng)絡(luò)模型中,從而得到財政收入以及各類別收入的預(yù)測值。輸入值:社會從業(yè)人數(shù)(x1),在崗職工工資總額(x2),社會消費品零售總額(x3),城鎮(zhèn)居民人均可支配收入(x4),城鎮(zhèn)居民人均消費性支出(x5),年末總?cè)丝冢▁6),全社會固定資產(chǎn)投資額(x7),地區(qū)生產(chǎn)總值(x8),第一產(chǎn)業(yè)產(chǎn)值(x9),稅收(x10),居民消費價格指數(shù)(x11),第三產(chǎn)業(yè)與第二產(chǎn)業(yè)產(chǎn)值比(x12),居民消費水平(x13)。輸出值:財政收入總值目前四十三頁\總數(shù)六十八頁\編于十七點三、財政收入影響因素與預(yù)測模型目前四十四頁\總數(shù)六十八頁\編于十七點三、財政收入影響因素與預(yù)測模型1、Adaptive-Lasso變量選擇模型

通過相關(guān)系數(shù),將無關(guān)變量從輸入值中刪除,綜上所述,影響財政收入的關(guān)鍵因素是社會從業(yè)人數(shù)、在崗職工工資、社會消費品零售總額、城鎮(zhèn)居民人均可支配收入、城鎮(zhèn)居民人均消費性支出以及全社會固定資產(chǎn)投資額。

將輸入值和輸出值分為訓(xùn)練集和測試集,代入三層的BP神經(jīng)網(wǎng)絡(luò),預(yù)測未來的財政收入。目前四十五頁\總數(shù)六十八頁\編于十七點三、財政收入影響因素與預(yù)測模型目前四十六頁\總數(shù)六十八頁\編于十七點四、時間序列預(yù)測法—交通流量預(yù)測概念:時間序列預(yù)測法就是通過編制和分析時間序列,根據(jù)時間序列所反映出來的發(fā)展過程、方向和趨勢,進(jìn)行類推或延伸,借以預(yù)測下一段時間或以后若干年內(nèi)可能達(dá)到的水平。其內(nèi)容包括:收集與整理某種社會現(xiàn)象的歷史資料;對這些資料進(jìn)行檢查鑒別,排成數(shù)列;分析時間數(shù)列,從中尋找該社會現(xiàn)象隨時間變化而變化的規(guī)律,得出一定的模式;以此模式去預(yù)測該社會現(xiàn)象將來的情況。

常用時間序列預(yù)測問題,比較常用的方法包括:多元線性回歸預(yù)測、AR模型預(yù)測、ARMA模型預(yù)測、指數(shù)平滑預(yù)測、小波神經(jīng)網(wǎng)絡(luò)、RNN等目前四十七頁\總數(shù)六十八頁\編于十七點四、時間序列預(yù)測法—交通流量預(yù)測步驟:

(1)采集4天的交通流浪數(shù)據(jù),每隔15分鐘記錄一次,一共記錄384個時間點的數(shù)據(jù)

(2)用3天共288個數(shù)據(jù)訓(xùn)練小波神經(jīng)網(wǎng)絡(luò)

(3)用訓(xùn)練好的小波神經(jīng)網(wǎng)絡(luò)預(yù)測第4天的交通流量。目前四十八頁\總數(shù)六十八頁\編于十七點一、數(shù)據(jù)探索

數(shù)據(jù)質(zhì)量分析

數(shù)據(jù)質(zhì)量分析的主要任務(wù)是檢查原始數(shù)據(jù)中是否存在臟數(shù)據(jù),臟數(shù)據(jù)一般是指不符合要求,以及不能直接進(jìn)行相應(yīng)分析的數(shù)據(jù),主要包括:缺失值,異常值,重復(fù)數(shù)據(jù)及含有特殊符號(如#、¥、%)的數(shù)據(jù)等。(1)缺失值分析

數(shù)據(jù)的缺失主要包括記錄的缺失和記錄中某個字段信息的缺失

原因:數(shù)據(jù)無法獲取;數(shù)據(jù)遺漏;屬性值不存在

影響:丟失信息;增加不確定性,難把握規(guī)律;

分析:使用簡單的統(tǒng)計分析,可以得到含有缺失值的屬性的個數(shù),以及每個屬性的未缺失數(shù)、缺失率等

目前四十九頁\總數(shù)六十八頁\編于十七點一、數(shù)據(jù)探索

目前五十頁\總數(shù)六十八頁\編于十七點二、數(shù)據(jù)預(yù)處理

數(shù)據(jù)預(yù)處理的主要內(nèi)容包括數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)變換和數(shù)據(jù)規(guī)約。數(shù)據(jù)預(yù)處理一方面是要提高數(shù)據(jù)的質(zhì)量,另一方面是要讓數(shù)據(jù)更好地適應(yīng)特定的挖掘技術(shù)或工具。2.1數(shù)據(jù)清洗

數(shù)據(jù)清洗主要是刪除原始數(shù)據(jù)集中的無關(guān)數(shù)據(jù)、重復(fù)數(shù)據(jù),平滑噪聲數(shù)據(jù),篩選掉與挖掘主題無關(guān)的數(shù)據(jù),處理缺失值、異常值等。清洗內(nèi)容主要包括:缺失數(shù)據(jù)處理、相似重復(fù)對象檢測、異常數(shù)據(jù)處理、邏輯錯誤檢測和不一致數(shù)據(jù)等目前五十一頁\總數(shù)六十八頁\編于十七點二、數(shù)據(jù)預(yù)處理(1)缺失數(shù)據(jù)處理

處理缺失值的方法可以分為3類:刪除記錄、數(shù)據(jù)插補和不處理。目前五十二頁\總數(shù)六十八頁\編于十七點(1)刪除數(shù)據(jù):主要針對缺失值數(shù)量較少、且刪除數(shù)據(jù)對整體數(shù)據(jù)幾乎沒有影響;也可以根據(jù)數(shù)據(jù)缺失挖掘信息.

文獻(xiàn)[1]利用5組醫(yī)療數(shù)據(jù)集測試了缺失數(shù)據(jù)對于病情陽性概率的影響,以及對分類結(jié)果精確度的影響,并通過knn、判別分析和樸素貝葉斯3種方法在數(shù)據(jù)缺失不同比例的情況下,對分類結(jié)果進(jìn)行了分析比較;(2)數(shù)據(jù)插補:屬性間的關(guān)聯(lián)性在缺失值估計過程中非常重要,在數(shù)據(jù)挖掘方法中,關(guān)鍵是挖掘?qū)傩蚤g的關(guān)系。數(shù)據(jù)插補的目的在于估計正確的替代值。

文獻(xiàn)[2]提出了基于不完備數(shù)據(jù)聚類的缺失數(shù)據(jù)填補方法,針對分類變量不完備數(shù)據(jù)集定義約束容差集合差異度,從集合的角度判斷不完備數(shù)據(jù)對象的總體相異程度,并以不完備數(shù)據(jù)聚類的結(jié)果對基礎(chǔ)進(jìn)行缺失數(shù)據(jù)的填補。文獻(xiàn)[3]提出一種基于進(jìn)化算法的自適應(yīng)聚類方法,該方法的基本思想是將聚類問題轉(zhuǎn)化成一個全局優(yōu)化問題,利用聚類方法填充缺失值。

文獻(xiàn)[4]針對缺失數(shù)據(jù)問題,提出了多元回歸方法,彌補一元回歸方法的不足。[1]JuholaM,LaurikkalaJ.Missingvalues:howmanycantheybetopreserveclassificationreliability[J/OL].ArtificialIntelligenceReview,2011.(2011-08-01)[2012-12-28].[2]武森,馮小東,單志廣.基于不完備數(shù)據(jù)聚類的缺失數(shù)據(jù)填補方法[J].計算機學(xué)報,2012,35(8):1726-1738.[3]SilvaJA,HruschkaER.Anevolutionaryalgorithmformissingvaluessubstitutioninclassificationtasks[C]∥ProceedingsoftheHAIS′09.Salamanca:Springer,2009:195-202.[4]ZhangShichao,JinZhi,ZhuXiaofeng,etal.Missingdataanalysis:akernel-basedmulti-imputationap-proach[C]∥ProceedingsofTransactionsonComput-ationalScienceIII.Berlin,Heidelberg:Springer,2009:122-142.目前五十三頁\總數(shù)六十八頁\編于十七點(2)相似重復(fù)對象檢測

文獻(xiàn)[5]:鄰近排序算法(SNM)是重復(fù)記錄檢測的常用方法,該方法基于排序比較的思想

文獻(xiàn)[6]:多趟排序;文獻(xiàn)[7]:優(yōu)先隊列排序

文獻(xiàn)[8]:提出了基于N-gram的重復(fù)記錄檢測方法,并給出了改進(jìn)的優(yōu)先權(quán)隊列算法以準(zhǔn)確地聚類相似重復(fù)記錄。

文獻(xiàn)[9]:用依賴圖的概念,計算數(shù)據(jù)表中的關(guān)鍵屬性,根據(jù)關(guān)鍵屬性值將記錄集劃分為小記錄集,在每個小記錄集中進(jìn)行相似重復(fù)記錄檢測。

文獻(xiàn)[10]:針對非結(jié)構(gòu)化數(shù)據(jù)的重復(fù)檢測,介紹了復(fù)雜數(shù)據(jù)實體識別的概念和應(yīng)用,分別就XML數(shù)據(jù)、圖數(shù)據(jù)和復(fù)雜網(wǎng)絡(luò)上實體識別技術(shù)進(jìn)行了討論。[5]張建中,方正,熊擁軍,等.對基于SNM數(shù)據(jù)清洗算法的優(yōu)化[J].中南大學(xué)學(xué)報:自然科學(xué)版,2010,41(6):2240-2245.[6]MongeAE,ElkanCP.Efficientdomain-independentdetectionofapproximatelyduplicatedatabaserecords[C]∥ProceedingsoftheACM-SIGMODWorkshoponResearchIssuesinKnowledgeDiscoveryandDataMining.Tucson,Arizona:[s.n.]1997.[7]HernándezMA,StolfoSJ.Real-worlddataisdirty:datacleansingandthemerge/purgeproblem[J].DataMiningandKnowledgeDiscovery,1998,2(1):9-37.[8]邱越峰,田增平,季文,等.一種高效的檢測相似重復(fù)記錄的方法[J].計算機學(xué)報,2001,24(1):69-77.[9]龐雄文,姚占林,李擁軍.大數(shù)據(jù)量的高效重復(fù)記錄檢測方法[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2010,38(2):8-11.[10]王宏志,樊文飛.復(fù)雜數(shù)據(jù)上的實體識別技術(shù)研究[J].計算機學(xué)報,2011,34(10):1843-1852.目前五十四頁\總數(shù)六十八頁\編于十七點二、數(shù)據(jù)預(yù)處理補充:基于N-gram的重復(fù)記錄檢測方法:給每個記錄賦一個N-gram值,以該值為鍵來對數(shù)據(jù)中的記錄進(jìn)行排序。在一賦值時必須盡可能地使相似程度越高的記錄的一價帥值越接近,以保證通過對值排序之后它們將被聚到鄰近的區(qū)域。所謂記錄的田值是根據(jù)記錄的內(nèi)容并參照全局統(tǒng)計信息而計算出的一個表示記錄特征的整數(shù)值?;窘徟判蛩惴?SNM):

(1)創(chuàng)建排序關(guān)鍵字;

(2)排序,盡可能的使?jié)撛诘目赡艿闹貜?fù)記錄調(diào)整到一個鄰近的區(qū)域內(nèi);

(3)合并,在排序后的數(shù)據(jù)集上滑動一個固定大小的窗口,重復(fù)比較,將數(shù)據(jù)合并。目前五十五頁\總數(shù)六十八頁\編于十七點二、數(shù)據(jù)預(yù)處理(3)異常數(shù)據(jù)處理

異常數(shù)據(jù)的探測主要有基于統(tǒng)計學(xué)、基于距離和基于偏離3類方法。文獻(xiàn)[11]:采用數(shù)據(jù)審計的方法實現(xiàn)異常數(shù)據(jù)的自動化檢測,稱為數(shù)據(jù)質(zhì)量挖掘,由2步構(gòu)成:(1)采用數(shù)理統(tǒng)計方法對數(shù)據(jù)分布進(jìn)行概化描述,自動獲得數(shù)據(jù)的總體分布特征;(2)針對特定的數(shù)據(jù)質(zhì)量問題進(jìn)行挖掘以發(fā)現(xiàn)數(shù)據(jù)異常。文獻(xiàn)[12]:將數(shù)據(jù)按距離劃分為不同的層,在每一層統(tǒng)計數(shù)據(jù)特征,再根據(jù)定義的距離計算各數(shù)據(jù)點和中心距離的遠(yuǎn)近來判斷異常是否存在。(聚類)文獻(xiàn)[13]:基于關(guān)聯(lián)方法,將置信度和支持度很低的點視為異常點。[11]HippJ,GuntzerU,GrimmerU.Dataqualitymining:makingavirtueofnecessity[C]∥ProceedingsofWorkshoponResearchIssuesinDataMiningandKnowledgeDiscovery.SantaBarbara:[s.n.],2001.[12]DasuT,JohnsonT.Huntingofthesnark:findingdataglitchesusingdataminingmethods[C]∥Proceedingsofthe1999ConferenceofInformationQuality.Cam-bridge:[s.n.],1999.[13]Kimball,R.DealingwithdirtyData.DBMS,vol.9,NO.10,September1996,pp.55目前五十六頁\總數(shù)六十八頁\編于十七點二、數(shù)據(jù)預(yù)處理(3)異常數(shù)據(jù)處理在很多情況下,要先分析異常值出現(xiàn)的可能原因,再判斷異常值是否應(yīng)該舍棄,如果是正確的數(shù)據(jù),可以直接在具有異常值的數(shù)據(jù)集上進(jìn)行挖掘建模。目前五十七頁\總數(shù)六十八頁\編于十七點二、數(shù)據(jù)預(yù)處理2.2數(shù)據(jù)集成

數(shù)據(jù)挖掘需要的數(shù)據(jù)往往分布在不同的數(shù)據(jù)源中,數(shù)據(jù)集成就是將多個數(shù)據(jù)源合并存放在一個一致的數(shù)據(jù)存儲(如數(shù)據(jù)庫)中的過程。(1)實體識別

實體識別是指從不同數(shù)據(jù)源識別出現(xiàn)實世界的實體,任務(wù)是統(tǒng)一不同數(shù)據(jù)源的矛盾之處,例如:同名異義;異名同義;單位不統(tǒng)一。(2)冗余屬性識別

數(shù)據(jù)集成往往導(dǎo)致數(shù)據(jù)冗余,例如:

同一屬性多次出現(xiàn);同一屬性命名不一致導(dǎo)致重復(fù)。

仔細(xì)整合不同源數(shù)據(jù)能減少甚至避免數(shù)據(jù)冗余與不一致,對于冗余屬性要先分析,檢測到后再將其刪除。目前五十八頁\總數(shù)六十八頁\編于十七點二、數(shù)據(jù)預(yù)處理2.2數(shù)據(jù)集成

目前,常用的消除數(shù)據(jù)不一致的方法有排序、融合和基于規(guī)則3種方法。

文獻(xiàn)[14]:使用了鄰近排序的方法,根據(jù)定義的關(guān)鍵碼對數(shù)據(jù)集進(jìn)行排序,使可匹配的記錄在位置上臨近,并檢測數(shù)據(jù)中的不一致。

文獻(xiàn)[15]:從不同的特征評估每個數(shù)值,通過線性組合各特征值得到整體評估值,再根據(jù)評估值確定正確值。[14]HernándezMA,StolfoSJ.Real-worlddataisdirty:datacleansingandthemerge/purgepro

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論