《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》數(shù)據(jù)挖掘算法基礎(chǔ)_第1頁
《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》數(shù)據(jù)挖掘算法基礎(chǔ)_第2頁
《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》數(shù)據(jù)挖掘算法基礎(chǔ)_第3頁
《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》數(shù)據(jù)挖掘算法基礎(chǔ)_第4頁
《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》數(shù)據(jù)挖掘算法基礎(chǔ)_第5頁
已閱讀5頁,還剩108頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章數(shù)據(jù)挖掘算法基礎(chǔ)數(shù)據(jù)挖掘算法基礎(chǔ)1聚類目錄分類與回歸2關(guān)聯(lián)規(guī)則3智能推薦4時(shí)間序列5分類算法構(gòu)造一個(gè)分類模型,模型的輸入為樣本的屬性值,輸出為對應(yīng)的類別,將每個(gè)樣本映射到預(yù)先定義好的類別。回歸算法則是建立兩種或兩種以上變量間相互依賴的函數(shù)模型,然后使用函數(shù)模型預(yù)測目標(biāo)的值。常用的分類算法與回歸算法常用的分類與回歸算法:常用的分類算法與回歸算法算法名稱算法描述回歸分析回歸分析是確定預(yù)測屬性(數(shù)值型)與其他變量間相互依賴的定量關(guān)系最常用的統(tǒng)計(jì)學(xué)方法。包括線性回歸、非線性回歸、Logistic回歸、嶺回歸、主成分回歸、偏最小二乘回歸等模型決策樹決策樹采用自頂向下的遞歸方式,在內(nèi)部結(jié)點(diǎn)進(jìn)行屬性值的比較,并根據(jù)不同的屬性值從該結(jié)點(diǎn)向下分支,最終得到的葉結(jié)點(diǎn)是學(xué)習(xí)劃分的類最近鄰分類最近鄰分類是一種典型的“懶惰學(xué)習(xí)”算法,基于指定的距離度量,找出測試樣本的最近鄰,并基于投票法對測試樣本進(jìn)行分類支持向量機(jī)支持向量機(jī)的基本思想是在樣本空間或特征空間中,構(gòu)造出最優(yōu)超平面,使得超平面與不同類樣本集之間的距離最大,從而達(dá)到最大化泛化能力的目的。人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)是一種模仿大腦神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和功能而建立的信息處理系統(tǒng),表示神經(jīng)網(wǎng)絡(luò)的輸入與輸出變量之間關(guān)系的模型集成學(xué)習(xí)集成算法使用多種算法的組合進(jìn)行預(yù)測,比單一分類器具有更高的準(zhǔn)確率和魯棒性,通常分為Bagging(聚合)、Boosting(提升)和Stacking(堆疊)三種模式對于分類模型的評價(jià),常用的模型評價(jià)指標(biāo)包括了準(zhǔn)確率、精確率、反饋率、混淆矩陣和ROC曲線等。分類與回歸的模型評價(jià)分類模型的評價(jià)指標(biāo)準(zhǔn)確率準(zhǔn)確率(Accuracy)是指預(yù)測正確的結(jié)果所占總樣本的百分比:錯(cuò)誤率

錯(cuò)誤率(Fallibility)是指預(yù)測錯(cuò)誤的結(jié)果所占總樣本的百分比:分類與回歸的模型評價(jià)精確率精確率(Precision)是指所有被預(yù)測為正的樣本中實(shí)際為正的樣本的概率:反饋率反饋率(Recall)是指實(shí)際為正樣本預(yù)測為正樣本占實(shí)際為正樣本的總數(shù)概率:分類與回歸的模型評價(jià)分類與回歸的模型評價(jià)ROC曲線接收者操作特征曲線(ReceiverOperatingCharacteristiccurve,ROC曲線)是一種非常有效的模型評價(jià)方法,可為選定臨界值給出定量提示。對于回歸模型,常用的模型評價(jià)指標(biāo)包括了絕對誤差與相對誤差、誤差分析中的綜合指標(biāo)(平均絕對誤差、均方誤差、均方根誤差)、平均絕對百分誤差和Kappa統(tǒng)計(jì)量等。絕對誤差(AbsoluteError):相對誤差(RelativeError):平均絕對誤差(MeanAbsoluteError,MAE):分類與回歸的模型評價(jià)回歸模型的評價(jià)指標(biāo)均方誤差(MeanSquaredError,MSE):均方根誤差:平均絕對百分誤差:分類與回歸的模型評價(jià)Kappa統(tǒng)計(jì)Kappa統(tǒng)計(jì)是比較兩個(gè)或多個(gè)觀測者對同一事物,或觀測者對同一事物的兩次或多次觀測結(jié)果是否一致,將由隨機(jī)造成的一致性和實(shí)際觀測的一致性之間的差別大小作為評價(jià)基礎(chǔ)的統(tǒng)計(jì)指標(biāo)。Kappa取值在區(qū)間[-1,1]內(nèi),其值的大小均有不同意義,具體如下:當(dāng)Kappa=1時(shí),說明兩次判斷的結(jié)果完全一致。當(dāng)Kappa=-1時(shí),說明兩次判斷的結(jié)果完全不一致。當(dāng)Kappa=0時(shí),說明兩次判斷的結(jié)果是隨機(jī)造成。當(dāng)Kappa<0時(shí),說明一致程度比隨機(jī)造成的還差,兩次檢查結(jié)果很不一致,在實(shí)際應(yīng)用中無意義。當(dāng)Kappa>0時(shí),說明有意義,Kappa愈大,說明一致性愈好。當(dāng)

時(shí),說明已經(jīng)取得相當(dāng)滿意的一致程度。當(dāng)Kappa<0.4時(shí),說明一致程度不夠。分類與回歸的模型評價(jià)對于由d個(gè)屬性組成的樣本集,其中是

在第

個(gè)屬性上的取值,線性模型即通過學(xué)習(xí)得到一個(gè)屬性的線性組合來預(yù)測樣本標(biāo)簽的函數(shù):

其中,表示回歸系數(shù)的集合,其中回歸系數(shù)表示屬性在預(yù)測目標(biāo)變量時(shí)的重要性,b為常數(shù)。線性模型線性回歸模型使用scikit-learn庫中l(wèi)inear_model模塊的LinearRegression類可以建立線性回歸模型,其基本使用格式和常用參數(shù)描述如下:classsklearn.linear_model.LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs=1)線性模型參數(shù)名稱說明fit_intercept接收bool。表示是否有截?fù)?jù),若沒有則直線過原點(diǎn)。默認(rèn)為Truenormalize接收bool,表示是否將數(shù)據(jù)歸一化,默認(rèn)為Falsecopy_X接收bool,表示是否復(fù)制數(shù)據(jù)表進(jìn)行運(yùn)算,默認(rèn)為Truen_jobs接收int,表示計(jì)算時(shí)使用的核數(shù),默認(rèn)為1

