一種無(wú)線傳感器網(wǎng)絡(luò)中核分類(lèi)器的分布式訓(xùn)練方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種無(wú)線傳感器網(wǎng)絡(luò)中核分類(lèi)器的分布式訓(xùn)練方法,具體是一種基于 L1正則化的核最小平方誤差分類(lèi)器的分布式訓(xùn)練方法,可以用于無(wú)線傳感器網(wǎng)絡(luò)中核分類(lèi) 器的訓(xùn)練,屬于無(wú)線傳感器網(wǎng)絡(luò)中數(shù)據(jù)融合技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用中,分類(lèi)是一項(xiàng)最基礎(chǔ)也是最重要的任務(wù)。然而,在無(wú)線傳感 器網(wǎng)絡(luò)中,分類(lèi)器的訓(xùn)練數(shù)據(jù)都分散在各個(gè)傳感器節(jié)點(diǎn)上。通過(guò)多跳路由將所有訓(xùn)練數(shù)據(jù) 傳輸?shù)綌?shù)據(jù)融合中心進(jìn)行集中式訓(xùn)練,將會(huì)占用大量的帶寬且消耗節(jié)點(diǎn)的大量能量,這與 無(wú)線傳感器網(wǎng)絡(luò)上節(jié)點(diǎn)能源替換代價(jià)非常高甚至不可替換、帶寬資源非常有限相沖突,同 時(shí)也容易使數(shù)據(jù)中心周?chē)墓?jié)點(diǎn)成為整個(gè)系統(tǒng)的瓶頸。針對(duì)上述問(wèn)題,通過(guò)相鄰節(jié)點(diǎn)間的 相互協(xié)作,利用節(jié)點(diǎn)本身的計(jì)算能力在網(wǎng)內(nèi)分布式協(xié)同訓(xùn)練分類(lèi)器的方法引起了眾多研 宄者的關(guān)注.核分類(lèi)器是一類(lèi)性能優(yōu)越的分類(lèi)器,是當(dāng)前機(jī)器學(xué)習(xí)的主流方法。因此,在無(wú) 線傳感器網(wǎng)絡(luò)中,研宄僅依賴(lài)相鄰節(jié)點(diǎn)間的協(xié)作,在網(wǎng)內(nèi)分布式協(xié)同訓(xùn)練核分類(lèi)器的方法 對(duì)減少通信代價(jià)、延長(zhǎng)網(wǎng)絡(luò)生命周期以及核分類(lèi)器的分布式學(xué)習(xí)理論研宄都具有極其重要 的意義。
[0003] 目前的無(wú)線傳感器網(wǎng)絡(luò)中核分類(lèi)器的分布式訓(xùn)練方法主要分為基于共享數(shù)據(jù)的 分布式訓(xùn)練方法和基于支持向量的增量式分布式訓(xùn)練方法。基于共享數(shù)據(jù)的代表性分布式 訓(xùn)練方法包括Predd J.B.等人提出的相鄰節(jié)點(diǎn)共享數(shù)據(jù)預(yù)測(cè)一致的分布式協(xié)同訓(xùn)練方法; Forero P. A等人提出的基于共享數(shù)據(jù)集約束模型一致的分布式訓(xùn)練方法。基于支持向量的 增量式分布式訓(xùn)練方法是針對(duì)經(jīng)典的核分類(lèi)器一一支持向量機(jī)的分布式訓(xùn)練方法,主要包 括Flouri. K等人提出的基于支持向量增量訓(xùn)練的DFP-SVM方法;Yumao Lu等人提出的基 于可配置網(wǎng)絡(luò)連通度的分布式并行DPSVM方法。目前提出的這些分布式訓(xùn)練方法存在以下 主要缺陷:基于共享數(shù)據(jù)的分布式訓(xùn)練算法要求相鄰節(jié)點(diǎn)間必須有共享數(shù)據(jù),而且方法受 共享數(shù)據(jù)多小的影響比較明顯,在相鄰節(jié)點(diǎn)間共享數(shù)據(jù)少或沒(méi)有的情況下,該方法收斂速 度緩慢甚至不能用?;谥С窒蛄康脑隽渴椒植际接?xùn)練方法,因受支持向量機(jī)的hinge損 失函數(shù)特殊性的影響,其支持向量的稀疏性受到限制,所以仍存在通信代價(jià)大的問(wèn)題。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是提供一種無(wú)線傳感器網(wǎng)絡(luò)中核分類(lèi)器的分布式訓(xùn)練方法。使用該 方法僅通過(guò)相鄰節(jié)點(diǎn)間的協(xié)作就可以使每個(gè)節(jié)點(diǎn)得到所有訓(xùn)練數(shù)據(jù)集中訓(xùn)練時(shí)的預(yù)測(cè)效 果,而且也可以大大減少分類(lèi)器訓(xùn)練過(guò)程中的數(shù)據(jù)通信代價(jià),以降低節(jié)點(diǎn)能量消耗、延長(zhǎng)網(wǎng) 絡(luò)生命。為了實(shí)現(xiàn)上述目的,本發(fā)明在核分類(lèi)器訓(xùn)練過(guò)程中包括三個(gè)重要機(jī)制。
[0005] 機(jī)制1 :節(jié)點(diǎn)本地核分類(lèi)優(yōu)化問(wèn)題稀疏求解方法。
[0006] 在核分類(lèi)器分布式訓(xùn)練過(guò)程中,為減少節(jié)點(diǎn)間傳輸?shù)臄?shù)據(jù)量,本發(fā)明引入了稀疏 因子一一L1正則化對(duì)節(jié)點(diǎn)本地訓(xùn)練樣本構(gòu)建核分類(lèi)優(yōu)化問(wèn)題。利用分布式優(yōu)化方法一一 交替方向乘子方法對(duì)基于L1正則化的核分類(lèi)優(yōu)化問(wèn)題進(jìn)行求解,在合適參數(shù)值下,可以得 到比較稀疏的解,相應(yīng)的節(jié)點(diǎn)間交換的模型信息攜帶的信息量就少。
[0007] 機(jī)制2 :節(jié)點(diǎn)模型差異快速消除機(jī)制。
[0008] 為了盡快得到全局最優(yōu)模型,相鄰節(jié)點(diǎn)間除了交換本地得到的稀疏模型外,還利 用接收到的鄰居節(jié)點(diǎn)模型在本地訓(xùn)練樣本中找出它們不能正確分類(lèi)的樣本一一錯(cuò)分樣本, 將這些錯(cuò)分樣本也傳遞給鄰居節(jié)點(diǎn)以協(xié)助它們快速地得到正確模型。該機(jī)制可以使節(jié)點(diǎn)間 快速消除模型的不一致來(lái)達(dá)到穩(wěn)定模型。
[0009] 機(jī)制3:節(jié)點(diǎn)模型一致性機(jī)制
[0010] 當(dāng)各節(jié)點(diǎn)都達(dá)到穩(wěn)定模型后,各節(jié)點(diǎn)上的模型基本一致,但是由于受本地沒(méi)有與 鄰居節(jié)點(diǎn)交換過(guò)的訓(xùn)練樣本的影響,各節(jié)點(diǎn)模型還有稍微差別。為了使各節(jié)點(diǎn)最后得到完 全一致的模型,同樣僅依靠相鄰節(jié)點(diǎn)間的協(xié)作,在相鄰節(jié)點(diǎn)間傳遞得到的穩(wěn)定的稀疏模型, 當(dāng)每個(gè)節(jié)點(diǎn)上都接收到所有其他節(jié)點(diǎn)的模型時(shí),在本地對(duì)這些模型進(jìn)行平均來(lái)得到一致模 型。
[0011] 基于機(jī)制1、機(jī)制2和機(jī)制3的無(wú)線傳感器網(wǎng)絡(luò)中核分類(lèi)器的分布式訓(xùn)練方法有六 個(gè)階段,分別是:1.節(jié)點(diǎn)本地初始化;2.節(jié)點(diǎn)本地稀疏模型求解;3.節(jié)點(diǎn)將本地稀疏模型 和錯(cuò)分樣本發(fā)送給單跳鄰居節(jié)點(diǎn);4.節(jié)點(diǎn)接收信息;5.節(jié)點(diǎn)循環(huán)優(yōu)化求解;6.節(jié)點(diǎn)模型一 致性。
[0012] 一種無(wú)線傳感器網(wǎng)絡(luò)中核分類(lèi)器的分布式訓(xùn)練方法,其是在以下前提條件下進(jìn)行 的:
[0013] a.網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都有唯一的ID號(hào);
[0014] b.網(wǎng)絡(luò)中各節(jié)點(diǎn)僅僅與其單跳鄰居節(jié)點(diǎn)進(jìn)行通信;
[0015] c.網(wǎng)絡(luò)中各節(jié)點(diǎn)使用相同的核函數(shù)和相同的參數(shù)值;
[0016] 無(wú)線傳感器網(wǎng)絡(luò)中核分類(lèi)器分布式訓(xùn)練方法的步驟如下:
[0017] 步驟1 :節(jié)點(diǎn)本地初始化
[0018] 這一階段的特征是各節(jié)點(diǎn)對(duì)本地訓(xùn)練樣本進(jìn)行處理,并初始化各參數(shù)。該階段具 體步驟如下:
[0019] 步驟1. 1 :各節(jié)點(diǎn)本地訓(xùn)練樣本的特征信息歸一化處理;
[0020] 步驟1. 2 :各節(jié)點(diǎn)本地核參數(shù)0和正則系數(shù)A的初始化、網(wǎng)絡(luò)規(guī)模N的初始化;
[0021] 步驟2 :節(jié)點(diǎn)本地稀疏模型求解
[0022] 這一階段的特征是將具有稀疏特性的L1正則化引入核分類(lèi)優(yōu)化問(wèn)題進(jìn)行稀疏模 型求解;
[0023] 首先各節(jié)點(diǎn)根據(jù)本地訓(xùn)練樣本構(gòu)建基于L1正則化的核最小平方誤差優(yōu)化問(wèn)題, 然后利用交替方向乘子方法對(duì)優(yōu)化問(wèn)題進(jìn)行稀疏模型求解,最后將得到的非零解與對(duì)應(yīng)的 訓(xùn)練樣本組成稀疏模型。這一階段的具體步驟描述如下:
[0024] 步驟2. 1 :各節(jié)點(diǎn)為本地訓(xùn)練樣本增加表示字段node_ID和example_ID以唯一標(biāo) 識(shí)每個(gè)訓(xùn)練樣本,增加發(fā)送標(biāo)志字段is_ Sended以說(shuō)明該樣本是否已經(jīng)發(fā)送過(guò)來(lái)避免重復(fù) 發(fā)送;
[0025] 步驟2. 2:各節(jié)點(diǎn)利用高斯核函數(shù)k(Xi,Xj) = exp(_|k-Xj| |2/2 〇 2)對(duì)本地歸一 化后的訓(xùn)練樣本進(jìn)行核矩陣計(jì)算;
[0026]步驟2.3:各節(jié)點(diǎn)對(duì)得到的核矩陣進(jìn)行增廣,結(jié)合正則系數(shù)X構(gòu)建核優(yōu)化問(wèn)題;
[0027] 步驟2. 4:各節(jié)點(diǎn)利用交替方向乘子法對(duì)構(gòu)建的核優(yōu)化問(wèn)題進(jìn)行求解;
[0028] 步驟2. 5 :將解中非零項(xiàng)以及對(duì)應(yīng)的樣本信息提取出來(lái)作為本節(jié)點(diǎn)上的稀疏模 型;
[0029] 步驟3:節(jié)點(diǎn)將本地稀疏模型和錯(cuò)分樣本發(fā)送給單跳鄰居節(jié)點(diǎn)
[0030] 這一階段的特征是各節(jié)點(diǎn)對(duì)本地得到的最新稀疏模型進(jìn)行整理,將整理后的稀疏 模型和最新錯(cuò)分樣本組合在一起發(fā)送給單跳鄰居節(jié)點(diǎn)。在對(duì)稀疏模型進(jìn)行整理過(guò)程中,借 助了 is_sended標(biāo)識(shí)字段查看對(duì)應(yīng)樣本的特征信息是否發(fā)送過(guò),以決定樣本對(duì)應(yīng)的特征信 息在稀疏模型中攜帶與否,從而減少數(shù)據(jù)傳輸量。這一階段的具體步驟描述如下:
[0031] 步驟3. 1 :各節(jié)點(diǎn)整理要發(fā)送出去的最新稀疏模型,如果最新稀疏模型中訓(xùn)練樣 本的is_sended字段為0,表示該樣本還沒(méi)有被發(fā)送過(guò),此時(shí)需要將該訓(xùn)練樣本的原始特征 信息保留在模型中;如果is_ Sended字段為1,代表該訓(xùn)練樣本的原始特征信息已經(jīng)發(fā)送 過(guò),此時(shí)只將該樣本的標(biāo)識(shí)字段信息保留在模型中;
[0032] 步驟3. 2:各節(jié)點(diǎn)將整理好的模型信息和錯(cuò)分樣本信息組織在一起,發(fā)送給其單 跳鄰居節(jié)點(diǎn);
[0033] 步驟4:節(jié)點(diǎn)接收信息
[0034] 這一階段的特征是各節(jié)點(diǎn)首先利用接收到的鄰居節(jié)點(diǎn)模型,逐個(gè)對(duì)本地訓(xùn)練樣本 集進(jìn)行測(cè)試,以找出鄰居節(jié)點(diǎn)模型不能正確分類(lèi)的訓(xùn)練樣本,記作錯(cuò)分樣本;然后,各節(jié)點(diǎn) 將接收到的鄰居節(jié)點(diǎn)模型中帶有原始特征信息的訓(xùn)練樣本加入到本地訓(xùn)練樣本集合;同 樣,各節(jié)點(diǎn)將接收到的鄰居節(jié)點(diǎn)的錯(cuò)分樣本加入到本地訓(xùn)練樣本集;最后,各節(jié)點(diǎn)對(duì)本