張君秋?趙建光(通訊作者)?孟凡明?陳麗敏
一、引言
在大數(shù)據(jù)時(shí)代的背景下,早期的一些傳統(tǒng)的技術(shù)算法已得到了新的改進(jìn),同時(shí)也衍生出一些新的算法模型,推動(dòng)著工業(yè)生產(chǎn)和互聯(lián)網(wǎng)行業(yè)的發(fā)展。新技術(shù)的不斷發(fā)展也伴隨著新問題的出現(xiàn),如今現(xiàn)有的技術(shù)難以滿足海量數(shù)據(jù)的處理需要,因此進(jìn)一步改進(jìn)模型算法是攻克當(dāng)前問題的關(guān)鍵。
二、數(shù)據(jù)挖掘技術(shù)
(一)數(shù)據(jù)挖掘的概念
數(shù)據(jù)挖掘[1]是一種處理海量數(shù)據(jù)的技術(shù),是適用于信息社會(huì)從大量數(shù)據(jù)中提取有用信息的需要而產(chǎn)生的新科學(xué),是傳統(tǒng)統(tǒng)計(jì)學(xué)、人工智能、模式識(shí)別、數(shù)據(jù)庫等領(lǐng)域的交叉,其結(jié)合了傳統(tǒng)的分析方法和復(fù)雜的統(tǒng)計(jì)學(xué)算法,應(yīng)用越來越廣泛。
(二)數(shù)據(jù)挖掘的功能
數(shù)據(jù)挖掘可以完成數(shù)據(jù)的總結(jié)、分類、關(guān)聯(lián)、聚類[2]等任務(wù)。它通過對大量的數(shù)據(jù)信息進(jìn)行獲取分析,提煉出隱藏的規(guī)律,這便體現(xiàn)了描述和預(yù)測[3]的性能。表1詳細(xì)介紹數(shù)據(jù)挖掘功能。
三、決策樹算法
決策樹[4]是數(shù)據(jù)挖掘技術(shù)中常用的算法之一,主要解決實(shí)際生活中的分類回歸問題。任何一棵決策樹都由三個(gè)部件組成,分別是有指明方向的有向邊、內(nèi)部的分節(jié)點(diǎn)和沒有后端的葉子節(jié)點(diǎn)。每一個(gè)內(nèi)部節(jié)點(diǎn)分別表示該數(shù)據(jù)集的某一個(gè)特征指標(biāo)用于測試;每一個(gè)葉子節(jié)點(diǎn)代表一個(gè)編號(hào),用于區(qū)分編號(hào)。本文將介紹ID3算法、C4.5算法和CART算法。
(一)ID3算法
從統(tǒng)計(jì)學(xué)理論知識(shí)看,信息熵值[5]和樣本的純度成反比。ID3算法的思想是根據(jù)信息增益來對特征指標(biāo)進(jìn)行選擇,從中選取信息增益值最大的特征指標(biāo)進(jìn)行分類,算法采用自頂向下的搜索過程,將可能經(jīng)過的決策樹空間全部遍歷完成。
ID3算法使用的分類指標(biāo)是信息增益,它表示已知特征A的信息情況下使得樣本集合不確定性降低的程度。
數(shù)據(jù)集的信息熵:
(1)
其中Ck這個(gè)符號(hào)代表D這個(gè)集合中的樣本子集,該子集屬于第k類樣本。如果要求某個(gè)特征A相對于數(shù)據(jù)集D的條件熵H(D|A),可以根據(jù)下面的公式來計(jì)算:
H(D|A)(2)
在上面的公式中,Di表示樣本子集,特指集合D中特征屬性A的第i個(gè)值的子集,Dik表示Di中屬于第k的樣本子集。
信息增益=信息熵-條件熵。公式如下Gain(D,A)= H(D)-H(D|A),如果所得到的信息增益值[5]越大,則表示使用特征屬性A來劃分后,得到的結(jié)果值的提升純度就越高。
(二)C4.5算法
C4.5算法是ID3的改進(jìn)算法,該算法不會(huì)對特征值的選取有自己的偏好,該算法進(jìn)行分類時(shí)所采用的標(biāo)準(zhǔn)引入了新的概念:信息增益率。
C4.5算法將訓(xùn)練樣本數(shù)據(jù)集進(jìn)行綜合排序,每兩個(gè)相鄰的樣本求平均數(shù),同時(shí)分別計(jì)算出每個(gè)樣本的信息增益值,將信息增益值最大的點(diǎn)挑選出來。另一方面,在缺失值這個(gè)問題上,我們在研究過程中提出以下兩點(diǎn):一是怎樣準(zhǔn)確的得出特征屬性值的信息增益率;二是怎樣劃分樣本節(jié)點(diǎn)最恰當(dāng)。針對這兩個(gè)問題,C4.5給出了答案,有的屬性特征有缺失值,導(dǎo)致屬性不全,該樣本會(huì)用它自身部分沒有缺失值的樣本子集進(jìn)行訓(xùn)練,然后按所占整體比例進(jìn)行換算。
C4.5有自己的劃分標(biāo)準(zhǔn),它會(huì)自己利用得出的信息增益率來克服信息增益的缺點(diǎn),計(jì)算表達(dá)式為:
(3)
(4)
HA(D)被稱為特征A的特定屬性固定值。可以清楚地看出,信息的增益率在選取特征值的過程中也不是隨機(jī)的,它所選取的特征屬性能夠被選取的數(shù)值范圍比較少,也就是說當(dāng)特征值分母越小時(shí),所得的結(jié)果就越大,因此C4.5算法在對特征屬性進(jìn)行分類時(shí)并不是直接靠增益率來進(jìn)行衡量,而是在其中加入一種方法:先把所有的特征屬性都為信息增益值的統(tǒng)計(jì)計(jì)算得出,分別進(jìn)行對比,找出信息增益值高于平均值的特征屬性,然后進(jìn)一步從較高的信息增益值中選擇增最高的特征指標(biāo)。
(三)CART算法
ID3和C4.5這兩種算法在科學(xué)理論研究和生產(chǎn)實(shí)際中較為常用,但是其生成的決策樹組織結(jié)構(gòu)和數(shù)據(jù)規(guī)模都比較大,CART算法有效地避免了這一問題,該算法可以簡化已生成的決策樹大小,利用二分法大大提高了一棵決策樹的工作效率。
CART算法在實(shí)施過程中包括三個(gè)環(huán)節(jié),分別為剪枝、分裂和樹的選擇。分裂過程是類似一棵二叉樹遞歸的過程,利用該算法工作時(shí)輸入和測出的數(shù)值既可以是連續(xù)型也可以是離散型的,對數(shù)據(jù)集的類型沒有很嚴(yán)格的要求,CART算法會(huì)一直生長下去,沒有停止生長的節(jié)點(diǎn)或準(zhǔn)則。剪枝過程從最大的子樹開始,每次選擇下一個(gè)剪枝對象都遵循一個(gè)原則,便是找出那個(gè)對訓(xùn)練數(shù)據(jù)熵作用發(fā)揮最弱的那個(gè)節(jié)點(diǎn),一直到遍歷到只剩下根節(jié)點(diǎn),則過程完成。
一般情況下,對數(shù)運(yùn)算對我們的研究過程不算友好,計(jì)算量大且復(fù)雜,為了將更多的時(shí)間用于模型評估上,我們很少使用熵模型。該模型導(dǎo)致在訓(xùn)練過程中很費(fèi)力,基尼指數(shù)很好地避免了復(fù)雜的數(shù)學(xué)運(yùn)算,同時(shí)還簡單化了模型的整體結(jié)構(gòu)?;嶂笖?shù)用來判斷模型的純潔度,基尼系數(shù)比較低,則表示純度越好,其模型的特征值越好,該指標(biāo)和信息增益的判別是相反的。
(5)
(6)
其中k代表類別屬性。
基尼指數(shù)[5]本質(zhì)是一個(gè)概率,基尼指數(shù)越大,則表明數(shù)據(jù)集純度越低。和信息增益類似,基尼系數(shù)可以用來衡量所有不均勻的數(shù)值分布,基尼指數(shù)是一個(gè)介于零和一之間的常數(shù),0代表完全相等,1代表完全不相等,當(dāng)CART為二分類,其表達(dá)式為:
(7)
介于零和一之間的數(shù)則由上述公式計(jì)算得出。如果是在二分類和平方運(yùn)算中,它的運(yùn)算過程會(huì)更加簡單,而且性能也會(huì)越來越好。即使基尼指數(shù)和熵模型性能很接近,但畢竟二者還是存在差距的,由高等數(shù)學(xué)理論知識(shí)我們知道,ln(x)=-1+x+o(x),則可以將基尼系數(shù)[5]理解為熵模型的一階泰勒展開式,即
(8)
四、BP神經(jīng)網(wǎng)絡(luò)算法
(一)隱含層的選取
在構(gòu)建一個(gè)BP神經(jīng)網(wǎng)絡(luò)[6]時(shí),需要我們做好隱含層的選取工作。神經(jīng)網(wǎng)絡(luò)中各個(gè)輸出層的節(jié)點(diǎn)和輸出層的各個(gè)節(jié)點(diǎn)之間的位置都是已知而且不能隨時(shí)增減,基本上不會(huì)發(fā)生改變;而隱含層中各節(jié)點(diǎn)的個(gè)體由研究者根據(jù)自己喜好和訓(xùn)練集的實(shí)際情況選擇。隱含層中節(jié)點(diǎn)的個(gè)數(shù)要重點(diǎn)把握,不可過多也不可過少,如果設(shè)置不當(dāng)會(huì)影響神經(jīng)網(wǎng)絡(luò)的訓(xùn)練能力,一般通過這個(gè)經(jīng)驗(yàn)公式可以算出該網(wǎng)絡(luò)中隱含層節(jié)點(diǎn)的數(shù)目。如下:,經(jīng)驗(yàn)公式不是唯一的,我們需要根據(jù)自己的需要自行挑選,在這個(gè)公式中,h表示此神經(jīng)網(wǎng)絡(luò)中隱含層有多少個(gè)節(jié)點(diǎn),m代表該網(wǎng)格的輸入層中有多少個(gè)節(jié)點(diǎn),n代表該網(wǎng)絡(luò)的輸出層中有多少個(gè)節(jié)點(diǎn),a是一個(gè)常數(shù),作為調(diào)節(jié)常數(shù),它有一個(gè)范圍是人為規(guī)定的,通常選取十以內(nèi)的常數(shù)。
(二)正向傳遞
在這種傳遞方式的訓(xùn)練過程中,輸出值的大小受到很多因素的影響。例如上一層當(dāng)中所有節(jié)點(diǎn)的最終輸出值之和的大小就會(huì)直接影響到最終的輸出值結(jié)果;在我們訓(xùn)練這個(gè)數(shù)據(jù)集時(shí)也許我們會(huì)特別注意到,網(wǎng)絡(luò)中當(dāng)前的節(jié)點(diǎn)和上一層所有節(jié)點(diǎn)之間的權(quán)值和每一個(gè)節(jié)點(diǎn)的閾值也是一個(gè)直接影響其輸出的閾值,還涉及激活函數(shù)的選取,都會(huì)對最后的輸出結(jié)果造成影響。下面的公式可以得出結(jié)果:
(9)
xj=f(Sj)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(10)
這里的f為人為挑選的激活函數(shù),激活函數(shù)一般挑選S型的函數(shù),也有研究學(xué)者選擇線性函數(shù),不管激活函數(shù)怎樣選取,正向傳遞的過程不算很難,按照上述公式計(jì)算即可得出結(jié)果。下面我們將詳細(xì)介紹一下反向傳遞的復(fù)雜推導(dǎo)過程。
(三)反向傳遞
在神經(jīng)網(wǎng)絡(luò)算法當(dāng)中,誤差信號(hào)的反向傳遞子過程相對正向傳遞來說比較復(fù)雜,此過程是基于Widrow-Hoff學(xué)習(xí)算法規(guī)則的。假設(shè)該神經(jīng)網(wǎng)絡(luò)的輸出層所有分層結(jié)果之和為dj,其中n代表學(xué)習(xí)率,選取的誤差函數(shù)如下公式:
(11)
BP神經(jīng)網(wǎng)絡(luò)在做數(shù)據(jù)訓(xùn)練時(shí)最關(guān)鍵的便是反復(fù)的修改連接權(quán)值和神經(jīng)元的閾值,使訓(xùn)練結(jié)果達(dá)到最優(yōu),誤差降到最低。Widrow-Hoff法則所選擇的訓(xùn)練方式主要是依據(jù)相對誤差梯度下降,連續(xù)反復(fù)地調(diào)整網(wǎng)絡(luò)當(dāng)中的閾值和神經(jīng)元之間的權(quán)平方,在進(jìn)行這一調(diào)整的過程中,注意應(yīng)該沿著相對誤差平方上的偏移方向和相對誤差下降速度最快的方向進(jìn)行調(diào)節(jié)。在修改一個(gè)權(quán)值時(shí),要特別注意的是修改向量,不要忽略方向上的修改,需要和當(dāng)前所在位置上的一個(gè)梯度E(w,b)大小成正比,例如,對于第j個(gè)神經(jīng)元的一個(gè)輸出節(jié)點(diǎn)來說。
(12)
假設(shè)選擇的激活函數(shù)是(由人為決定的激活函數(shù)選擇):
(13)
接下來需要對所選取的激活函數(shù)求導(dǎo),具體計(jì)算過程如下:
(14)
那么針對有如下計(jì)算過程:
(15)
其中有
(16)
同樣對于dj可以得出如下結(jié)果,此推導(dǎo)過程同上,不再進(jìn)行具體的公式推導(dǎo)。
(17)
以上過程也就是δ學(xué)習(xí)規(guī)則的研究和推導(dǎo)過程,通過改變兩個(gè)神經(jīng)元之間的權(quán)值關(guān)系來減少和降低誤差,該權(quán)值的主要目標(biāo)是統(tǒng)計(jì)系統(tǒng)中實(shí)際輸出的結(jié)果與預(yù)期估計(jì)時(shí)的輸出結(jié)果之間的誤差,這個(gè)法則也叫做Widrow-Hoff學(xué)習(xí)規(guī)則。以上內(nèi)容就是其中針對輸出隱含輸入層和對于輸出第一層之間的輸入權(quán)值價(jià)格調(diào)整合理計(jì)算操作過程和對于輸出第一層的輸入閾值價(jià)格調(diào)整合理計(jì)算過程工作原理過程的詳細(xì)操作說明,而其中針對隱含輸入輸出層和對于隱含輸出層之間的輸入閾值合理調(diào)整和對于輸出輸入層以及隱含層等地區(qū)的輸出閾值[7]合理調(diào)整則與數(shù)據(jù)分析相比,這兩種計(jì)算方法的閾值計(jì)算量和工作過程相對來說較為繁雜,本文不再進(jìn)行細(xì)致研究。
五、算法比較
決策樹算法操作簡單,分類調(diào)度時(shí)工作速度快,可用于大量數(shù)據(jù)的處理。決策樹算法是以實(shí)際樣本作為基礎(chǔ)進(jìn)行歸納學(xué)習(xí),從一堆毫無規(guī)律、毫無順序的數(shù)據(jù)中推測出以決策樹展現(xiàn)出來的模型規(guī)則,然后使用得出的決策對新的樣例進(jìn)行分析預(yù)警,其算法本質(zhì)是利用一系列的規(guī)則對數(shù)據(jù)信息進(jìn)行分類預(yù)判。
而在神經(jīng)網(wǎng)絡(luò)算法中,其機(jī)器學(xué)習(xí)的過程中就是訓(xùn)練過程,就是將數(shù)據(jù)信息集合手動(dòng)輸入到神經(jīng)網(wǎng)絡(luò)中,并且按照一定的算法去調(diào)節(jié)神經(jīng)元之間的權(quán)值數(shù)據(jù),使得在網(wǎng)絡(luò)中接收時(shí)可以得出合適的輸出值。
BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了一個(gè)從輸入到輸出的映射過程,數(shù)學(xué)理論證明了三層的神經(jīng)網(wǎng)絡(luò)就可以以任意精度逼近任何非線性連續(xù)函數(shù),體現(xiàn)了其具有較強(qiáng)的非線性映射能力。同時(shí),該算法能夠通過學(xué)習(xí)自適應(yīng)性地將學(xué)到的內(nèi)容記憶于網(wǎng)絡(luò)的權(quán)值中,具有較高的自學(xué)習(xí)能力和自適應(yīng)能力。BP神經(jīng)網(wǎng)絡(luò)在它的局部或者部分的神經(jīng)元受到破損后不會(huì)對整個(gè)訓(xùn)練結(jié)果造成很大影響,具有一定的容錯(cuò)能力。
基于以上優(yōu)點(diǎn),人們在逐漸對BP神經(jīng)網(wǎng)絡(luò)的研究中也逐漸發(fā)現(xiàn)該算法的局限性。如果從統(tǒng)計(jì)學(xué)的角度分析,BP神經(jīng)網(wǎng)絡(luò)的改進(jìn)只改善了局部,如果使用此網(wǎng)絡(luò)解決線性算法之外的問題,網(wǎng)絡(luò)中神經(jīng)元之間的權(quán)值和閾值會(huì)根據(jù)局部數(shù)據(jù)的改變自行變化并調(diào)整,導(dǎo)致造成局部極值的現(xiàn)象,從而造成此模型的訓(xùn)練失??;BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)目前還沒有統(tǒng)一的選擇標(biāo)準(zhǔn),一般都根據(jù)實(shí)驗(yàn)者的經(jīng)驗(yàn)來選取定義,如果結(jié)構(gòu)建立過大,會(huì)造成訓(xùn)練的時(shí)間過長,導(dǎo)致效率不高;若選擇過小,則有可能導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)不夠收斂。
六、結(jié)束語
本文通過介紹數(shù)據(jù)挖掘算法可以從大量的數(shù)據(jù)中找到有價(jià)值的信息從而解決相關(guān)問題外,還對決策樹和BP神經(jīng)網(wǎng)絡(luò)算法的結(jié)構(gòu)和優(yōu)缺點(diǎn)進(jìn)行闡述,希望本文能夠?yàn)橄嚓P(guān)探究基于數(shù)據(jù)挖掘技術(shù)的算法模型提供參考。
作者單位:張君秋 趙建光 孟凡明 陳麗敏 河北建筑工程學(xué)院 信息工程學(xué)院
參? 考? 文? 獻(xiàn)
[1] 劉彥戎,楊云. 一種矩陣和排序索引關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘算法[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2021,31(02):54-59.
[2] 潘巍. 對數(shù)據(jù)挖掘算法的優(yōu)化及應(yīng)用探析[J]. 電子元器件與信息技術(shù),2020,4(07):91-93.
[3] 盛夏. 數(shù)據(jù)挖掘算法研究[J]. 決策與信息(下旬刊),2010(06):163.
[4] 魚先鋒,耿生玲. 模糊智能決策樹模型與應(yīng)用研究[J]. 計(jì)算機(jī)科學(xué)與探索,2022,16(03):703-712.
[5] 謝鑫,張賢勇,楊霽琳. 融合信息增益與基尼指數(shù)的決策樹算法[J]. 計(jì)算機(jī)工程與應(yīng)用,2022,58(10):139-144.
[6] 張敏,彭紅偉,顏曉玲. 基于神經(jīng)網(wǎng)絡(luò)的模糊決策樹改進(jìn)算法[J]. 計(jì)算機(jī)工程與應(yīng)用,2021,57(21):174-179.
[7] 王忠,萬冬冬,單闖,等. 基于反向傳播神經(jīng)網(wǎng)絡(luò)的拉曼光譜去噪方法[J]. 光譜學(xué)與光譜分析,2022,42(05):1553-1560.
基金項(xiàng)目:河北建筑工程學(xué)院碩士研究生創(chuàng)新基金項(xiàng)目“基于YOLO改進(jìn)算法的城市交通標(biāo)識(shí)檢測”(項(xiàng)目編號(hào):XY202237)。
張君秋(1999-),女,漢族,河北唐山,碩士研究生,研究方向:計(jì)算機(jī)視覺;
通信作者:趙建光(1978-),男,漢族,河北大名,博士,教授,研究方向:感知互聯(lián)與智能計(jì)算。