邏輯回歸是一種廣義的線性回歸模型,但實(shí)際是邏輯回歸是一個(gè)分類算法。具體的分類方法:設(shè)定一個(gè)分類閾值,將預(yù)測結(jié)果大于分類閾值的樣本歸為正類,反之歸為反類。其中,的取值范圍是,與線性模型中的一致。線性模型邏輯回歸模型邏輯回歸模型的建模步驟:線性模型使用scikit-learn庫中l(wèi)inear_model模塊的LogisticRegression類可以建立邏輯回歸模型,其語法格式和常用參數(shù)描述如下:classsklearn.linear_model.LogisticRegression(penalty='l2',class_weight=None,random_state=None,solver='liblinear',max_iter=100)線性模型參數(shù)名稱說明penalty接收str。表示正則化選擇參數(shù),可選l1或l2。默認(rèn)為l2solver接收str。表示優(yōu)化算法選擇參數(shù),可選參數(shù)為newton-cg,lbfg,liblinear,sag,當(dāng)penalty='l2'時(shí),4種都可選;當(dāng)penalty='l1'時(shí),只能選liblinear。默認(rèn)為liblinearclass_weight接收balanced以及字典,表示類型權(quán)重參數(shù),如對于因變量取值為0或1的二元模型,可以定義class_weight={0:0.9,1:0.1},這樣類型0的權(quán)重為90%,而類型1的權(quán)重為10%。默認(rèn)為None決策樹是一樹狀結(jié)構(gòu),它的每一個(gè)葉節(jié)點(diǎn)對應(yīng)著一個(gè)分類,非葉節(jié)點(diǎn)對應(yīng)著在某個(gè)屬性上的劃分,根據(jù)樣本在該屬性上的不同取值將其劃分成若干個(gè)子集。對于非純的葉節(jié)點(diǎn),多數(shù)類的標(biāo)號給出到達(dá)這個(gè)節(jié)點(diǎn)的樣本所屬的類。決策樹根部節(jié)點(diǎn)(rootnode)中間節(jié)點(diǎn)(non-leafnode)分支(branches)葉節(jié)點(diǎn)(leafnode)決策樹問題:對于給定樣本集,如何判斷應(yīng)該先選擇在哪個(gè)屬性上進(jìn)行拆分?理想情況:在拆分過程中,當(dāng)葉節(jié)點(diǎn)只擁有單一類別時(shí),將不必繼續(xù)拆分。目標(biāo)是尋找較小的樹,希望遞歸過程盡早停止較小的樹意味著什么?當(dāng)前最好的拆分屬性產(chǎn)生的拆分中目標(biāo)類的分布應(yīng)該盡可能地單一(單純),多數(shù)類占優(yōu)。決策樹算法通常按照純度的增加來選擇拆分屬性。用于評價(jià)拆分分類目標(biāo)變量的純度度量包括:熵(entropy,信息量)信息增益(Gain)信息增益率基尼(Gini,總體發(fā)散性)改變拆分準(zhǔn)則(splittingcriteria)導(dǎo)致樹的外觀互不相同。決策樹純度的度量常用的決策樹算法:決策樹決策樹算法算法描述ID3算法其核心是在決策樹的各級節(jié)點(diǎn)上,使用信息增益方法作為屬性的選擇標(biāo)準(zhǔn),來幫助確定生成每個(gè)節(jié)點(diǎn)時(shí)所應(yīng)采用的合適屬性C4.5算法C4.5決策樹生成算法相對于ID3算法的重要改進(jìn)是使用信息增益率來選擇節(jié)點(diǎn)屬性。C4.5算法可以克服ID3算法存在的不足:ID3算法只適用于離散的描述屬性,而C4.5算法既能夠處理離散的描述屬性,也可以處理連續(xù)的描述屬性CART算法CART決策樹是一種十分有效的非參數(shù)分類和回歸方法,通過構(gòu)建樹、修剪樹、評估樹來構(gòu)建一個(gè)二叉樹。當(dāng)終結(jié)點(diǎn)是連續(xù)變量時(shí),該樹為回歸樹;當(dāng)終結(jié)點(diǎn)是分類變量,該樹為分類樹SLIQ算法SLIQ算法對C4.5決策樹分類算法的實(shí)現(xiàn)方法進(jìn)行了改進(jìn),使得其能處理比C4.5大得多的訓(xùn)練集,在一定范圍內(nèi)具有良好的可伸縮性決策樹天氣情況對是否打高爾夫球的影響日期天氣溫度(華氏度)濕度起風(fēng)打球?1晴8585FNo2晴8090TNo3陰8378FYes4雨7096FYes5雨6880FYes6雨6570TNo7陰6465TYes8晴7295FNo9晴6970FYes10雨7580FYes11晴7570TYes12陰7290TYes13陰8175FYes14雨7180TNo15陰8590F?16雨8079F?17晴7870T?ID3算法簡介及其原理決策樹天氣Yes濕度風(fēng)YesNoNoYes晴陰雨>75<=75是否日期天氣溫度(華氏度)濕度起風(fēng)打球?1Sunny8585FNo2Sunny8090TNo3Overcast8378FYes4Rainy7096FYes5Rainy6880FYes6Rainy6570TNo7Overcast6465TYes8Sunny7295FNo9Sunny6970FYes10Rainy7580FYes11Sunny7570TYes12Overcast7290TYes13Overcast8175FYes14Rainy7180TNo如果數(shù)據(jù)集D中共有N類樣本,出現(xiàn)的概率分別為,則D的信息熵為:打球問題的信息熵為:決策樹日期天氣溫度(華氏度)濕度起風(fēng)打球?1晴8585FNo2晴8090TNo3陰8378FYes4雨7096FYes5雨6880FYes6雨6570TNo7陰6465TYes8晴7295FNo9晴6970FYes10雨7580FYes11晴7570TYes12陰7290TYes13陰8175FYes14雨7180TNo15陰8590F?16雨8079F?17晴7870T?天氣屬性的信息增益晴:打球記錄2條,不打球記錄為3條陰:打球記錄4條,不打球記錄0條雨:打球記錄3條,不打球記錄2條某屬性a的信息增益為:決策樹日期天氣溫度(華氏度)濕度起風(fēng)打球?1晴8585FNo2晴8090TNo3陰8378FYes4雨7096FYes5雨6880FYes6雨6570TNo7陰6465TYes8晴7295FNo9晴6970FYes10雨7580FYes11晴7570TYes12陰7290TYes13陰8175FYes14雨7180TNo15陰8590F?16雨8079F?17晴7870T?決策樹ID3算法具體流程對當(dāng)前樣本集合,計(jì)算所有屬性的信息增益選擇信息增益最大的屬性作為測試屬性,將測試屬性中取值相同的樣本劃為同一個(gè)子樣本集若子樣本集的類別屬性只含有單個(gè)類別,則分支為葉子節(jié)點(diǎn),判斷其屬性值并標(biāo)上相應(yīng)的符號,然后返回調(diào)用處;否則對子樣本集遞歸調(diào)用本算法使用scikit-learn庫中tree模塊的DecisionTreeClassifier類可以建立決策樹模型,其語法格式和常用參數(shù)描述如下:classsklearn.tree.DecisionTreeClassifier(*,criterion='gini',splitter='best',max_depth=None,min_samples_split=2,min_samples_leaf=1,random_state=None,max_leaf_nodes=None,min_impurity_split=None,class_weight=None)決策樹參數(shù)名稱參數(shù)說明criterion接收gini或entropy。表示衡量分割質(zhì)量的功能。默認(rèn)為ginisplitter接收best或random。表示用于在每個(gè)節(jié)點(diǎn)上選擇拆分的策略。默認(rèn)為bestmax_depth接收int。表示樹的最大深度。默認(rèn)為Nonemin_samples_split接收int或float。表示拆分內(nèi)部節(jié)點(diǎn)所需的最少樣本數(shù)。默認(rèn)為2

Graphviz是一款由AT&TResearch和LucentBell實(shí)驗(yàn)室開源的可視化圖形工具,可以很方便的用來繪制結(jié)構(gòu)化的圖形網(wǎng)絡(luò),支持多種格式輸出。用graphviz可視化決策樹的步驟如下:下載并安裝graphviz:/設(shè)置字體:edge[fontname="SimHei"];node[fontname="SimHei"];生成pdf:dot-Tpdf路徑\tree.dot-o路徑\tree.pdf決策樹K近鄰(K-NearestNeighbor,KNN)算法是一種常用的監(jiān)督學(xué)習(xí)方法。其原理非常簡單:對于給定測試樣本,基于指定的距離度量找出訓(xùn)練集中與其最近的k個(gè)樣本,然后基于這k個(gè)“鄰居”的信息來進(jìn)行預(yù)測。距離度量一般采用歐式距離,對于維歐式空間的兩點(diǎn)、,兩點(diǎn)間的歐式距離計(jì)算為:最近鄰分類確定預(yù)測樣本類別:投票法平均法最近鄰分類使用scikit-learn庫中neighbors模塊的KNeighborsClassifier類可以實(shí)現(xiàn)K近鄰算法對數(shù)據(jù)進(jìn)行分類,KNeighborsClassifier類的基本使用格式和常用參數(shù)說明如下:classsklearn.neighbors.KNeighborsClassifier(n_neighbors=5,*,weights='uniform',algorithm='auto',p=2,metric='minkowski',metric_params=None,n_jobs=None,**kwargs)最近鄰分類參數(shù)名稱說明n_neighbors接收int。表示“鄰居”數(shù)。默認(rèn)為5weights接收str。表示分類判斷時(shí)最近鄰的權(quán)重,可選參數(shù)為uniform和distance,uniform表示權(quán)重相等,distance表示按距離的倒數(shù)賦予權(quán)重。默認(rèn)為uniformalgorithm接收str。表示分類時(shí)采取的算法,可選參數(shù)為auto、ball_tree、kd_tree和brute,一般選擇auto自動(dòng)選擇最優(yōu)的算法。默認(rèn)為autop接收int。表示Minkowski指標(biāo)的功率參數(shù),p=1表示曼哈頓距離,p=2表示歐式距離。默認(rèn)為2metric接收str。表示距離度量。默認(rèn)為minkowskin_jobs接收int。表示計(jì)算時(shí)使用的核數(shù)。默認(rèn)為None支持向量機(jī)(SupportVectorMachines,SVM)的思想是在樣本空間中找到一個(gè)劃分超平面,將不同類別的樣本分開。支持向量機(jī)支持向量機(jī)簡介在樣本空間中,劃分超平面可通過線性方程來描述:其中,為法向量,決定了超平面的方向;b為位移項(xiàng),決定了超平面與原點(diǎn)之間的距離。支持向量機(jī)線性支持向量機(jī)的基本步驟:將原問題轉(zhuǎn)化為凸優(yōu)化問題:

