本公開(kāi)涉及數(shù)據(jù)挖掘技術(shù)領(lǐng)域,更特別地涉及一種用于在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的方法和設(shè)備以及一種用于構(gòu)建用于進(jìn)行特征選擇的神經(jīng)網(wǎng)絡(luò)的方法和設(shè)備。
背景技術(shù):
在大數(shù)據(jù)時(shí)代,可以通過(guò)各種數(shù)據(jù)采集途徑獲得大量的數(shù)據(jù),采集到的數(shù)據(jù)通常具有非常大的特征維度。然而,在針對(duì)采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘時(shí),并不是所有的特征對(duì)于數(shù)據(jù)挖掘都是有利的。這些特征中有些特征可能是冗余的,而有些特征甚至?xí)?duì)數(shù)據(jù)挖掘起阻礙作用。因此,需要進(jìn)行這些特征進(jìn)行特征選擇,以去掉數(shù)據(jù)中的冗余特征和阻礙特征,從而提高數(shù)據(jù)挖掘的效率,提升信息提取的效果。
在進(jìn)行數(shù)據(jù)挖掘時(shí),可以采用神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取。神經(jīng)網(wǎng)絡(luò)是一種通過(guò)對(duì)人腦的基本單元——神經(jīng)元的建模和聯(lián)接,探索模擬人腦神經(jīng)系統(tǒng)功能的模型,并研制出一種具有學(xué)習(xí)、聯(lián)想、記憶和模式識(shí)別等智能信息處理功能的人工系統(tǒng)?;谏窠?jīng)網(wǎng)絡(luò),可以對(duì)眾多特征進(jìn)行提取和選擇,以得到期望特征。
在中國(guó)專(zhuān)利申請(qǐng)公開(kāi)cn1945602a中公開(kāi)了一種基于神經(jīng)網(wǎng)絡(luò)的特征選擇技術(shù),其中通過(guò)針對(duì)神經(jīng)網(wǎng)絡(luò)的中間層設(shè)置稀疏性約束,使用用戶(hù)提供的數(shù)據(jù)集對(duì)帶有模糊映射層的人工神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,再借助訓(xùn)練好的人工神經(jīng)網(wǎng)絡(luò)計(jì)算所有特征的重要性度量,來(lái)實(shí)現(xiàn)特征選擇的目的。然而由于該方案是借助訓(xùn)練好的人工神經(jīng)網(wǎng)絡(luò)計(jì)算所有特征的重要性度量,然后再對(duì)特征進(jìn)行排序和選擇,所以該方法的特征選擇效率較低。
在中國(guó)專(zhuān)利申請(qǐng)cn201410834973.5中公開(kāi)另一種基于神經(jīng)網(wǎng)絡(luò)的特征選擇技術(shù),其中通過(guò)對(duì)神經(jīng)網(wǎng)絡(luò)的輸入層添加稀疏性約束來(lái)在實(shí)現(xiàn)人工神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練的同時(shí),得到特征選擇結(jié)果,以提高對(duì)人工神經(jīng)網(wǎng)絡(luò)進(jìn)行特征選擇的效率。在該技術(shù)方案中是基于針對(duì)神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點(diǎn)采用l1型懲罰或者分組l1型懲罰來(lái)構(gòu)建神經(jīng)網(wǎng)絡(luò)。然而這對(duì)于神經(jīng)網(wǎng)絡(luò)的損失函數(shù)而言仍是一種挑戰(zhàn),這是因?yàn)槠洳坏珡?fù)雜,而且是非線性、非凸問(wèn)題,這將會(huì)造成求解難,效率低。
為此,在現(xiàn)有技術(shù)中存在針對(duì)特征選擇技術(shù)的方案進(jìn)行改進(jìn)的需要。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,公開(kāi)了一種用于在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的技術(shù)方案以及用于構(gòu)建用于特征選擇的神經(jīng)網(wǎng)絡(luò)的方法和設(shè)備,以至少部分上消除或者緩解上述問(wèn)題。
根據(jù)本公開(kāi)的第一方面,提供了一種用于在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的方法。該方法包括:接收包含待在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的特征的訓(xùn)練集,所述神經(jīng)網(wǎng)絡(luò)包括輸入層、中間層、輸出層以及連接在所述輸入層和所述中間層之間的稀疏層;以及通過(guò)所述訓(xùn)練集對(duì)所述神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以確定所述神經(jīng)網(wǎng)絡(luò)中的輸入層、稀疏層、中間層和輸出層之間的連接權(quán)重,其中針對(duì)所述稀疏層設(shè)置有稀疏性約束,用以對(duì)與所述稀疏層連接的輸入層的節(jié)點(diǎn)進(jìn)行選擇。
根據(jù)本公開(kāi)的第二方面,提供了一種構(gòu)建用于特征選擇的神經(jīng)網(wǎng)絡(luò)的方法。所述方法包括根據(jù)待進(jìn)行特征選擇的特征和輸出目標(biāo),構(gòu)造神經(jīng)網(wǎng)絡(luò)的輸入層、中間層和輸出層;以及在所述輸入層與所述中間層之間構(gòu)造稀疏層,所述稀疏層連接在輸入層與中間層之間,且針對(duì)所述稀疏層設(shè)置稀疏性約束,用以對(duì)與所述稀疏層連接的所述輸入層的節(jié)點(diǎn)進(jìn)行選擇。
根據(jù)本公開(kāi)的第三方面,提供了一種用于在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的設(shè)備。該設(shè)備包括:特征接收模塊,被配置為接收包含待在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的特征的訓(xùn)練集,所述神經(jīng)網(wǎng)絡(luò)包括輸入層、中間層、輸出層以及連接在所述輸入層和所述中間層之間的稀疏層;以及訓(xùn)練執(zhí)行模塊,被配置為通過(guò)所述訓(xùn)練集對(duì)所述神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以確定所述神經(jīng)網(wǎng)絡(luò)中的輸入層、稀疏層、中間層和輸出層之間的連接權(quán)重,其中針對(duì)所述稀疏層設(shè)置有稀疏性約束,用以對(duì)與所述稀疏層連接的所述輸入層的節(jié)點(diǎn)進(jìn)行選擇。
根據(jù)本公開(kāi)的第四方面,提供了一種構(gòu)建用于特征選擇的神經(jīng)網(wǎng)絡(luò)的設(shè)備。所述設(shè)備包括:網(wǎng)絡(luò)構(gòu)造模塊,被配置為根據(jù)待進(jìn)行特征選擇的特征和輸出目標(biāo),構(gòu)造神經(jīng)網(wǎng)絡(luò)的輸入層、中間層和輸出層;以及稀疏層構(gòu)造模塊,被配置為在所述輸入層與所述中間層之間構(gòu)造稀疏層,所述稀疏層連接在輸入層與中間層之間,且針對(duì)所述稀疏層設(shè)置稀疏性約束,用以對(duì)與所述稀疏層連接的所述輸入層的節(jié)點(diǎn)進(jìn)行選擇。
根據(jù)本公開(kāi)的第五方面,提供了一種計(jì)算程序產(chǎn)品,其上包括有計(jì)算機(jī)程序代碼,當(dāng)被加載到計(jì)算機(jī)設(shè)備中時(shí),其可以使得該計(jì)算機(jī)設(shè)備執(zhí)行根據(jù)本公開(kāi)的第一方面的方法。
根據(jù)本公開(kāi)的第六方面,提供了一種計(jì)算程序產(chǎn)品,其上包括有計(jì)算機(jī)程序代碼,當(dāng)被加載到計(jì)算機(jī)設(shè)備中時(shí),其可以使得該計(jì)算機(jī)設(shè)備執(zhí)行根據(jù)本公開(kāi)的第二方面的方法。
根據(jù)本公開(kāi)的第七方面,還提供一種用于在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的系統(tǒng),所述設(shè)備包括存儲(chǔ)器,和處理器,所述處理器可以被配置為執(zhí)行根據(jù)本公開(kāi)的第一方面的方法。
根據(jù)本公開(kāi)的第八方面,還提供一種構(gòu)建用于特征選擇的神經(jīng)網(wǎng)絡(luò)的系統(tǒng),所述設(shè)備包括存儲(chǔ)器,和處理器,所述處理器可以被配置為執(zhí)行根據(jù)本公開(kāi)的第二方面的方法。
根據(jù)本公開(kāi)的實(shí)施方式,在輸入層與中間層之間加入稀疏層,并針對(duì)所述稀疏層設(shè)置稀疏性約束,從而可以在支持特征選擇的同時(shí),以更加高效、更加有效地訓(xùn)練神經(jīng)網(wǎng)絡(luò),進(jìn)而可以提高經(jīng)過(guò)訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)的可靠性和預(yù)測(cè)準(zhǔn)確度。
附圖說(shuō)明
通過(guò)對(duì)結(jié)合附圖所示出的實(shí)施方式進(jìn)行詳細(xì)說(shuō)明,本公開(kāi)的上述以及其他特征將更加明顯,本公開(kāi)的附圖中相同的標(biāo)號(hào)表示相同或相似的部件。在附圖中:
圖1示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的構(gòu)建用于特征選擇的神經(jīng)網(wǎng)絡(luò)的方法的流程圖;
圖2示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于單特征選擇的神經(jīng)網(wǎng)絡(luò)的示意圖;
圖3示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于特征組選擇的神經(jīng)網(wǎng)絡(luò)的示意圖;
圖4示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的方法的流程圖;
圖5示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練的訓(xùn)練集的示意圖;
圖6示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的利用神經(jīng)網(wǎng)絡(luò)進(jìn)行單個(gè)特征選擇的示意圖;
圖7示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的利用神經(jīng)網(wǎng)絡(luò)進(jìn)行特征組選擇的示意圖;
圖8示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于構(gòu)建用于特征選擇的神經(jīng)網(wǎng)絡(luò)的設(shè)備的方框圖;以及
圖9示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的設(shè)備的方框圖。
具體實(shí)施方式
在下文中,將參考附圖詳細(xì)描述本公開(kāi)的各個(gè)示例性實(shí)施方式。應(yīng)當(dāng)注意,這些附圖和描述涉及的僅僅是作為示例的優(yōu)選實(shí)施方式。可以應(yīng)該指出的是,根據(jù)隨后的描述,很容易設(shè)想出此處公開(kāi)的結(jié)構(gòu)和方法的替換實(shí)施方式,并且可以在不脫離本公開(kāi)要求保護(hù)的公開(kāi)的原理的情況下使用這些替代實(shí)施方式。
應(yīng)當(dāng)理解,給出這些示例性實(shí)施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實(shí)現(xiàn)本公開(kāi),而并非以任何方式限制本公開(kāi)的范圍。此外在附圖中,出于說(shuō)明的目的,將可選的步驟、模塊、模塊等以虛線框示出。
在此使用的術(shù)語(yǔ)“包括”、“包含”及類(lèi)似術(shù)語(yǔ)應(yīng)該被理解為是開(kāi)放性的術(shù)語(yǔ),即“包括/包含但不限于”。術(shù)語(yǔ)“基于”是“至少部分地基于”。術(shù)語(yǔ)“一個(gè)實(shí)施例”表示“至少一個(gè)實(shí)施例”;術(shù)語(yǔ)“另一實(shí)施例”表示“至少一個(gè)另外的實(shí)施例”。其他術(shù)語(yǔ)的相關(guān)定義將在下文描述中給出。
出于說(shuō)明的目的,在具體描述本公開(kāi)之前,將首先對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行簡(jiǎn)要描述。神經(jīng)網(wǎng)絡(luò)是由大量、簡(jiǎn)單的處理單元(稱(chēng)作神經(jīng)元)廣泛地相互連接而形成的復(fù)雜網(wǎng)絡(luò)系統(tǒng),它反映了人腦功能的許多基本特征,是一個(gè)高度復(fù)雜的非線性動(dòng)力學(xué)系統(tǒng)。神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)通常包括輸入層、一層或多層中間層(或隱含層)以及輸出層。輸入層負(fù)責(zé)接收輸入數(shù)據(jù)(輸入因子),并通過(guò)激勵(lì)函數(shù)將其輸出到中間層。神經(jīng)網(wǎng)絡(luò)可以包含一個(gè)或多個(gè)中間層,每個(gè)中間層包括若干神經(jīng)元。神經(jīng)元是一個(gè)多輸入單輸出信息處理單元,用于對(duì)輸入的信息進(jìn)行非線性處理。簡(jiǎn)而言之,中間層負(fù)責(zé)接收輸入層的輸出,并經(jīng)過(guò)激勵(lì)函數(shù)而將其輸出到輸出層。需要說(shuō)明的是,中間層的神經(jīng)元并不能從系統(tǒng)外部觀察到,也就是說(shuō),從外部無(wú)法感覺(jué)到神經(jīng)元的存在。輸出層負(fù)責(zé)接收中間層的輸出,并通過(guò)激勵(lì)函數(shù)產(chǎn)生整個(gè)網(wǎng)絡(luò)的輸出結(jié)果。
然而,如前所述,在現(xiàn)有技術(shù)中的特征選擇技術(shù)并不太理想,其目標(biāo)函數(shù)復(fù)雜、難以求解,選擇效率較低。針對(duì)此問(wèn)題,在本公開(kāi)中提出一種新的技術(shù)方案,該方案中,將在輸入層與中間層之間加入稀疏層,并針對(duì)所述稀疏層設(shè)置稀疏性約束。根據(jù)該方案,可以在支持特征選擇的同時(shí),以更加高效、更加有效地訓(xùn)練神經(jīng)網(wǎng)絡(luò),進(jìn)而可以提高經(jīng)過(guò)訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度。
在下文中,將參考附圖對(duì)根據(jù)本公開(kāi)的實(shí)施方式的用于構(gòu)建用于特征選擇的神經(jīng)網(wǎng)絡(luò)和用于在神經(jīng)網(wǎng)絡(luò)中執(zhí)行特征選擇的方法和設(shè)備進(jìn)行詳細(xì)描述。然而,需要說(shuō)明的是,這些描述是僅僅是出于說(shuō)明的目的,本公開(kāi)并不局限于這些實(shí)施方式和附圖中的細(xì)節(jié)。此外,在下面的描述中,將主要參考空氣質(zhì)量數(shù)據(jù)挖掘相關(guān)應(yīng)用,對(duì)本公開(kāi)的實(shí)施方式進(jìn)行描述。然而需要說(shuō)明的是,本公開(kāi)也可能應(yīng)用在其他數(shù)據(jù)挖掘應(yīng)用中,例如氣候數(shù)據(jù)挖掘、交通流量數(shù)據(jù)挖掘等。
圖1示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于構(gòu)建用于特征選擇的神經(jīng)網(wǎng)絡(luò)的方法的流程圖。如圖1所示,首先在步驟s101,根據(jù)待特征選擇的特征和輸出目標(biāo)情況,構(gòu)造神經(jīng)網(wǎng)絡(luò)的輸入層、中間層和輸出層。
人工神經(jīng)網(wǎng)絡(luò)是一種具有特征學(xué)習(xí)能力的網(wǎng)絡(luò)系統(tǒng),在將神經(jīng)網(wǎng)絡(luò)投入使用之前,需要利用訓(xùn)練集對(duì)其進(jìn)行訓(xùn)練。訓(xùn)練集可以是從整個(gè)歷史時(shí)間序列數(shù)據(jù)中采樣得到的數(shù)據(jù),其例如是由數(shù)據(jù)監(jiān)測(cè)設(shè)備采集的一系列數(shù)據(jù),諸如是氣象數(shù)據(jù)、空氣質(zhì)量數(shù)據(jù)、交通數(shù)據(jù)、人口密度數(shù)據(jù)、污染源數(shù)據(jù)等的時(shí)間序列。訓(xùn)練數(shù)據(jù)例如包括輸出目標(biāo)數(shù)據(jù)以及特征數(shù)據(jù)(或者影響因素?cái)?shù)據(jù))。輸出目標(biāo)是與預(yù)測(cè)對(duì)象對(duì)應(yīng)的數(shù)據(jù),例如在pm2.5預(yù)測(cè)的場(chǎng)景下,目標(biāo)數(shù)據(jù)是pm2.5。特征數(shù)據(jù)或者影響因素是影響目標(biāo)數(shù)據(jù)的特征或者因素,例如在pm2.5預(yù)測(cè)的場(chǎng)景下,影響因素可以是空氣質(zhì)量因素諸如co、so2,交通狀況等。
對(duì)于給定的預(yù)測(cè)應(yīng)用,可以根據(jù)相關(guān)訓(xùn)練集中的特征數(shù)據(jù)和目標(biāo)數(shù)據(jù)的情況來(lái)構(gòu)建用于進(jìn)行特征選擇的神經(jīng)網(wǎng)絡(luò)。對(duì)于不同的預(yù)測(cè)應(yīng)用,訓(xùn)練集中包含的特征數(shù)據(jù)和輸出目標(biāo)是不一樣的。根據(jù)特征數(shù)據(jù)的數(shù)目,即進(jìn)行特征選擇的特征的數(shù)目,可以確定出輸入層的節(jié)點(diǎn)數(shù)目,而根據(jù)輸出目標(biāo)的數(shù)據(jù),可以確定出輸出層節(jié)點(diǎn)的數(shù)目。此外,可以根據(jù)實(shí)際應(yīng)用需求和情況在輸入層和輸出層之間加入一個(gè)或多個(gè)中間層。
接著在步驟s102,可以在所述輸入層與所述中間層之間構(gòu)造稀疏層。所述稀疏層連接在所述輸入層與所述中間層之間,且針對(duì)所述稀疏層設(shè)置稀疏性約束,用以對(duì)與所述稀疏層連接的所述輸入層的節(jié)點(diǎn)進(jìn)行選擇。
稀疏層是插入在中間層與輸入層之間的一個(gè)額外層,通過(guò)設(shè)置針對(duì)稀疏層的稀疏性約束,可以允許在執(zhí)行網(wǎng)絡(luò)訓(xùn)練時(shí)對(duì)與該稀疏層連接的輸入層節(jié)點(diǎn)進(jìn)行選擇。換句話說(shuō),通過(guò)稀疏性約束,可以將稀疏層的輸出限制為僅僅與輸入層的部分節(jié)點(diǎn)相關(guān)。需要說(shuō)明的是,盡管在本公開(kāi)中,將稀疏層描述為獨(dú)立于輸入層和中間層之間的額外層,但是實(shí)際上也可以將其理解為一個(gè)附加的輸入處理層,或者作為中間層的第一層的中間預(yù)處理層,只要并不脫離本發(fā)明的思想。
圖2示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于單特征選擇的神經(jīng)網(wǎng)絡(luò)的示意圖。如圖2所示,該神經(jīng)網(wǎng)絡(luò)包括輸入層、若干中間層以及輸出增,并且特別的是在輸入層和中間層之間添加了附加稀疏層,而且該稀疏層和輸入層具有相同數(shù)目的節(jié)點(diǎn),且與輸入層之間采取單連接方式,即一對(duì)一連接方式,也就是說(shuō),除了偏置節(jié)點(diǎn)外,輸入層中的每個(gè)節(jié)點(diǎn)僅與稀疏層中的一個(gè)節(jié)點(diǎn)連接,而稀疏層的節(jié)點(diǎn)也同樣僅僅與輸入層的一個(gè)節(jié)點(diǎn)連接。這樣,稀疏層就成為神經(jīng)網(wǎng)絡(luò)的層1,而輸入層則變?yōu)樯窠?jīng)網(wǎng)絡(luò)的層0。在圖2中,nl指示除稀疏層或者除輸入層以外的神經(jīng)網(wǎng)絡(luò)的層數(shù),ll指示層l,sl指示層l的節(jié)點(diǎn)數(shù)目。
該神經(jīng)網(wǎng)絡(luò)具有參數(shù)
因此,在該圖2中,神經(jīng)網(wǎng)絡(luò)實(shí)際上包括nl+1層,即一個(gè)輸入層、一個(gè)稀疏層、nl-2個(gè)中間層以及一個(gè)輸出層。輸入層、稀疏層和中間層包括一個(gè)偏置節(jié)點(diǎn)“+1”。在不計(jì)算偏置節(jié)點(diǎn)的情況下,輸入層包括s1個(gè)節(jié)點(diǎn),其中節(jié)點(diǎn)x1至xs1為與輸入特征對(duì)應(yīng)的s1個(gè)輸入層節(jié)點(diǎn);稀疏層同樣包括s1個(gè)節(jié)點(diǎn),其中s1個(gè)節(jié)點(diǎn)與輸入層的節(jié)點(diǎn)x1至xs1以一一對(duì)應(yīng)方式連接。中間層具有si個(gè)節(jié)點(diǎn),其中i指示中間層的層索引i=2至(nl-1)。中間層與稀疏層結(jié)構(gòu)類(lèi)似,在稀疏層與中間層之間按照全連接方式連接,而中間層的各層之間以及最后一個(gè)中間層與輸出層之間都是全連接方式連接。輸出層包括sn1個(gè)節(jié)點(diǎn),其對(duì)應(yīng)于輸出目標(biāo)。
因此,在圖2所示的神經(jīng)網(wǎng)絡(luò)中添加了附加稀疏層,而且該稀疏層和輸入層具有相同數(shù)目的節(jié)點(diǎn),且與輸入層之間采取單連接方式,即一對(duì)一連接方式。在輸入層與稀疏層之間的連接權(quán)重矩陣可以表示為w(0),該連接權(quán)重矩陣是一個(gè)對(duì)角矩陣,其可以被表示為:
w(0)=diag(w11(0),w22(0),...,ws1s1(0))(式1)
其中w11(0),w22(0),...,ws1s1(0)在神經(jīng)網(wǎng)絡(luò)初始化時(shí)被賦予相同值。而且,與現(xiàn)有技術(shù)中的神經(jīng)網(wǎng)絡(luò)不同,針對(duì)稀疏層其設(shè)置稀疏性約束,以便使得所述稀疏性約束能夠限制輸入的特征選擇。該稀疏性約束例如可以作為稀疏性約束的目標(biāo)函數(shù)的一部分。
對(duì)于圖2中示出的網(wǎng)絡(luò)結(jié)構(gòu),可以采用任何結(jié)合有稀疏性約束的目標(biāo)函數(shù)。在一個(gè)實(shí)施方式,該稀疏性約束可以是基于kl距離的kl約束,而目標(biāo)函數(shù)可以采用下面的優(yōu)化函數(shù):
其中:
j(w,b)表示優(yōu)化函數(shù),w表示神經(jīng)網(wǎng)絡(luò)中的各個(gè)層至下一層的連接權(quán)重,b表示神經(jīng)網(wǎng)絡(luò)中各層的偏置節(jié)點(diǎn)的偏置值或者偏置系數(shù);
在根據(jù)本發(fā)明的一個(gè)實(shí)施方式中,
其中
其中ρ如前所示指示預(yù)定的稀疏化參數(shù),它通常是接近于0的一個(gè)很小的值,例如0.05。kl散度約束將使得在稀疏層中的每個(gè)節(jié)點(diǎn)j的平均激活值接近于預(yù)定的稀疏化參數(shù)ρ。鑒于在該神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,稀疏層中的節(jié)點(diǎn)j與輸入層中的節(jié)點(diǎn)j具有單連接,因而為了滿(mǎn)足稀疏性約束,稀疏層中的一些節(jié)點(diǎn)的激活值必須接近于零,因此對(duì)這些節(jié)點(diǎn)對(duì)應(yīng)的輸入層的節(jié)點(diǎn)就可以從神經(jīng)網(wǎng)絡(luò)中移除,進(jìn)而實(shí)現(xiàn)特征選擇。這樣在訓(xùn)練的過(guò)程中,就可以將一些不相關(guān)的特征忽略而揭露出與目標(biāo)相關(guān)的主要特征。此外,在采用kl距離約束的情況下,針對(duì)上述問(wèn)題可以利用后向傳播算法來(lái)求解,因而可以以高效、有效地方式執(zhí)行網(wǎng)絡(luò)訓(xùn)練和特征選擇。
然而,需要說(shuō)明的是,盡管在上面的實(shí)施方式中將稀疏性約束描述為kl距離約束,并且給出了其具體實(shí)施方式,但是本領(lǐng)域技術(shù)人員可以理解,稀疏性約束并不限于kl距離約束,并且kl距離約束也并不局限于上面給出的實(shí)例,而是可以根據(jù)此處的教導(dǎo)采用任何其他適當(dāng)?shù)南∈栊约s束。
此外,在圖3中還示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于特征組選擇的神經(jīng)網(wǎng)絡(luò)的示意圖。與圖2中的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)類(lèi)似,圖3中的神經(jīng)網(wǎng)絡(luò)中也在輸入層和中間層之間加入了稀疏層并設(shè)置了稀疏性約束。但不同之處在于,在圖3中對(duì)輸入節(jié)點(diǎn)進(jìn)行了特征分組,并且因而輸入節(jié)點(diǎn)和稀疏層之間具有不同的連接關(guān)系。如圖3所示,輸入節(jié)點(diǎn)被劃分為n個(gè)特征組,其中n的值與稀疏層除偏置節(jié)點(diǎn)外的節(jié)點(diǎn)數(shù)目s1相同,即n=s1;而且每個(gè)特征組i的特征數(shù)目為gi,其中i為1至n。每個(gè)特征組中的所有特征連接到稀疏層中的同一個(gè)節(jié)點(diǎn)。然而,盡管在圖3中,輸入層中接收一個(gè)特征組中特征的所有節(jié)點(diǎn)都連接到稀疏層的同一節(jié)點(diǎn),但是輸入層的每個(gè)節(jié)點(diǎn)僅僅連接到稀疏層的一個(gè)節(jié)點(diǎn),因而就每個(gè)維度而言,特征仍然是單連接的。
對(duì)該圖3中示出的神經(jīng)網(wǎng)絡(luò),可以采用與前面的式2和式3給出的目標(biāo)函數(shù)和稀疏性約束類(lèi)似的目標(biāo)函數(shù)和系數(shù)性約束。然而,由于輸入層和系數(shù)層之間的連接關(guān)系不同,其連接權(quán)重矩陣與圖2中的w(0)是不同形式,其可以例如通過(guò)下面的式子表示:
因此,很清楚該連接權(quán)重矩陣并非是對(duì)角矩陣,而其中所有非零元素在初始化時(shí)被設(shè)置為相同值。此外,由于該連接權(quán)重矩陣不同,在這種情況下,上面式3中的
其中
根據(jù)本公開(kāi)的實(shí)施方式,在輸入層與中間層之間加入稀疏層,并針對(duì)所述稀疏層設(shè)置稀疏性約束,從而可以在支持特征選擇的同時(shí),以更加高效、更加有效地訓(xùn)練神經(jīng)網(wǎng)絡(luò),進(jìn)而可以提高經(jīng)過(guò)訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)的可靠性和預(yù)測(cè)準(zhǔn)確度。
圖4示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的方法的流程圖。如圖4所示,首先在步驟401,接收包含待在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的特征的訓(xùn)練集。所述神經(jīng)網(wǎng)絡(luò)如前所述包括輸入層、中間層、輸出層以及連接在所述輸入層和所述中間層之間的稀疏層。
在對(duì)人工神經(jīng)網(wǎng)絡(luò)訓(xùn)練前,需要對(duì)采集數(shù)據(jù)或者樣本集中的樣本特征進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化,采用標(biāo)準(zhǔn)化之后的特征進(jìn)行訓(xùn)練。采集數(shù)據(jù)例如可以包括氣象數(shù)據(jù)和空氣質(zhì)量數(shù)據(jù),并且還可以包括交通數(shù)據(jù)、人口密度數(shù)據(jù)和污染源數(shù)據(jù)中的至少一項(xiàng)。對(duì)于采集的數(shù)據(jù),首先對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。例如可以將其歸一化為具有相同時(shí)間尺度的數(shù)據(jù)序列,然后例如通過(guò)差分處理對(duì)其執(zhí)行平穩(wěn)化處理,接著例如基于時(shí)長(zhǎng)和時(shí)間滯后約束將其轉(zhuǎn)化為樣本序列。
然后在步驟s402,通過(guò)所述訓(xùn)練集對(duì)所述神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以確定所述神經(jīng)網(wǎng)絡(luò)中的輸入層、稀疏層、中間層和輸出層之間的連接權(quán)重,其中針對(duì)所述稀疏層設(shè)置有稀疏性約束,用以對(duì)與所述稀疏層連接的輸入層的節(jié)點(diǎn)進(jìn)行選擇。如前所述,針對(duì)所述稀疏層設(shè)置有稀疏性約束,利用訓(xùn)練集來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的過(guò)程可以在稀疏層的約束下進(jìn)行。也就是說(shuō)訓(xùn)練過(guò)程中采用的目標(biāo)函數(shù)可以包含該稀疏性約束。在一個(gè)實(shí)施方式中,其目標(biāo)函數(shù)式可以是式2所示的目標(biāo)函數(shù),且稀疏性約束例如可以是kl距離約束,其例如可以由式3來(lái)表示。
根據(jù)是否需要進(jìn)行特征組選擇,可以采用不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。如果僅僅進(jìn)行特征選擇,則神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)和新增的稀疏層之間可以采用一對(duì)一關(guān)系連接。而如果期望進(jìn)行特征組選擇,則神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)與稀疏層節(jié)點(diǎn)可以采用多對(duì)一方式連接,即輸入層中與被劃分為一個(gè)特征組的特征對(duì)應(yīng)的多個(gè)節(jié)點(diǎn)與稀疏層中的同一節(jié)點(diǎn)相連。在這兩種情況下,實(shí)際上真正不同的是的輸入層與系數(shù)層之間的連接權(quán)重矩陣w(0),分別如式1和式4所示。經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)訓(xùn)練后可以確定出所述神經(jīng)網(wǎng)絡(luò)中的輸入層、稀疏層、中間層和輸出層之間的連接權(quán)重,并且同時(shí)可以選擇出對(duì)于輸出目標(biāo)重要的特征或者特征組。
在下文中出于說(shuō)明的目的,將從參考圖5至圖7來(lái)描述特征選擇的實(shí)例。然而需要說(shuō)明的是,該實(shí)例僅僅是出于說(shuō)明的目的,本發(fā)明并不局限于此,而是如前所述,可以應(yīng)用于各種應(yīng)用中,例如空氣質(zhì)量數(shù)據(jù)挖掘、氣候數(shù)據(jù)挖掘、交通流量數(shù)據(jù)挖掘等。
在獲得采集數(shù)據(jù)后,首先對(duì)采集數(shù)據(jù)進(jìn)行預(yù)處理,并確定待進(jìn)行選擇特征和輸出目標(biāo),選擇訓(xùn)練樣本。具體操作將在下面陳述。
特征向量選取
待選擇特征可以包括多種,例如可以采用特征向量的形式來(lái)進(jìn)行表示。舉例而言,可以將距離某一站點(diǎn)最鄰近的a個(gè)站點(diǎn)(不包括該站點(diǎn)本身)的前t個(gè)小時(shí)(包含當(dāng)前小時(shí))的下列信息作為待選擇的特征,
(1)該站點(diǎn)與a個(gè)最鄰近站點(diǎn)的空間距離信息:原始距離(即經(jīng)緯度距離),網(wǎng)格編號(hào)橫向距離(分為dx+,和dx-,例如100和98的dx+=2,dx-=0),網(wǎng)格編號(hào)縱向距離(分為dy+,和dy-,例如107和113的dy+=0,dy-=6),共a*5維;
(2)該站點(diǎn)與a個(gè)最鄰近站點(diǎn)前t個(gè)小時(shí)的下列信息:
co,no2,so2,o3,pm10,pm2.5,濕度,溫度,風(fēng)向,風(fēng)力,x+,x-,y+,y-,共a*t*14維。
因此,基于上述項(xiàng)目(1)和(2)的待選擇特征共計(jì)a*5+a*t*14維(a暫定取5,t暫定取6)。
此外,還可以考慮該站點(diǎn)自己的靜態(tài)特征和動(dòng)態(tài)特征。動(dòng)態(tài)特征包括18個(gè)土地利用特征+人口,共18維;動(dòng)態(tài)特征包括該站點(diǎn)自己前b個(gè)小時(shí)(包含當(dāng)前小時(shí))的交通量traffic(t-b),共b維(b暫定取6)。這些動(dòng)態(tài)和靜態(tài)特征也可以作為待選擇特征。
在實(shí)際應(yīng)用場(chǎng)景中,可以選擇與該站點(diǎn)相關(guān)的以上的各種信息的全部或一部分,或者新增更多相關(guān)信息,來(lái)作為人工神經(jīng)網(wǎng)絡(luò)中待選擇的特征(也即輸入特征)。
目標(biāo)向量選取
對(duì)于每個(gè)已標(biāo)注的訓(xùn)練數(shù)據(jù)(labeledtrainingdata)如35*1560個(gè)點(diǎn)的數(shù)據(jù),其標(biāo)簽(label)即輸出向量描述,可以包括例如某一時(shí)刻后p個(gè)小時(shí)(包含當(dāng)前小時(shí))的下列信息:
co,no2,so2,o3,pm10,pm2.5,共6*p維,其中p暫定取25,且當(dāng)前小時(shí)的值用來(lái)做插值,未來(lái)24個(gè)小時(shí)的值用來(lái)做預(yù)測(cè)。
圖5示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于執(zhí)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練的訓(xùn)練集的示意圖。其中x1~x5是5個(gè)訓(xùn)練樣本的特征向量,y1~y5是5個(gè)訓(xùn)練樣本的目標(biāo)向量,co(t)(i1)、co(t-1)(i1)、co(t-2)(i1)、....、traffic(t)、traffic(t-1)、traffic(t-2)等是每個(gè)訓(xùn)練樣本的待選擇特征,pm2.5(t+5)是訓(xùn)練樣本的輸出目標(biāo)。此外,出于簡(jiǎn)易說(shuō)明的目的,通過(guò)帶點(diǎn)的圖片示意性地示出特征向量x1~x5與輸出y1~y5之間的輸出關(guān)系,其中點(diǎn)的密度指示pm2.5的值,密度越大,pm2.5的值越高。
特征選擇執(zhí)行
圖6示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的利用神經(jīng)網(wǎng)絡(luò)進(jìn)行單特征選擇的示意圖。如圖6所示,首先利用圖2中示出的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行單個(gè)特征的選擇,即針對(duì)co(t)(i1)、co(t-1)(i1)、co(t-2)(i1)、....、traffic(t)、traffic(t-1)、traffic(t-2)的每個(gè)特征進(jìn)行一一選擇。通過(guò)訓(xùn)練數(shù)據(jù)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練后,可以確定出w值和b值,同時(shí)可以確定出稀疏層的各個(gè)節(jié)點(diǎn)針對(duì)各個(gè)訓(xùn)練樣本的“激活值”,如果稀疏層的某一個(gè)節(jié)點(diǎn)針對(duì)所有樣本的“激活值”之和低于預(yù)定閾值,則將與連接到該節(jié)點(diǎn)的輸入層節(jié)點(diǎn)對(duì)應(yīng)的特征視為被剔除的與輸出目標(biāo)不相關(guān)的特征。如圖6所示,traffic(t-1)對(duì)應(yīng)的特征的“激活值”之和為2.8×10-7,近似為0,該特征即為在訓(xùn)練過(guò)程中被剔除的特征。這樣,在訓(xùn)練結(jié)束時(shí),事實(shí)上也完成了特征選擇。
圖7示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的利用神經(jīng)網(wǎng)絡(luò)進(jìn)行特征組選擇的示意圖。如圖7所示,首先利用圖3中示出的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行特征組的選擇,在該圖中,將co相關(guān)數(shù)據(jù),即co(t)(i1)、co(t-1)(i1)、co(t-2)(i1)劃分為一個(gè)特征組,將歷史pm2.5數(shù)據(jù),pm2.5(t-1)至pm2.5(t-t)劃分為一個(gè)特征組,并且將歷史交通數(shù)據(jù)劃分為一個(gè)特征組。通過(guò)訓(xùn)練數(shù)據(jù)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練后,可以確定出該神經(jīng)網(wǎng)絡(luò)的w值和b值,同時(shí)可以確定稀疏層的各個(gè)節(jié)點(diǎn)針對(duì)各個(gè)訓(xùn)練樣本的“激活值”,如果稀疏層的某一個(gè)節(jié)點(diǎn)針對(duì)所有樣本的“激活值”之和低于預(yù)定閾值,則將與連接到該節(jié)點(diǎn)的多個(gè)輸入層節(jié)點(diǎn)對(duì)應(yīng)的所有特征視為被剔除的與輸出目標(biāo)不相關(guān)的特征組。如圖6所示,交通數(shù)據(jù)特征組的“激活值”之和為1.8×10-7,近似為0,因而該特征組即為在訓(xùn)練過(guò)程中被剔除的特征組。
此外,在本發(fā)明中還提供了構(gòu)建用于特征選擇的神經(jīng)網(wǎng)絡(luò)的設(shè)備以及用于在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的設(shè)備。在下文中,將參考圖8和圖9進(jìn)行具體詳細(xì)描述。
圖8示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的構(gòu)建用于特征選擇的神經(jīng)網(wǎng)絡(luò)的設(shè)備的方框圖。如圖8所示,800設(shè)備可以包括:網(wǎng)絡(luò)構(gòu)造模塊810和稀疏層構(gòu)造模塊820。所述網(wǎng)絡(luò)構(gòu)造模塊810被配置為根據(jù)待進(jìn)行特征選擇的特征和輸出目標(biāo),構(gòu)造神經(jīng)網(wǎng)絡(luò)的輸入層、中間層和輸出層。稀疏層構(gòu)造模塊820被配置為在所述輸入層與所述中間層之間構(gòu)造稀疏層,所述稀疏層連接在所述輸入層與所述中間層之間,且針對(duì)所述稀疏層設(shè)置稀疏性約束,用以對(duì)與所述稀疏層連接的所述輸入層的節(jié)點(diǎn)進(jìn)行選擇。
在根據(jù)本公開(kāi)的實(shí)施方式中,所述神經(jīng)網(wǎng)絡(luò)可以被構(gòu)造為使所述輸入層的節(jié)點(diǎn)與所述稀疏層的節(jié)點(diǎn)按照一對(duì)一方式連接。在本公開(kāi)的另一實(shí)施方式中,所述神經(jīng)網(wǎng)絡(luò)可以被構(gòu)造為使得所述輸入層中與被劃分為相同特征組的多個(gè)待選擇特征相關(guān)聯(lián)的節(jié)點(diǎn)被連接到稀疏層中的同一節(jié)點(diǎn)。
在根據(jù)本公開(kāi)的實(shí)施方式中,所述稀疏性約束可以為kl距離約束。所述kl距離約束可以被表示為:
其中,λ1指示預(yù)先確定的優(yōu)化參數(shù),j指示所述稀疏層的下一層的節(jié)點(diǎn)的索引,sl指示所述稀疏層的下一層的節(jié)點(diǎn)總數(shù),ρ指示預(yù)定的稀疏化參數(shù),
其中m指示訓(xùn)練樣本的數(shù)目,
圖9示意性地示出了根據(jù)本公開(kāi)的一個(gè)實(shí)施方式的用于在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的設(shè)備的方框圖。如圖9所述,所述設(shè)備900包括數(shù)據(jù)接收模塊910和訓(xùn)練執(zhí)行模塊920。所述數(shù)據(jù)接收模塊910被配置為接收包含待在神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征選擇的特征的訓(xùn)練集,所述神經(jīng)網(wǎng)絡(luò)包括輸入層、中間層、輸出層以及連接在所述輸入層和所述中間層之間的稀疏層。所述訓(xùn)練執(zhí)行模塊920被配置為通過(guò)所述訓(xùn)練集對(duì)所述神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以確定所述神經(jīng)網(wǎng)絡(luò)中的輸入層、稀疏層、中間層和輸出層之間的連接權(quán)重,其中針對(duì)所述稀疏層設(shè)置有稀疏性約束,用以對(duì)與所述稀疏層連接的輸入層的節(jié)點(diǎn)進(jìn)行選擇。
在根據(jù)本公開(kāi)的實(shí)施方式中,所述神經(jīng)網(wǎng)絡(luò)可以被構(gòu)造為使所述輸入層的節(jié)點(diǎn)與所述稀疏層的節(jié)點(diǎn)按照一對(duì)一方式連接。在本公開(kāi)的另一實(shí)施方式中,所述神經(jīng)網(wǎng)絡(luò)可以被構(gòu)造為使得所述輸入層中與被劃分為相同特征組的多個(gè)待選擇特征相關(guān)聯(lián)的節(jié)點(diǎn)被連接到稀疏層中的同一節(jié)點(diǎn)。
在根據(jù)本公開(kāi)的實(shí)施方式中,所述稀疏性約束可以為kl距離約束。所述kl距離約束可以被表示為:
其中,λ1指示預(yù)先確定的優(yōu)化參數(shù),j指示所述稀疏層的下一層的節(jié)點(diǎn)的索引,sl指示所述稀疏層的下一層的節(jié)點(diǎn)總數(shù),ρ指示預(yù)定的稀疏化參數(shù),
其中m指示訓(xùn)練樣本的數(shù)目,
需要說(shuō)明的是,上面參考圖8和9所描述的設(shè)備800和900中的各個(gè)模塊可以被配置為執(zhí)行與參考圖1至圖7所描述的方法相對(duì)應(yīng)的操作。因此,此處不再詳細(xì)描述設(shè)備800和900的各個(gè)模塊的具體操作。關(guān)于這些模塊的具體操作的細(xì)節(jié),可以參考結(jié)合圖1至圖7針對(duì)相應(yīng)方法的各個(gè)步驟進(jìn)行的描述。
另外還需理解的是,本公開(kāi)的實(shí)施方式可以以軟件、硬件或者軟件和硬件的結(jié)合來(lái)實(shí)現(xiàn)。硬件部分可以利用專(zhuān)用邏輯來(lái)實(shí)現(xiàn);軟件部分可以存儲(chǔ)在存儲(chǔ)器中,由適當(dāng)?shù)闹噶顖?zhí)行系統(tǒng),例如微處理器或者專(zhuān)用設(shè)計(jì)硬件來(lái)執(zhí)行。本領(lǐng)域的普通技術(shù)人員可以理解上述的方法和設(shè)備可以使用計(jì)算機(jī)可執(zhí)行指令和/或包含在處理器控制代碼中來(lái)實(shí)現(xiàn),例如在諸如磁盤(pán)、cd或dvd-rom的載體介質(zhì)、諸如只讀存儲(chǔ)器(固件)的可編程的存儲(chǔ)器或者諸如光學(xué)或電子信號(hào)載體的數(shù)據(jù)載體上提供了這樣的代碼。本實(shí)施例的設(shè)備及其組件可以由諸如超大規(guī)模集成電路或門(mén)陣列、諸如邏輯芯片、晶體管等的半導(dǎo)體、或者諸如現(xiàn)場(chǎng)可編程門(mén)陣列、可編程邏輯設(shè)備等的可編程硬件設(shè)備的硬件電路實(shí)現(xiàn),也可以用由各種類(lèi)型的處理器執(zhí)行的軟件實(shí)現(xiàn),也可以由上述硬件電路和軟件的結(jié)合例如固件來(lái)實(shí)現(xiàn)。
雖然已經(jīng)參考目前考慮到的實(shí)施方式描述了本公開(kāi),但是應(yīng)該理解本公開(kāi)不限于所公開(kāi)的實(shí)施方式。相反,本公開(kāi)旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。以下權(quán)利要求的范圍符合最廣泛解釋?zhuān)员惆羞@樣的修改及等同結(jié)構(gòu)和功能。