原問題:凸優(yōu)化問題:支持向量機(jī)線性支持向量機(jī)通過構(gòu)建拉格朗日函數(shù),將原問題對偶化。構(gòu)造拉格朗日函數(shù):對偶問題:支持向量機(jī)對對偶化后的問題進(jìn)行求解。KKT條件:于是,對于訓(xùn)練樣本 ,有或;若 ,則該樣本不會(huì)在 中出現(xiàn),也就是不會(huì)對目標(biāo)函數(shù)有任何影響;若,則必有 ,所對應(yīng)的樣本點(diǎn)位于最大間隔邊界上,是一個(gè)支持向量。支持向量機(jī)SMO算法的思路是先固定

之外的所有參數(shù),然后求

的極值。由于存在約束條件

,只更新一個(gè)

會(huì)不滿足約束條件。于是,SMO每次選擇兩個(gè)變量

,固定其他參數(shù)。這樣,在參數(shù)初始化后,SMO算法不斷地執(zhí)行以下兩個(gè)步驟:(1)

選擇一對需要更新的變量

;(2)

固定

以外的參數(shù),求解下式獲得更新后的

。循環(huán)執(zhí)行這過程,直到求出所有的

。

其中

,

是一個(gè)常數(shù)。支持向量機(jī)SMO算法求解:(1)通過 可解出。(2)對任意的支持向量,都有 。假設(shè)有S個(gè)支持向量,可求出對應(yīng)S個(gè),取平均值作為最終的結(jié)果:支持向量機(jī)求解偏移項(xiàng):而在現(xiàn)實(shí)場景應(yīng)用中,樣本空間很可能不存在一個(gè)能正確劃分樣本的超平面。對于這類問題的常用解決方法:將樣本從原始空間映射到一個(gè)更高維的特征空間,使得樣本在這個(gè)特征空間內(nèi)線性可分。然而由于映射后的特征空間維數(shù)可能很高,直接計(jì)算通常是很困難的,為了避開這個(gè)障礙,會(huì)利用已知的核函數(shù)直接進(jìn)行計(jì)算:支持向量機(jī)非線性支持向量機(jī)核函數(shù)名稱表達(dá)式說明線性核k為核函數(shù),和為樣本多項(xiàng)式核為多項(xiàng)式次數(shù)高斯核為高斯核的帶寬(width)拉普拉斯核Sigmoid核為雙曲正切函數(shù),,

使用scikit-learn庫中svm模塊的SVC類可以實(shí)現(xiàn)支持向量機(jī)算法對數(shù)據(jù)進(jìn)行分類,SVC類的基本使用格式和常用參數(shù)說明如下:classsklearn.svm.SVC(*,C=1.0,kernel=‘rbf’,degree=3,gamma=‘scale’,coef0=0.0,tol=0.001,max_iter=-1,random_state=None)支持向量機(jī)參數(shù)名稱說明C接收float。表示對誤分類的懲罰參數(shù)。默認(rèn)為1.0kernel接收str。表示核函數(shù),可選參數(shù)為linear、poly、rbf、sigmoid、precomputed。默認(rèn)為rbfdegree接收int。表示多項(xiàng)式核函數(shù)poly的維度。默認(rèn)為3gamma接收str。表示rbf、poly、sigmoid核函數(shù)的參數(shù),若是auto,則自動(dòng)設(shè)置參數(shù)。默認(rèn)為autocoef0接收int或float。表示核函數(shù)的常數(shù)項(xiàng),對poly和sigmoid有效,默認(rèn)為0.0tol接收float。表示停止訓(xùn)練的誤差大小。默認(rèn)為0.001max_iter接受int。表示最大迭代次數(shù),-1表示無限制。默認(rèn)為-1神經(jīng)網(wǎng)絡(luò)(NeuralNetworks)能在外界信息的基礎(chǔ)上改變內(nèi)部結(jié)構(gòu),是一個(gè)具備學(xué)習(xí)功能的自適應(yīng)系統(tǒng)。神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)介紹常用于實(shí)現(xiàn)分類和回歸的神經(jīng)網(wǎng)絡(luò)算法:神經(jīng)網(wǎng)絡(luò)算法名稱算法描述BP神經(jīng)網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),學(xué)習(xí)算法是δ學(xué)習(xí)規(guī)則,是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一LM神經(jīng)網(wǎng)絡(luò)是基于梯度下降法和牛頓法結(jié)合的多層前饋網(wǎng)絡(luò),特點(diǎn):迭代次數(shù)少,收斂速度快,精確度高RBF徑向基神經(jīng)網(wǎng)絡(luò)RBF網(wǎng)絡(luò)能夠以任意精度逼近任意連續(xù)函數(shù),從輸人層到隱含層的變換是非線性的,而從隱含層到輸出層的變換是線性的,特別適合于解決分類問題FNN模糊神經(jīng)網(wǎng)絡(luò)FNN模糊神經(jīng)網(wǎng)絡(luò)是具有模糊權(quán)系數(shù)或者輸入信號是模糊量的神經(jīng)網(wǎng)絡(luò),是模糊系統(tǒng)與神經(jīng)網(wǎng)絡(luò)相結(jié)合的產(chǎn)物,它匯聚了神經(jīng)網(wǎng)絡(luò)與模糊系統(tǒng)的優(yōu)點(diǎn),集聯(lián)想、識別、自適應(yīng)及模糊信息處理于一體GMDH神經(jīng)網(wǎng)絡(luò)GMDH網(wǎng)絡(luò)也稱為多項(xiàng)式網(wǎng)絡(luò),它是前饋神經(jīng)網(wǎng)絡(luò)中常用的一種用于預(yù)測的神經(jīng)網(wǎng)絡(luò)。它的特點(diǎn)是網(wǎng)絡(luò)結(jié)構(gòu)不固定,而且在訓(xùn)練過程中不斷改變ANFIS自適應(yīng)神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)鑲嵌在一個(gè)全部模糊的結(jié)構(gòu)之中,在不知不覺中向訓(xùn)練數(shù)據(jù)學(xué)習(xí),自動(dòng)產(chǎn)生、修正并高度概括出最佳的輸入與輸出變量的隸屬函數(shù)以及模糊規(guī)則;另外神經(jīng)網(wǎng)絡(luò)的各層結(jié)構(gòu)與參數(shù)也都具有了明確的、易于理解的物理意義BP神經(jīng)網(wǎng)絡(luò),是指采用誤差逆?zhèn)鞑ィ˙ackPropagation,BP)算法訓(xùn)練的多層前饋網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)BP神經(jīng)網(wǎng)絡(luò)輸出層隱層輸入層x1xixdb1b2bhbqy1yjylw2jv1hvihvdhwqjwhjw1j第j個(gè)輸出層神經(jīng)元的輸入:第h個(gè)隱層神經(jīng)元的輸出:第h個(gè)隱層神經(jīng)元的輸入:第j個(gè)輸出層神經(jīng)元的輸出:BP神經(jīng)網(wǎng)絡(luò)算法的學(xué)習(xí)過程:神經(jīng)網(wǎng)絡(luò)使用scikit-learn庫中neural_network模塊的MLPClassifier類可以建立多層感知器分類模型,其使用格式和常用參數(shù)說明如下:classsklearn.neural_network.MLPClassifier(hidden_layer_sizes=100,activation=’relu’,solver=’adam’,alpha=0.0001,learning_rate_init=0.001,max_iter=200,tol=0.0001)神經(jīng)網(wǎng)絡(luò)參數(shù)名稱說明hidden_layer_sizes接收tuple。表示隱層結(jié)構(gòu),其長度表示隱層層數(shù),元素表示每一個(gè)隱層的神經(jīng)元個(gè)數(shù)。如(80,90)表示包含兩個(gè)隱層,第一個(gè)隱層有80個(gè)神經(jīng)元,第2個(gè)隱層有90個(gè)神經(jīng)元。默認(rèn)為100activation接收str。表示激活函數(shù),可選參數(shù)有identity、logistics、tanh、relu,默認(rèn)為relusolver接收str。表示優(yōu)化算法的類型,可選參數(shù)有l(wèi)bfgs、sgd、adam,默認(rèn)為adammax_iter接收int。表示最大迭代次數(shù)。默認(rèn)為200tol接收float。表示優(yōu)化過程的收斂性閾值。默認(rèn)為0.0001learning_rate_init接收float。表示初始學(xué)習(xí)率,默認(rèn)為0.001集成學(xué)習(xí)算法通過組合多種學(xué)習(xí)算法來獲得比任何單獨(dú)的學(xué)習(xí)算法具有更好的預(yù)測性能的估計(jì)器。對于訓(xùn)練集數(shù)據(jù),我們通過訓(xùn)練若干個(gè)個(gè)體學(xué)習(xí)器(individuallearner),通過一定的結(jié)合策略,就可以最終形成一個(gè)強(qiáng)學(xué)習(xí)器,以達(dá)到博采眾長的目的。集成算法Bagging的個(gè)體弱學(xué)習(xí)器的訓(xùn)練集是通過隨機(jī)采樣得到的。通過T次的隨機(jī)采樣,我們就可以得到T個(gè)采樣集,對于這T個(gè)采樣集,我們可以分別獨(dú)立的訓(xùn)練出T個(gè)弱學(xué)習(xí)器,再對這T個(gè)弱學(xué)習(xí)器通過集合策略來得到最終的強(qiáng)學(xué)習(xí)器。集成算法Bagging隨機(jī)森林(RandomForest,RF)是Bagging的一個(gè)拓展,RF在以決策樹為基分類器構(gòu)建Bagging學(xué)習(xí)器的基礎(chǔ)上,進(jìn)一步在決策樹的訓(xùn)練過程中引入了隨機(jī)屬性選擇。集成算法使用scikit-learn庫中ensemble模塊的RandomForestClassifier類可以建立隨機(jī)森林模型,其基本使用格和常用參數(shù)說明式如下:classsklearn.ensemble.RandomForestClassifier(n_estimators=100,criterion=’gini’,max_depth=None,min_samples_split=2,min_samples_leaf=1,max_leaf_nodes=None)集成算法參數(shù)名稱參數(shù)說明n_estimators接收int。表示隨機(jī)森林中決策樹數(shù)量。默認(rèn)為100criterion接收str。表示決策樹進(jìn)行屬性選擇時(shí)的評價(jià)標(biāo)準(zhǔn),可選參數(shù)為gini、entropy。默認(rèn)為ginimax_depth接收int或None。表示決策樹劃分時(shí)考慮的最大特征數(shù)。默認(rèn)為Nonemin_samples_split接收int或float。表示內(nèi)部結(jié)點(diǎn)最小的樣本數(shù),若是float,則表示百分?jǐn)?shù)。默認(rèn)為2min_samples_leaf接收int或float。表示葉結(jié)點(diǎn)最小的樣本數(shù),若是float,則表示百分?jǐn)?shù)。默認(rèn)為1max_leaf_nodes接受in-t或None。表示最大的葉結(jié)點(diǎn)數(shù)。默認(rèn)為NoneBoosting(提升)是一個(gè)可將弱學(xué)習(xí)器提升為強(qiáng)學(xué)習(xí)器的算法。這個(gè)算法的工作機(jī)制為:賦予一個(gè)相等的初始權(quán)重給每個(gè)訓(xùn)練樣本;迭代地學(xué)習(xí)k個(gè)分類器,學(xué)習(xí)得到弱學(xué)習(xí)器1之后,更新權(quán)重,使得后面的分類器更關(guān)注誤分類的訓(xùn)練樣本;最后的分類器組合每個(gè)個(gè)體分類器的表決結(jié)果。集成算法Boosting梯度提升機(jī)(GradientBoostingMachine,GBM)是一種Boosting的方法,其提高模型精度的方法與傳統(tǒng)Boosting對正確、錯(cuò)誤樣本進(jìn)行加權(quán)不同,該模型通過在殘差減少的梯度(Gradient)方向上建立一個(gè)新的模型,從而降低新模型的殘差(Residual)。即每個(gè)新模型的建立是為了使得之前模型的殘差往梯度方向減少。集成算法使用scikit-learn庫中ensemble模塊的GradientBoostingClassifier類可以建立梯度提升決策樹模型,其基本使用格式和常用參數(shù)說明如下:classsklearn.ensemble.GradientBoostingClassifier(loss='deviance',learning_rate=0.1,n_estimators=100,subsample=1.0,min_samples_split=2,min_samples_leaf=1,max_depth=3)集成算法參數(shù)名稱參數(shù)說明loss接收str。表示指定使用的損失函數(shù)。deviance表示使用對數(shù)損失函數(shù);exponential表示使用指數(shù)損失函數(shù),此時(shí)模型只能用于二分類問題。默認(rèn)為deviancelearning_rate接收float。表示每一棵樹的學(xué)習(xí)率,該參數(shù)設(shè)定的越小,所需要的基礎(chǔ)決策樹的數(shù)量就越多。默認(rèn)為0.1n_estimators接收int。表示基礎(chǔ)決策樹數(shù)量。默認(rèn)為100subsample接收float。表示用于訓(xùn)練基礎(chǔ)決策樹的子集占樣本集的比例。默認(rèn)為1.0min_samples_split接收int或float。表示每個(gè)基礎(chǔ)決策樹拆分內(nèi)部結(jié)點(diǎn)所需的最小樣本數(shù),若是float,則表示拆分所需的最小樣本數(shù)占樣本數(shù)的百分比。默認(rèn)為2min_samples_leaf接收int或float。表示每個(gè)基礎(chǔ)決策樹模型葉節(jié)點(diǎn)所包含的最小樣本數(shù),若是float,則表示葉節(jié)點(diǎn)最小樣本數(shù)占樣本數(shù)的百分比。默認(rèn)為1Stacking集成學(xué)習(xí)方法是指訓(xùn)練一個(gè)模型用于組合其他各個(gè)模型。首先我們先訓(xùn)練多個(gè)不同的模型(初級學(xué)習(xí)器),然后把之前訓(xùn)練的各個(gè)模型的輸出為輸入來訓(xùn)練一個(gè)模型(次級學(xué)習(xí)器),以得到一個(gè)最終的輸出。集成算法Stacking使用scikit-learn庫中ensemble模塊的StackingClassifier類可以建立Stacking分類模型,其基本使用格式和常用參數(shù)說明如下:classsklearn.ensemble.StackingClassifier(estimators,final_estimator=None,*,cv=None,stack_method='auto',n_jobs=None,passthrough=False,verbose=0)集成算法參數(shù)名稱參數(shù)說明estimators接收list。表示指定初級學(xué)習(xí)器。無默認(rèn)值final_estimator接收str。表示將用于組合初級學(xué)習(xí)器結(jié)果的分類器,即次級分類器。默認(rèn)為Nonecv接收int或交叉驗(yàn)證生成器。表示用于訓(xùn)練final_estimator時(shí)使用的交叉驗(yàn)證策略。默認(rèn)為Nonestack_method接收str。表示每個(gè)初級學(xué)習(xí)器所調(diào)用的方法,可選auto、predict_proba、decision_function、predict。默認(rèn)為“auto”1聚類目錄分類與回歸2關(guān)聯(lián)規(guī)則3智能推薦4時(shí)間序列5與分類不同,聚類分析是在沒有給定劃分類別的情況下,根據(jù)數(shù)據(jù)相似度進(jìn)行樣本分組的一種方法。聚類的輸入是一組未被標(biāo)記的樣本,聚類根據(jù)數(shù)據(jù)自身的距離或相似度將他們劃分為若干組,劃分的原則是組內(nèi)樣本最小化而組間(外部)距離最大化。常見聚類算法常用聚類算法:常見聚類算法算法名稱算法描述K-MeansK-Means聚類又稱快速聚類法,在最小化誤差函數(shù)的基礎(chǔ)上將數(shù)據(jù)劃分為預(yù)定的類數(shù)K。該算法原理簡單并便于處理大量數(shù)據(jù)K-MedoidsK-Means算法對孤立點(diǎn)的比較敏感,K-Medoids算法不將簇中對象的平均值作為簇中心,而選用簇中離平均值最近的對象作為簇中心DBSCANDBSCAN是指帶有噪聲的基于密度的空間聚類算法,可查找出高密度的核心樣本并從中擴(kuò)展聚類,適用于包含相似密度簇的數(shù)據(jù)系統(tǒng)聚類系統(tǒng)聚類又稱多層次聚類,分類的單位由高到低呈樹形結(jié)構(gòu),且所處的位置越低,所包含的對象就越少,但這些對象間的共同屬性越多。該聚類方法只適合在小數(shù)據(jù)量的時(shí)候使用,數(shù)據(jù)量大的時(shí)候速度會(huì)非常慢聚類分析僅根據(jù)樣本數(shù)據(jù)本身將樣本分組,組內(nèi)的對象相互之間是相似的(相關(guān)的),而不同組中的對象是不同的(不相關(guān)的)。組內(nèi)的相似性越大,組間差別越大,聚類效果就越好。

常見評價(jià)法有:purity評價(jià)法:RI評價(jià)法:F值評價(jià)法:聚類算法模型評價(jià)FM系數(shù):Rand指數(shù):DB指數(shù):K-Means算法是典型的基于距離的非層次聚類算法,在最小化誤差函數(shù)的基礎(chǔ)上將數(shù)據(jù)劃分為預(yù)定的類數(shù)K,采用距離作為相似性的衡量指標(biāo),即認(rèn)為兩個(gè)對象的距離越近,相似度就越大。K-Means聚類連續(xù)屬性對于連續(xù)屬性,要先對各屬性值進(jìn)行零-均值規(guī)范,再進(jìn)行距離的計(jì)算。K-Means聚類算法中,一般需要度量樣本之間的距離、樣本與簇之間的距離以及簇與簇之間的距離。歐幾里得距離:曼哈頓距離:閔可夫斯基距離:K-Means聚類相似度度量文檔數(shù)據(jù)對于文檔數(shù)據(jù)使用余弦相似性度量,先將文檔數(shù)據(jù)整理成文檔—詞矩陣格式:兩個(gè)文檔之間的相似度的計(jì)算公式為式:K-Means聚類

lostwinteamscoremusichappysad…coach文檔一142808710…6文檔二113341164…7文檔三96773148…5K均值算法的具體步驟如下:(1)從N個(gè)樣本數(shù)據(jù)中隨機(jī)選取K個(gè)對象作為初始的聚類中心。(2)分別計(jì)算每個(gè)樣本到各個(gè)聚類中心的距離,將對象分配到距離最近的聚類中。(3)所有對象分配完成后,重新計(jì)算K個(gè)聚類的中心。(4)與前一次計(jì)算得到的K個(gè)聚類中心比較,如果聚類中心發(fā)生變化,轉(zhuǎn)步驟(2),否則轉(zhuǎn)步驟(5)。(5)當(dāng)質(zhì)心不發(fā)生變化時(shí)停止并輸出聚類結(jié)果。K-Means聚類算法過程使用誤差平方和簇內(nèi)誤方差(SumSquaredError,SSE)作為度量聚類質(zhì)量的目標(biāo)函數(shù),對于兩種不同的聚類結(jié)果,選擇誤差平方和較小的分類結(jié)果。連續(xù)屬性的SSE計(jì)算公式為式:文檔數(shù)據(jù)的SSE計(jì)算公式為式:簇的聚類中心計(jì)算公式為式:K-Means聚類目標(biāo)函數(shù)使用scikit-learn庫中cluster模塊的KMeans類可以實(shí)現(xiàn)K-Means聚類算法對數(shù)據(jù)進(jìn)行聚類,KMeans類的基本使用格式和常用參數(shù)說明如下:classsklearn.cluster.KMeans(n_clusters=8,*,init=‘k-means++’,n_init=10,max_iter=300,tol=0.0001)K-Means聚類具體實(shí)現(xiàn)參數(shù)名稱參數(shù)說明n_clusters接收int。表示要形成的簇?cái)?shù)以及生成的質(zhì)心數(shù)。默認(rèn)為8init接收方法名。表示所選擇的初始化方法,可選'k-means++','random',ndarray,callable。默認(rèn)為'k-means++'n_init接收int。表示K均值算法將在不同質(zhì)心下運(yùn)行的次數(shù)。默認(rèn)為10max_iter接收int。表達(dá)單次運(yùn)行的K均值算法的最大迭代次數(shù)。默認(rèn)為300tol接收float。表示兩個(gè)連續(xù)迭代的聚類中心的差異,以聲明收斂。默認(rèn)為1e-4基于密度的聚類算法又稱為密度聚類算法。密度聚類算法的基本思想是:以樣本點(diǎn)在空間分布上的稠密程度為依據(jù)進(jìn)行聚類,若區(qū)域中的樣本密度大于某個(gè)閾值,則將相應(yīng)的樣本點(diǎn)劃入與之相近的簇中。具有噪聲的基于密度聚類(Density-BasedSpatialClusteringofApplicationswithNoise,DBSCAN)是一種典型的密度聚類算法。該算法從樣本密度的角度進(jìn)行考察樣本之間的可聯(lián)接性,并由可聯(lián)接樣本不斷擴(kuò)展直到獲得最終的聚類結(jié)果。密度聚類對于樣本集,給定距離參數(shù),數(shù)目參數(shù),任一樣本點(diǎn),定義如下概念:將集合稱為樣本點(diǎn)的鄰域,若,則稱為一個(gè)核心對象。若樣本點(diǎn)屬于的鄰域,且為一個(gè)核心對象,則稱由密度直達(dá)。對于樣本點(diǎn)和,若存在樣本點(diǎn)序列,且由密度直達(dá),則稱由密度可達(dá)。若存在樣本點(diǎn),使得樣本點(diǎn)和均由密度可達(dá),稱與密度相聯(lián)。密度聚類DBSCAN算法的基本過程:(1)輸入樣本集合、初始化距離參數(shù),數(shù)目參數(shù)。(2)確定核心對象集合。(3)在核心對象集合中,隨機(jī)選擇一個(gè)核心對象作為種子。(4)依據(jù)簇劃分原則生成一個(gè)簇,并更新核心對象集合。(5)若核心對象集合為空,則算法結(jié)束,否則返回步驟(3)。(6)輸出聚類結(jié)果。密度聚類使用scikit-learn庫中cluster模塊的DBSCAN類可以實(shí)現(xiàn)密度聚類算法對數(shù)據(jù)進(jìn)行聚類,DBSCAN類的基本使用格式和常用參數(shù)說明如下:classsklearn.cluster.DBSCAN(eps=0.5,*,min_samples=5,metric='euclidean',metric_params=None,algorithm='auto',leaf_size=30,p=None,n_jobs=None)密度聚類參數(shù)名稱參數(shù)說明eps接收float。表示鄰域半徑。默認(rèn)為0.5min_samples接收int。表示一個(gè)點(diǎn)附近的樣品數(shù)量(或總重量)被視為核心點(diǎn)。默認(rèn)為5metric接收stringorcallable。表示計(jì)算要素陣列中實(shí)例之間的距離時(shí)使用的度量。默認(rèn)為'euclidean'metric_params接收dict。表示度量功能的其他關(guān)鍵字參數(shù)。默認(rèn)為Nonealgorithm接收算法名稱。表示NearestNeighbors模塊將使用該算法來計(jì)算逐點(diǎn)距離并查找最近的鄰居。默認(rèn)為'auto'n_jobs接收int。表示要運(yùn)行的并行作業(yè)數(shù)。默認(rèn)為None層次聚類法(HierarchicalClusteringMethod)又稱系統(tǒng)聚類法,它試圖在不同層次上對樣本集進(jìn)行劃分,進(jìn)而達(dá)到形成樹形的聚類結(jié)構(gòu)。樣本集的劃分方法:聚集系統(tǒng)法分割系統(tǒng)法層次聚類在運(yùn)用層次聚類法時(shí),需要對類與類之間的距離做出規(guī)定,按照規(guī)定的不同,形成了基于最短距離、最長距離和平均距離的層次聚類法。對于給定的聚類簇與,計(jì)算距離的公式為:最短距離:最長距離:平均距離:層次聚類

基于聚集系統(tǒng)法具體步驟如下:(1)輸入樣本集合、對聚類簇函數(shù)做出規(guī)定,給出聚類的簇?cái)?shù)。(2)將每個(gè)樣本點(diǎn)作為單獨(dú)的一簇。(3)計(jì)算任何兩個(gè)簇之間的距離。(4)按照距離最近原則合并簇。(5)若當(dāng)前聚類簇?cái)?shù)未到達(dá)規(guī)定的聚類簇?cái)?shù),則返回步驟(3),否則聚類結(jié)束。(6)輸出聚類結(jié)果。層次聚類使用scikit-learn庫中cluster模塊的AgglomerativeClustering類可以實(shí)現(xiàn)層次聚類算法對數(shù)據(jù)進(jìn)行聚類,AgglomerativeClustering類的基本使用格式和常用參數(shù)說明如下:classsklearn.cluster.AgglomerativeClustering(n_clusters=2,*,affinity='euclidean',memory=None,connectivity=None,compute_full_tree='auto',linkage='ward',distance_threshold=None)層次聚類參數(shù)名稱參數(shù)說明n_clusters接收intorNone。表示要查找的集群數(shù)。默認(rèn)為2affinity接收strorcallable。表示用于計(jì)算鏈接的度量。默認(rèn)為'euclidean'memory接收具有joblib的內(nèi)存str或?qū)ο?。表示用于緩存樹?jì)算的輸出。默認(rèn)為Noneconnectivity接收數(shù)組或可調(diào)用的連接對象。表示連接的矩陣。默認(rèn)為Nonedistance_threshold接收float。表示鏈接距離的閾值。默認(rèn)為None1聚類目錄分類與回歸2關(guān)聯(lián)規(guī)則3智能推薦4時(shí)間序列5關(guān)聯(lián)規(guī)則分析也稱為購物籃分析,目的是從大量數(shù)據(jù)中找出各項(xiàng)之間的關(guān)聯(lián)關(guān)系,如關(guān)聯(lián)規(guī)則“面包=>牛奶”,其中面包稱為規(guī)則的前項(xiàng),而牛奶稱為后項(xiàng)。常用關(guān)聯(lián)規(guī)則算法算法名稱算法描述Apriori關(guān)聯(lián)規(guī)則最常用也是最經(jīng)典的挖掘頻繁項(xiàng)集的算法,其核心思想是通過連接產(chǎn)生候選項(xiàng),然后通過剪枝生成頻繁項(xiàng)集FP-Growth針對Apriori算法的固有的多次掃面事務(wù)數(shù)據(jù)集的缺陷,提出的不產(chǎn)生候選頻繁項(xiàng)集的方法。Apriori和FP-Growth都是尋找頻繁項(xiàng)集的算法Eclat算法Eclat算法是一種深度優(yōu)先算法,采用垂直數(shù)據(jù)表示形式,在概念和理論的基礎(chǔ)上利用基于前綴的等價(jià)關(guān)系將搜索空間劃分為較小的子空間灰色關(guān)聯(lián)法分析和確定各因素之間的影響程度或是若干個(gè)子因素(子序列)對主因素(母序列)的貢獻(xiàn)度而進(jìn)行的一種分析方法支持度:項(xiàng)集A、B同時(shí)發(fā)生的概率稱為關(guān)聯(lián)規(guī)則的支持度。置信度:項(xiàng)集A發(fā)生,則項(xiàng)集B發(fā)生的概率為關(guān)聯(lián)規(guī)則的置信度Apriori關(guān)聯(lián)規(guī)則和頻繁項(xiàng)集最小支持度和最小置信度支持度最小支持度是用戶或?qū)<叶x的衡量支持度的一個(gè)閾值,表示項(xiàng)目集在統(tǒng)計(jì)意義上的最低重要性;最小置信度是用戶或?qū)<叶x的衡量置信度的一個(gè)閾值,表示關(guān)聯(lián)規(guī)則的最低可靠性。同時(shí)滿足最小支持度閾值和最小置信度閾值的規(guī)則稱作強(qiáng)規(guī)則。項(xiàng)集與頻繁項(xiàng)集項(xiàng)集是項(xiàng)的集合。包含k個(gè)項(xiàng)的項(xiàng)集稱為k項(xiàng)集,如集合{牛奶,麥片,糖}是一個(gè)3項(xiàng)集。項(xiàng)集的出現(xiàn)頻數(shù)是所有包含項(xiàng)集的事務(wù)計(jì)數(shù),又稱作絕對支持度或支持度計(jì)數(shù)。如果項(xiàng)集I的相對支持度滿足預(yù)定義的最小支持度閾值,則I是頻繁項(xiàng)集。AprioriApriori算法的主要思想是找出存在于事務(wù)數(shù)據(jù)集中的最大的頻繁項(xiàng)集,再利用得到的最大頻繁項(xiàng)集與預(yù)先設(shè)定的最小置信度閾值生成強(qiáng)關(guān)聯(lián)規(guī)則。Apriori的性質(zhì)頻繁項(xiàng)集的所有非空子集也必須是頻繁項(xiàng)集。根據(jù)該性質(zhì)可以得出:向不是頻繁項(xiàng)集的項(xiàng)集中添加事務(wù),新的項(xiàng)集一定也不是頻繁項(xiàng)集。AprioriApriori算法:使用候選產(chǎn)生頻繁項(xiàng)集Apriori算法實(shí)現(xiàn)的兩個(gè)過程:找出所有的頻繁項(xiàng)集

由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則Apriori客戶ID轉(zhuǎn)換后的商品ID101a,c,e102b,d103b,c104a,b,c,d105a,b106b,c107a,b108a,b,c,e109a,b,c110a,c,eAprioriApriori1聚類目錄分類與回歸2關(guān)聯(lián)規(guī)則3智能推薦4時(shí)間序列5智能推薦用于聯(lián)系用戶和信息,并利用信息分析用戶的興趣偏好,為用戶推薦感興趣信息。常用智能推薦算法算法類型說明優(yōu)點(diǎn)缺點(diǎn)基于內(nèi)容推薦建立在項(xiàng)目的內(nèi)容信息上做出推薦的,而不需要依據(jù)用戶對項(xiàng)目的評價(jià)意見(1)推薦結(jié)果直觀,容易解釋(2)不需要領(lǐng)域知識(1)新用戶問題(2)復(fù)雜屬性不好處理(3)要有足夠數(shù)據(jù)構(gòu)造分類器協(xié)同過濾推薦它一般采用最近鄰技術(shù),利用用戶的歷史喜好信息計(jì)算用戶之間的距離,然后利用目標(biāo)用戶的最近鄰居用戶對商品評價(jià)的加權(quán)評價(jià)值來預(yù)測目標(biāo)用戶對特定商品的喜好程度,從而根據(jù)這一喜好程度來對目標(biāo)用戶進(jìn)行推薦(1)新異興趣發(fā)現(xiàn)、不需要領(lǐng)域知識(2)隨著時(shí)間推移性能提高(3)推薦個(gè)性化、自動(dòng)化程度高(4)能處理復(fù)雜的非結(jié)構(gòu)化對象(1)稀疏問題(2)可擴(kuò)展性問題(3)新用戶問題(4)質(zhì)量取決于歷史數(shù)據(jù)集(5)系統(tǒng)開始時(shí)推薦質(zhì)量差基于關(guān)聯(lián)規(guī)則推薦以關(guān)聯(lián)規(guī)則為基礎(chǔ),將已購商品作為規(guī)則頭,規(guī)則體為推薦對象(1)能發(fā)現(xiàn)新興趣點(diǎn)(2)不要領(lǐng)域知識(1)規(guī)則抽取難、耗時(shí)(2)產(chǎn)品名同義性問題(3)個(gè)性化程度低常用智能推薦算法算法類型說明優(yōu)點(diǎn)缺點(diǎn)基于效用推薦建立在對用戶使用項(xiàng)目的效用情況上計(jì)算的,其核心問題是怎樣為每一個(gè)用戶去創(chuàng)建一個(gè)效用函數(shù),因此,用戶資料模型很大程度上是由系統(tǒng)所采用的效用函數(shù)決定的(1)無冷開始和稀疏問題(2)對用戶偏好變化敏感(3)能考慮非產(chǎn)品特性(1)用戶必須輸入效用函數(shù)(2)推薦是靜態(tài)的,靈活性差(3)屬性重疊問題基于知識推薦在某種程度是可以看成是一種推理(Inference)技術(shù),它不是建立在用戶需要和偏好基礎(chǔ)上推薦的(1)能將用戶需求映射到產(chǎn)品上(2)能考慮非產(chǎn)品屬性(1)知識難獲得(2)推薦是靜態(tài)的流行度推薦將最熱門的產(chǎn)品直接推薦給客戶,建立在大眾喜好的平均水平上(1)適合歷史數(shù)據(jù)較少的用戶(2)推薦效果較差體現(xiàn)不出個(gè)性化的特點(diǎn)常用智能推薦算法通常網(wǎng)站給用戶進(jìn)行推薦時(shí),針對每個(gè)用戶提供的是一個(gè)個(gè)性化的推薦列表,也稱為TopN推薦。TopN推薦最常用的評價(jià)指標(biāo)是精確率、召回率和F1值。精確率

精確率表示推薦列表中用戶喜歡的物品所占的比例。單個(gè)用戶的推薦精確率定義如下:整個(gè)推薦系統(tǒng)的精確率定義如下:智能推薦模型評價(jià)推薦列表評價(jià)指標(biāo)召回率

召回率表示測試集中用戶喜歡的物品出現(xiàn)在推薦列表中的比例。單個(gè)用戶的推薦召回率定義如下:整個(gè)推薦系統(tǒng)的召回率定義如下:F1值(F1score)F1值是綜合了精確率(P)和召回率(R)的評價(jià)方法,F(xiàn)1值取值越高表明推薦算法越有效,F(xiàn)1值定義如下:智能推薦模型評價(jià)評分預(yù)測是指預(yù)測一個(gè)用戶對推薦的物品的評分。評分預(yù)測的預(yù)測準(zhǔn)確度通過均方根誤差(RMSE)和平均絕對誤差(MAE)進(jìn)行評價(jià)。對于測試集中的用戶和物品,定義用戶對物品的實(shí)際評分為,推薦算法的預(yù)測評分為,則RMSE的定義如下:MAE使用絕對值計(jì)算,定義如下:智能推薦模型評價(jià)評分預(yù)測評價(jià)指標(biāo)基于用戶的協(xié)同過濾算法的基本思想是基于用戶對物品的偏好找到相鄰用戶,然后將鄰居用戶喜歡的物品推薦給當(dāng)前用戶。協(xié)同過濾推薦算法基于用戶的協(xié)同過濾算法協(xié)同過濾推薦算法算法步驟:方法說明公式皮爾遜相關(guān)系數(shù)皮爾遜相關(guān)系數(shù)一般用于計(jì)算兩個(gè)定距變量間聯(lián)系的緊密程度,它的取值在[-1,+1]區(qū)間內(nèi)。皮爾森相關(guān)系數(shù)等于兩個(gè)變量的協(xié)方差除于兩個(gè)變量的標(biāo)準(zhǔn)差。歐幾里得相似度歐幾里得距離相似度以經(jīng)過人們一致評價(jià)的物品為坐標(biāo)軸,然后將參與評價(jià)的人繪制到坐標(biāo)系上,并計(jì)算這些人彼此之間的直線距離

余弦相似度余弦相似度用向量空間中兩個(gè)向量夾角的余弦值作為衡量兩個(gè)個(gè)體間差異的大小,如圖所示。杰卡德相似系數(shù)分母

表示喜歡物品

或喜歡物品

的用戶總數(shù),分子

表示同時(shí)喜歡物品

和物品

的用戶數(shù)計(jì)算用戶之間的相似度協(xié)同過濾推薦算法預(yù)測評分首先根據(jù)上一步中的相似度計(jì)算,尋找用戶的鄰居集,其中表示鄰居集,表示用戶集。然后結(jié)合用戶評分?jǐn)?shù)據(jù)集,預(yù)測用戶對項(xiàng)的評分,計(jì)算公式如下:其中,

表示用戶和用戶的相似度。最后,對未評分商品的預(yù)測分值排序,得到推薦商品列表。基于物品的協(xié)同過濾算法的原理和基于用戶的協(xié)同過濾類似,只是在計(jì)算鄰居時(shí)采用物品本身,而不是從用戶的角度,即基于用戶對物品的偏好找到相似的物品,再根據(jù)用戶的歷史偏好,推薦相似的物品給用戶。協(xié)同過濾推薦算法基于物品的協(xié)同過濾算法協(xié)同過濾推薦算法算法步驟:方法說明公式皮爾遜相關(guān)系數(shù)皮爾遜相關(guān)系數(shù)一般用于計(jì)算兩個(gè)定距變量間聯(lián)系的緊密程度,它的取值在[-1,+1]區(qū)間內(nèi)。皮爾森相關(guān)系數(shù)等于兩個(gè)變量的協(xié)方差除于兩個(gè)變量的標(biāo)準(zhǔn)差。歐幾里得相似度歐幾里得距離相似度以經(jīng)過人們一致評價(jià)的物品為坐標(biāo)軸,然后將參與評價(jià)的人繪制到坐標(biāo)系上,并計(jì)算這些人彼此之間的直線距離

余弦相似度余弦相似度用向量空間中兩個(gè)向量夾角的余弦值作為衡量兩個(gè)個(gè)體間差異的大小,如圖所示。杰卡德相似系數(shù)分母

表示喜歡物品

或喜歡物品

的用戶總數(shù),分子

表示同時(shí)喜歡物品

和物品

的用戶數(shù)計(jì)算物品之間的相似度基于物品的協(xié)同過濾算法中用戶對所有物品的感興趣程度計(jì)算公式為:其中,R表示用戶對物品的興趣,表示所有物品之間的相似度,P為用戶對物品感興趣的程度。

最后,根據(jù)用戶對物品的感興趣程度排序,得到推薦商品列表。協(xié)同過濾推薦算法對于用戶行為數(shù)據(jù)信息過少的用戶,可以使用基于流行度的推薦算法;為這些用戶推薦最熱門的前N個(gè)新聞,等信息數(shù)據(jù)收集到一定數(shù)量時(shí),再切換為個(gè)性化推薦?;诹餍卸鹊耐扑]算法1聚類目錄分類與回歸2關(guān)聯(lián)規(guī)則3智能推薦4時(shí)間序列5時(shí)間序列是按照時(shí)間排序的一組隨機(jī)變量,它通常是在相等間隔的時(shí)間段內(nèi)依照給定的采樣率對某種潛在過程進(jìn)行觀測的結(jié)果,是一種動(dòng)態(tài)數(shù)據(jù)處理的統(tǒng)計(jì)方法,主要研究隨機(jī)數(shù)據(jù)序列所遵從的統(tǒng)計(jì)規(guī)律。常用的時(shí)間序列模型:時(shí)間序列算法模型名稱描述平滑法平滑法常用于趨勢分析和預(yù)測,利用修勻技術(shù),削弱短期隨機(jī)波動(dòng)對序列的影響,使序列平滑化。根據(jù)所用平滑技術(shù)的不同,可具體分為移動(dòng)平均法和指數(shù)平滑法趨勢擬合法趨勢擬合法將時(shí)間作為自變量,相應(yīng)的序列觀察值作為因變量,建立回歸模型。根據(jù)序列的特征,可具體分為線性擬合和曲線擬合組合模型時(shí)間序列的變化主要受到長期趨勢(T)、季節(jié)變動(dòng)(S)、周期變動(dòng)(C)和不規(guī)則變動(dòng)()這4個(gè)因素的影響。根據(jù)序列的特點(diǎn),可以構(gòu)建加法模型和乘法模型加法模型:

;乘法模型:

時(shí)間序列算法模型名稱描述AR模型以前

期的序列值

為自變量、隨機(jī)變量

的取值

為因變量建立線性回歸模型MA模型隨機(jī)變量

的取值

與以前各期的序列值無關(guān),

建立

與前

期的隨機(jī)擾動(dòng)

的線性回歸模型ARMA模型

隨機(jī)變量

的取值

不僅與以前

期的序列值有關(guān),還與前

期的隨機(jī)擾動(dòng)有關(guān)ARIMA模型許多非平穩(wěn)序列差分后會(huì)顯示出平穩(wěn)序列的性質(zhì),稱這個(gè)非平穩(wěn)序列為差分平穩(wěn)序列。對差分平穩(wěn)序列可以使用ARIMA模型進(jìn)行擬合。ARCH模型ARCH模型能準(zhǔn)確地模擬時(shí)間序列變量的波動(dòng)性的變化,適用于序列具有異方差性并且異方差函數(shù)短期自相關(guān)GARCH模型及其衍生模型GARCH模型稱為廣義ARCH模型,是ARCH模型的拓展。相比于ARCH模型,GARCH模型及其衍生模型更能反映實(shí)際序列中的長期記憶性、信息的非對稱性等性質(zhì)針對一個(gè)觀察值序列后,首先要對它的白噪聲和平穩(wěn)性進(jìn)行檢驗(yàn),這兩個(gè)重要的檢驗(yàn)稱為序列的預(yù)處理。根據(jù)檢驗(yàn)結(jié)果可以將序列分為不同的類型:時(shí)間序列的預(yù)處理序列的各項(xiàng)之間沒有任何相關(guān)關(guān)系,序列在進(jìn)行完全無序的隨機(jī)波動(dòng)白噪聲序列均值和方差是常數(shù),通常是建立一個(gè)線性模型來擬合該序列的發(fā)展,借此提取該序列的有用信息。平穩(wěn)非白噪聲序列均值和方差不穩(wěn)定,處理方法一般是將其轉(zhuǎn)變?yōu)槠椒€(wěn)序列,再應(yīng)用有關(guān)平穩(wěn)時(shí)間序列的分析方法非平穩(wěn)序列平穩(wěn)時(shí)間序列的定義如果時(shí)間序列在某一常數(shù)附近波動(dòng)且波動(dòng)范圍有限,即有常數(shù)均值和常數(shù)方差,并且延遲期的序列變量的自協(xié)方差和自相關(guān)系數(shù)是相等的或者說延遲期的序列變量之間的影響程度是一樣的,則稱此序列為平穩(wěn)序列。時(shí)間序列的預(yù)處理平穩(wěn)性檢驗(yàn)平穩(wěn)性檢驗(yàn)時(shí)間序列的預(yù)處理時(shí)序圖檢驗(yàn)根據(jù)平穩(wěn)時(shí)間序列的均值和方差都為常數(shù)的性質(zhì),平穩(wěn)序列的時(shí)序圖顯示該序列值始終在一個(gè)常數(shù)附近隨機(jī)波動(dòng),而且波動(dòng)的范圍有界;如果有明顯的趨勢性或者周期性那它通常不是平穩(wěn)序列。自相關(guān)圖檢驗(yàn)隨著延遲期數(shù)的增加,平穩(wěn)序列的自相關(guān)系數(shù)(延遲期)會(huì)比較快地衰減趨向于零,并在零附近隨機(jī)波動(dòng),而非平穩(wěn)序列的自相關(guān)系數(shù)衰減的速度比較慢單位根檢驗(yàn)單位根檢驗(yàn)是指檢驗(yàn)序列中是否存在單位根,存在單位根就是非平穩(wěn)時(shí)間序列白噪聲檢驗(yàn)也稱純隨機(jī)性檢驗(yàn),一般是構(gòu)造檢驗(yàn)統(tǒng)計(jì)量來檢驗(yàn)序列的白噪聲;常用的檢驗(yàn)統(tǒng)計(jì)量有Q統(tǒng)計(jì)量和LB統(tǒng)計(jì)量,計(jì)算出統(tǒng)計(jì)量后再計(jì)算出對應(yīng)的值,如果值顯著大于顯著性水平,則表示該序列不能拒絕純隨機(jī)的原假設(shè),可以停止對該序列的分析。時(shí)間序列的預(yù)處理白噪聲檢驗(yàn)自相關(guān)系數(shù)(ACF)平穩(wěn)AR(p)模型的自相關(guān)系數(shù)呈指數(shù)的速度衰減,始終有非零取值,不會(huì)在大于某個(gè)常數(shù)之后就恒等于零,這個(gè)性質(zhì)就是平穩(wěn)AR(p)模型的自相關(guān)系數(shù)具有拖尾性。偏自相關(guān)系數(shù)(PACF)對于一個(gè)平穩(wěn)AR(p)模型,求出延遲期自相關(guān)系數(shù)時(shí),實(shí)際上的得到的并不是與之間單純的相關(guān)關(guān)系,因?yàn)橥瑫r(shí)還會(huì)受到中間個(gè)隨機(jī)變量的影響,所以自相關(guān)系數(shù)里實(shí)際上摻雜了其他變量對與的相關(guān)影響,為了單純地測度對的影響,引進(jìn)偏自相關(guān)系數(shù)的概念。拖尾與截尾截尾是指時(shí)間序列的ACF或PACF在某階后均為0的性質(zhì);

拖尾是ACF或PACF并不在某階后均為0的性質(zhì)。平穩(wěn)時(shí)間序列分析基本性質(zhì)具有結(jié)構(gòu)的模型稱為階自回歸模型,簡記為AR(p)。即在t時(shí)刻的隨機(jī)變量的取值是前p期的多元線性回歸,認(rèn)為主要是受過去p期的序列值的影響。誤差項(xiàng)是當(dāng)期的隨機(jī)干擾,為零均值白噪聲序列。平穩(wěn)AR(p)模型的性質(zhì)如下表所示:平穩(wěn)時(shí)間序列分析AR模型統(tǒng)計(jì)量性質(zhì)統(tǒng)計(jì)量性質(zhì)均值常數(shù)均值自相關(guān)系數(shù)(ACF)拖尾方差常數(shù)方差偏自相關(guān)系數(shù)(PACF)階截尾具有結(jié)構(gòu)的模型稱為q階移動(dòng)平均模型,簡記為MA(q)。即在t時(shí)刻的隨機(jī)變量的取值是前q期的隨機(jī)擾動(dòng)的多元線性函數(shù),誤差項(xiàng)是當(dāng)期的隨機(jī)干擾,為零均值白噪聲序列,是序列的均值。認(rèn)為主要是受過去q期的誤差項(xiàng)的影響。平穩(wěn)MA(q)模型的性質(zhì)如下表所示:平穩(wěn)時(shí)間序列分析MA模型統(tǒng)計(jì)量性質(zhì)統(tǒng)計(jì)量性質(zhì)均值常數(shù)均值自相關(guān)系數(shù)(ACF)階截尾方差常數(shù)方差偏自相關(guān)系數(shù)(PACF)拖尾具有結(jié)構(gòu)的模型稱為自回歸移動(dòng)平均模型,簡記為ARMA(p,q)。即在t時(shí)刻的隨機(jī)變量的取值是前p期和前q期的多元線性函數(shù),誤差項(xiàng)是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論