本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,更進(jìn)一步涉及氣象數(shù)據(jù)處理技術(shù)領(lǐng)域中的一種基于卷積自動編解碼算法的氣象數(shù)據(jù)填補(bǔ)方法。本發(fā)明可以應(yīng)用于氣象數(shù)據(jù)處理,氣象數(shù)據(jù)分析等具體應(yīng)用場景,針對已有的氣象數(shù)據(jù)填補(bǔ)算法的局限性,根據(jù)多次學(xué)習(xí)氣象數(shù)據(jù)屬性特征之間的相關(guān)性,對于缺失的氣象數(shù)據(jù),填補(bǔ)其氣象數(shù)據(jù)值。
背景技術(shù):
填充空缺值是由于數(shù)據(jù)缺失引起的方法。數(shù)據(jù)缺失是指在數(shù)據(jù)采集時由于某種原因應(yīng)該得到而沒有得到的數(shù)據(jù)。它指的是現(xiàn)有數(shù)據(jù)集中某個或某些屬性的值是不完全的。在科學(xué)研究中,為了提高數(shù)據(jù)的可信度科學(xué)度,保證調(diào)查研究的順利進(jìn)行,需要一些填充空缺值的方法來填充缺失數(shù)據(jù)。目前填充空缺值的方法主要包括人工填寫法、平均值填充法、熱卡填充法和多重填補(bǔ)法。其中人工填寫法費(fèi)時費(fèi)力,當(dāng)缺失的數(shù)值很多時,使用這種方法是不可能的。平均值填充法和熱卡填充法主觀因素較多,準(zhǔn)確性低。
國網(wǎng)山東省電力公司應(yīng)急管理中心在其申請的專利“基于電網(wǎng)GIS的氣象數(shù)據(jù)調(diào)用與預(yù)處理方法及系統(tǒng)”(專利申請?zhí)枺?01410709084.6,申請公開號:CN104951857A)中提出了一種基于電網(wǎng)GIS的氣象數(shù)據(jù)處理方法及系統(tǒng)。該方法首先建立電網(wǎng)氣象數(shù)據(jù)庫,然后分別對電網(wǎng)GIS平臺采集的不同格式的氣象數(shù)據(jù)進(jìn)行處理并存儲,再對存儲至電網(wǎng)氣象數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行分類預(yù)處理,之后進(jìn)行數(shù)據(jù)緩存與調(diào)用。在對實(shí)時監(jiān)測數(shù)據(jù)進(jìn)行完整性檢查時,當(dāng)出現(xiàn)數(shù)據(jù)缺失、錯誤等異常情況時,該方法調(diào)用當(dāng)前無效時間點(diǎn)的上一時刻數(shù)據(jù),采用向上追溯的方式進(jìn)行填充處理。該方法優(yōu)化了氣象數(shù)據(jù)在電網(wǎng)中的應(yīng)用方法,為電力行業(yè)與氣象部門間的快速數(shù)據(jù)交互提供了基礎(chǔ)。但是,該方法仍然存在的不足之處是,對于缺失、錯誤等異常情況的處理方式過于簡單,并且填補(bǔ)的數(shù)據(jù)準(zhǔn)確性低。
寧波綺耘軟件有限公司在其申請的專利“一種異常數(shù)據(jù)判定與處理方法及裝置”(專利申請?zhí)枺?01410504085.7,申請公開號:CN104281779A)中提出了一種異常數(shù)據(jù)判定與處理方法及裝置。該方法首先從原始?xì)庀髷?shù)據(jù)中提取與觀測點(diǎn)數(shù)據(jù)相關(guān)的數(shù)據(jù)塊,計(jì)算二者的數(shù)值變化,若不在預(yù)定范圍內(nèi),則觀測點(diǎn)數(shù)據(jù)為異常值,對異常值進(jìn)行修正并輸出修正后的氣象數(shù)據(jù)。該方法對連續(xù)觀測的氣象數(shù)據(jù)中存在的不符合氣象數(shù)據(jù)變化規(guī)律的數(shù)據(jù)進(jìn)行修正,從而減少突然增高或降低的異常數(shù)據(jù)對氣候特征觀察的影響。但是,該方法仍然存在的不足之處是,判斷氣象數(shù)據(jù)是否異常時提取的數(shù)據(jù)塊范圍僅為1-3,選取的數(shù)據(jù)塊太少,數(shù)據(jù)的修正也僅是用不包括觀測點(diǎn)的數(shù)據(jù)塊的平均值來替換,修正的氣象屬性值只與同種屬性的屬性值有關(guān),建立在完全隨機(jī)缺失的假設(shè)上,數(shù)據(jù)填充的精度不高,不能準(zhǔn)確反映氣象數(shù)據(jù)的變化規(guī)律。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服上述已有技術(shù)的不足,提出一種基于卷積自動編解碼算法的氣象數(shù)據(jù)填補(bǔ)方法,以提高氣象數(shù)據(jù)填補(bǔ)結(jié)果的精度。本發(fā)明利用卷積自動編碼和卷積自動解碼,在填補(bǔ)數(shù)據(jù)過程中學(xué)習(xí)周邊數(shù)據(jù)特征的相關(guān)性,有效地克服了氣象數(shù)據(jù)填充的精度不高的問題。
實(shí)現(xiàn)本發(fā)明目的的具體思路是:首先是根據(jù)相鄰數(shù)據(jù)屬性之間的關(guān)系,進(jìn)行數(shù)據(jù)預(yù)處理,然后再利用卷積自動編碼和卷積自動解碼等步驟,提取屬性特征之間的復(fù)雜關(guān)系,對氣象數(shù)據(jù)進(jìn)行填補(bǔ),提高了算法的魯棒性和填補(bǔ)的精度,可用于高維數(shù)據(jù)的多個缺失值填補(bǔ)。
實(shí)現(xiàn)本發(fā)明目的的具體步驟如下:
(1)對氣象數(shù)據(jù)進(jìn)行預(yù)處理:
(1a)用一個含有6個屬性值的一維數(shù)據(jù),構(gòu)建一個3×2二維矩陣;
(1b)用一個氣象數(shù)據(jù)文件中所有氣象數(shù)據(jù)構(gòu)建一個四維矩陣;
(2)設(shè)置迭代次數(shù):
設(shè)置最大迭代次數(shù)為1000,設(shè)置當(dāng)前迭代次數(shù)為k,并初始化為1;
(3)對四維矩陣進(jìn)行卷積自動編碼:
(3a)按照下式,用32個1×1卷積核w和偏移權(quán)重b卷積四維矩陣,分別提取氣象數(shù)據(jù)6個屬性值中每一個屬性值的數(shù)據(jù)特征,得到32組6個屬性值的數(shù)據(jù)特征:
Y=wX+b
其中,Y表示氣象數(shù)據(jù)6個屬性值中任意一個屬性值的數(shù)據(jù)特征,w表示一個1×1的矩陣,X表示氣象數(shù)據(jù)6個屬性值中與Y對應(yīng)的屬性值,b表示由隨機(jī)函數(shù)在(0,1)之間產(chǎn)生的一個隨機(jī)數(shù);
(3b)按照下式,分別計(jì)算氣象數(shù)據(jù)32組6個屬性值中每一個屬性值的匹配特征,得到32組6個屬性值的匹配特征:
m=max(0,Y)
其中,m表示氣象數(shù)據(jù)6個屬性值中任意一個屬性值的匹配特征,max表示取最大值操作,Y表示氣象數(shù)據(jù)6個屬性值中與m對應(yīng)的屬性值的數(shù)據(jù)特征;
(3c)對32組6個屬性值的匹配特征中的每一組,將6個屬性值的前2個屬性值的匹配特征,依次作為特征匹配矩陣的第一行,將6個屬性值的中間2個值的匹配特征,依次作為特征匹配矩陣的第二行,將6個屬性值的后2個值的匹配特征,依次作為特征匹配矩陣的第三行,得到一個3×2的特征匹配矩陣;
(3d)判斷是否完成32個3×2的特征匹配矩陣的構(gòu)建,若是,則執(zhí)行步驟(3e),否則,執(zhí)行步驟(3c);
(3e)按照下式,分別對32個3×2的特征匹配矩陣中的每一個特征匹配矩陣進(jìn)行填充,得到32個5×5填充后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值;
(3g)分別對32個5×5的填充后的特征匹配矩陣進(jìn)行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第一次編碼后的特征匹配矩陣;
(4)對特征匹配矩陣進(jìn)行卷積自動編碼:
(4a)對32個3×3的第一次編碼后的特征匹配矩陣中的每一個特征匹配矩陣,利用卷積公式,分別更新一個3×3的第一次編碼后的特征匹配矩陣中的每一個元素值,得到一個更新后的3×3的第一次編碼后的特征匹配矩陣;
(4b)判斷是否完成32個3×3的第一次編碼后的特征匹配矩陣的更新,若是,則執(zhí)行步驟(4c),否則,執(zhí)行步驟(4a);
(4c)按照下式,分別對32個3×3的更新后的第一次編碼后的特征匹配矩陣進(jìn)行填充,得到32個5×5的填充后的更新后的第一次編碼后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值;
(4d)分別對32個5×5的填充后的更新后的第一次編碼后的特征匹配矩陣進(jìn)行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第二次編碼后的特征匹配矩陣;
(5)對特征匹配矩陣進(jìn)行卷積自動編碼:
(5a)對32個3×3的第二次編碼后的特征匹配矩陣中的每一個特征匹配矩陣,利用卷積公式,分別更新一個3×3的第一次編碼后的特征匹配矩陣中的每一個元素值,得到一個更新后的3×3的第二次編碼后的特征匹配矩陣;
(5b)判斷是否完成32個3×3的第二次編碼后的特征匹配矩陣的更新,若是,則執(zhí)行步驟(5c),否則,執(zhí)行步驟(5a);
(5c)按照下式,分別對32個3×3的更新后的第二次編碼后的特征匹配矩陣進(jìn)行填充,得到32個5×5的填充后的更新后的第二次編碼后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值;
(5d)對32個5×5的填充后的更新后的第二次編碼后的特征匹配矩陣進(jìn)行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第三次編碼后的特征匹配矩陣;
(6)對特征匹配矩陣進(jìn)行卷積自動解碼:
(6a)對32個3×3的第三次編碼后的特征匹配矩陣中的每一個特征匹配矩陣,利用卷積公式,分別更新一個3×3的第三次編碼后的特征匹配矩陣中的每一個元素值,得到一個更新后的3×3的第三次編碼后的特征匹配矩陣;
(6b)判斷是否完成32個3×3的第三次編碼后的特征匹配矩陣的更新,若是,則執(zhí)行步驟(6c),否則,執(zhí)行步驟(6a);
(6c)按照下式,對32個更新后的3×3的第三次編碼后的特征匹配矩陣中的每一個特征匹配矩陣,分別修正一個更新后的3×3的第三次編碼后的特征匹配矩陣中的每一個元素值:
p=max(0,Q)
其中,p表示修正后的更新后的3×3的第三次編碼后的特征匹配矩陣中的任意一個元素值,max表示取最大值操作,Q表示更新后的3×3的第三次編碼后的特征匹配矩陣中的與y對應(yīng)的元素值;
(6d)判斷是否完成32個更新后的3×3的第三次編碼后的特征匹配矩陣的修正,若是,則執(zhí)行步驟(6e),否則,執(zhí)行步驟(6c);
(6e)按照下式,分別對32個修正后的更新后的3×3的第三次編碼后的特征匹配矩陣進(jìn)行填充,得到32個5×5的填充后的修正后的更新后的第二次編碼后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值;
(6f)對32個5×5的特征匹配矩陣進(jìn)行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第一次解碼后的特征匹配矩陣;
(7)對特征匹配矩陣進(jìn)行卷積自動解碼:
(7a)對32個3×2的第一次解碼后的特征匹配矩陣中的每一個特征匹配矩陣,利用卷積公式,分別更新一個3×2的第一次解碼后的特征匹配矩陣中的每一個元素值,得到一個更新后的3×2的第一次解碼后的特征匹配矩陣;
(7b)判斷是否完成32個3×2的第一次解碼后的特征匹配矩陣的更新,若是,則執(zhí)行步驟(7c),否則,執(zhí)行步驟(7a);
(7c)按照下式,分別對32個3×2的更新后的第一次解碼后的特征匹配矩陣進(jìn)行填充,得到32個5×5的填充后的更新后的第一次解碼后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值;
(7d)對32個5×5的填充后的更新后的第一次解碼后的特征匹配矩陣進(jìn)行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第二次解碼后的特征匹配矩陣;
(8)對特征匹配矩陣進(jìn)行卷積自動解碼:
(8a)對32個3×2的第二次解碼后的特征匹配矩陣中的每一個特征匹配矩陣,利用卷積公式,分別更新一個3×2的第二次解碼后的特征匹配矩陣中的每一個元素值,得到一個更新后的3×2的第二次解碼后的特征匹配矩陣;
(8b)判斷是否完成32個3×2的第二次解碼后的特征匹配矩陣的更新,若是,則執(zhí)行步驟(8c),否則,執(zhí)行步驟(8a);
(8c)按照下式,分別對32個3×2的更新后的第二次解碼后的特征匹配矩陣進(jìn)行填充,得到32個5×5的填充后的更新后的第二次解碼后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值;
(8d)對32個5×5的填充后的更新后的第二次解碼后的特征匹配矩陣進(jìn)行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第三次解碼后的特征匹配矩陣;
(9)按照下式,對32個3×2的第三次解碼后的特征匹配矩陣分別計(jì)算損失函數(shù):
其中,Lrec(x)表示x對應(yīng)的損失函數(shù),||·||2表示求二范數(shù)操作,表示數(shù)據(jù)中缺失的部分,⊙表示數(shù)組元素依次相乘操作,x表示輸入的真實(shí)數(shù)據(jù),F(xiàn)表示編碼過程;
(10)按照下式,利用梯度下降法更新卷積核w和偏移權(quán)重b:
其中,w1表示更新后的卷積核,w表示更新前的卷積核,α表示取值為0.1的學(xué)習(xí)速率,Lrec(x)表示損失函數(shù),表示損失函數(shù)Lrec(x)在卷積核w處的偏導(dǎo)數(shù),b1表示更新后的偏移權(quán)重,b表示更新前的偏移權(quán)重,α表示取值為0.1的學(xué)習(xí)速率,Lrec(x)表示損失函數(shù),表示損失函數(shù)Lrec(x)在偏移權(quán)重b處的偏導(dǎo)數(shù);
(11)判斷當(dāng)前迭代次數(shù)k是否達(dá)到最大迭代次數(shù),若是,則執(zhí)行步驟(12),否則,將當(dāng)前迭代次數(shù)k加1后,執(zhí)行步驟(3);
(12)取32個3×2的第三次解碼后的特征匹配矩陣中損失函數(shù)最小的特征匹配矩陣,將32個3×2的第三次解碼后的特征匹配矩陣中損失函數(shù)最小的特征匹配矩陣的第一行的兩個元素值作為氣象數(shù)據(jù)6個屬性值中的大氣氣壓和干球溫度,將32個3×2的第三次解碼后的特征匹配矩陣中損失函數(shù)最小的特征匹配矩陣的第二行的兩個元素值作為6個屬性值中的露點(diǎn)溫度和風(fēng)速,將32個3×2的第三次解碼后的特征匹配矩陣中損失函數(shù)最小的特征匹配矩陣的第三行的兩個元素值作為6個屬性值中的風(fēng)向和總云量;
(13)完成氣象數(shù)據(jù)填補(bǔ)。
本發(fā)明與現(xiàn)有方法相比具有如下優(yōu)點(diǎn):
第1,由于本發(fā)明引入對氣象數(shù)據(jù)進(jìn)行預(yù)處理,利用周邊數(shù)據(jù)特征具有相關(guān)性的特點(diǎn),將氣象數(shù)據(jù)構(gòu)建成為一個四維矩陣,從而克服了現(xiàn)有技術(shù)對于缺失、錯誤等異常情況的處理方式過于簡單的問題,克服了填充的氣象屬性值只與同種屬性值有關(guān)的問題,使得本發(fā)明的缺值填充更靈活、準(zhǔn)確度更高。
第2,由于本發(fā)明引入卷積自動編碼和卷積自動解碼,利用卷積自動編碼卷積自動解碼等步驟,提取氣象屬性特征之間的復(fù)雜關(guān)系,得到較優(yōu)的填充氣象數(shù)據(jù)的計(jì)算模型,從而克服了數(shù)據(jù)填補(bǔ)的精度不高的問題,使得本發(fā)明具有高魯棒性、高缺值填充準(zhǔn)確度的優(yōu)點(diǎn)。
附圖說明
圖1為本發(fā)明的流程圖;
圖2為本發(fā)明利用3×3的卷積核對5×5的矩陣進(jìn)行卷積過程的示意圖;
圖3為本發(fā)明對5×5的矩陣進(jìn)行大小為3×3的最大值形式的池化的過程的示意圖;
圖4為本發(fā)明對3×3的矩陣填充為5×5的矩陣的示意圖。
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)描述。
參照附圖1,對本發(fā)明實(shí)現(xiàn)的步驟作進(jìn)一步的詳細(xì)描述。
步驟1,對氣象數(shù)據(jù)進(jìn)行預(yù)處理。
第1步,用一個含有6個屬性值的一維數(shù)據(jù),構(gòu)建一個3×2二維矩陣。
所述的6個屬性值是指,大氣氣壓,干球溫度,露點(diǎn)溫度,風(fēng)速,風(fēng)向,總云量。
所述的3×2二維矩陣的構(gòu)建方式為,將6個屬性值的前2個值依次作為二維矩陣的第一行,將6個屬性值的中間2個值依次作為二維矩陣的第二行,將6個屬性值的后2個值依次作為二維矩陣的第三行,若有空缺值,用1填補(bǔ)。
第2步,用一個氣象數(shù)據(jù)文件中所有氣象數(shù)據(jù)構(gòu)建一個四維矩陣。
所述四維矩陣的構(gòu)建方式為,將一個文件中的所有氣候數(shù)據(jù)所在的行數(shù)作為四維矩陣的第一維,第二維取1,將二維矩陣中的元素值作為四維矩陣的后兩維。
步驟2,設(shè)置迭代次數(shù)。
設(shè)置最大迭代次數(shù)為1000,設(shè)置當(dāng)前迭代次數(shù)為k,并初始化為1。
步驟3,對四維矩陣進(jìn)行卷積自動編碼。
第1步,按照下式,用32個1×1卷積核w和偏移權(quán)重b卷積四維矩陣,分別提取氣象數(shù)據(jù)6個屬性值中每一個屬性值的數(shù)據(jù)特征,得到32組6個屬性值的數(shù)據(jù)特征:
Y=wX+b
其中,Y表示氣象數(shù)據(jù)6個屬性值中任意一個屬性值的數(shù)據(jù)特征,w表示一個1×1的矩陣,X表示氣象數(shù)據(jù)6個屬性值中與Y對應(yīng)的屬性值,b表示由隨機(jī)函數(shù)在(0,1)之間產(chǎn)生的一個隨機(jī)數(shù)。
第2步,按照下式,分別計(jì)算氣象數(shù)據(jù)32組6個屬性值中每一個屬性值的匹配特征,得到32組6個屬性值的匹配特征:
m=max(0,Y)
其中,m表示氣象數(shù)據(jù)6個屬性值中任意一個屬性值的匹配特征,max表示取最大值操作,Y表示氣象數(shù)據(jù)6個屬性值中與m對應(yīng)的屬性值的數(shù)據(jù)特征。
第3步,對32組6個屬性值的匹配特征中的每一組,將6個屬性值的前2個屬性值的匹配特征,依次作為特征匹配矩陣的第一行,將6個屬性值的中間2個值的匹配特征,依次作為特征匹配矩陣的第二行,將6個屬性值的后2個值的匹配特征,依次作為特征匹配矩陣的第三行,得到一個3×2的特征匹配矩陣。
第4步,判斷是否完成32個3×2的特征匹配矩陣的構(gòu)建,若是,則執(zhí)行本步驟的第5步,否則,執(zhí)行本步驟的第3步。
第5步,按照下式,分別對32個3×2的特征匹配矩陣中的每一個特征匹配矩陣進(jìn)行填充,得到32個5×5填充后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值。
第6步,分別對32個5×5的填充后的特征匹配矩陣進(jìn)行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第一次編碼后的特征匹配矩陣。
步驟4,對特征匹配矩陣進(jìn)行卷積自動編碼。
第1步,對32個3×3的第一次編碼后的特征匹配矩陣中的每一個特征匹配矩陣,利用卷積公式,分別更新一個3×3的第一次編碼后的特征匹配矩陣中的每一個元素值,得到一個更新后的3×3的第一次編碼后的特征匹配矩陣。
所述的卷積公式如下:
Mij=wxst+b
其中,Mij表示更新后的特征匹配矩陣中第i行第j列的元素值,w表示一個1×1的矩陣,xst表示更新前的特征匹配矩陣中第s行第t列的元素值,i和s取相同的值,j和t取相同的值,b表示由隨機(jī)函數(shù)在(0,1)之間產(chǎn)生的一個隨機(jī)數(shù)。
第2步,判斷是否完成32個3×3的第一次編碼后的特征匹配矩陣的更新,若是,則執(zhí)行本步驟的第3步,否則,執(zhí)行本步驟的第1步。
第3步,按照下式,分別對32個3×3的更新后的第一次編碼后的特征匹配矩陣進(jìn)行填充,得到32個5×5的填充后的更新后的第一次編碼后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值。
第4步,分別對32個5×5的填充后的更新后的第一次編碼后的特征匹配矩陣進(jìn)行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第二次編碼后的特征匹配矩陣。
步驟5,對特征匹配矩陣進(jìn)行卷積自動編碼。
第1步,對32個3×3的第二次編碼后的特征匹配矩陣中的每一個特征匹配矩陣,利用卷積公式,分別更新一個3×3的第一次編碼后的特征匹配矩陣中的每一個元素值,得到一個更新后的3×3的第二次編碼后的特征匹配矩陣。
所述的卷積公式如下:
Mij=wxst+b
其中,Mij表示更新后的特征匹配矩陣中第i行第j列的元素值,w表示一個1×1的矩陣,xst表示更新前的特征匹配矩陣中第s行第t列的元素值,i和s取相同的值,j和t取相同的值,b表示由隨機(jī)函數(shù)在(0,1)之間產(chǎn)生的一個隨機(jī)數(shù)。
第2步,判斷是否完成32個3×3的第二次編碼后的特征匹配矩陣的更新,若是,則執(zhí)行本步驟的第3步,否則,執(zhí)行本步驟的第1步。
第3步,按照下式,分別對32個3×3的更新后的第二次編碼后的特征匹配矩陣進(jìn)行填充,得到32個5×5的填充后的更新后的第二次編碼后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值。
第4步,對32個5×5的填充后的更新后的第二次編碼后的特征匹配矩陣進(jìn)行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第三次編碼后的特征匹配矩陣。
步驟6,對特征匹配矩陣進(jìn)行卷積自動解碼。
第1步,對32個3×3的第三次編碼后的特征匹配矩陣中的每一個特征匹配矩陣,利用卷積公式,分別更新一個3×3的第三次編碼后的特征匹配矩陣中的每一個元素值,得到一個更新后的3×3的第三次編碼后的特征匹配矩陣。
所述的卷積公式如下:
Mij=wxst+b
其中,Mij表示更新后的特征匹配矩陣中第i行第j列的元素值,w表示一個1×1的矩陣,xst表示更新前的特征匹配矩陣中第s行第t列的元素值,i和s取相同的值,j和t取相同的值,b表示由隨機(jī)函數(shù)在(0,1)之間產(chǎn)生的一個隨機(jī)數(shù)。
第2步,判斷是否完成32個3×3的第三次編碼后的特征匹配矩陣的更新,若是,則執(zhí)行本步驟的第3步,否則,執(zhí)行本步驟的第1步。
第3步,按照下式,對32個更新后的3×3的第三次編碼后的特征匹配矩陣中的每一個特征匹配矩陣,分別修正一個更新后的3×3的第三次編碼后的特征匹配矩陣中的每一個元素值:
p=max(0,Q)
其中,p表示修正后的更新后的3×3的第三次編碼后的特征匹配矩陣中的任意一個元素值,max表示取最大值操作,Q表示更新后的3×3的第三次編碼后的特征匹配矩陣中的與y對應(yīng)的元素值。
第4步,判斷是否完成32個更新后的3×3的第三次編碼后的特征匹配矩陣的修正,若是,則執(zhí)行本步驟的第5步,否則,執(zhí)行本步驟的第3步。
第5步,按照下式,分別對32個修正后的更新后的3×3的第三次編碼后的特征匹配矩陣進(jìn)行填充,得到32個5×5的填充后的修正后的更新后的第二次編碼后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值。
第6步,對32個5×5的特征匹配矩陣進(jìn)行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第一次解碼后的特征匹配矩陣。
步驟7,對特征匹配矩陣進(jìn)行卷積自動解碼。
第1步,對32個3×2的第一次解碼后的特征匹配矩陣中的每一個特征匹配矩陣,利用卷積公式,分別更新一個3×2的第一次解碼后的特征匹配矩陣中的每一個元素值,得到一個更新后的3×2的第一次解碼后的特征匹配矩陣。
所述的卷積公式如下:
Mij=wxst+b
其中,Mij表示更新后的特征匹配矩陣中第i行第j列的元素值,w表示一個1×1的矩陣,xst表示更新前的特征匹配矩陣中第s行第t列的元素值,i和s取相同的值,j和t取相同的值,b表示由隨機(jī)函數(shù)在(0,1)之間產(chǎn)生的一個隨機(jī)數(shù)。
第2步,判斷是否完成32個3×2的第一次解碼后的特征匹配矩陣的更新,若是,則執(zhí)行本步驟的第3步,否則,執(zhí)行本步驟的第1步。
第3步,按照下式,分別對32個3×2的更新后的第一次解碼后的特征匹配矩陣進(jìn)行填充,得到32個5×5的填充后的更新后的第一次解碼后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值。
第4步,對32個5×5的填充后的更新后的第一次解碼后的特征匹配矩陣進(jìn)行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第二次解碼后的特征匹配矩陣。
步驟8,對特征匹配矩陣進(jìn)行卷積自動解碼。
第1步,對32個3×2的第二次解碼后的特征匹配矩陣中的每一個特征匹配矩陣,利用卷積公式,分別更新一個3×2的第二次解碼后的特征匹配矩陣中的每一個元素值,得到一個更新后的3×2的第二次解碼后的特征匹配矩陣。
所述的卷積公式如下:
Mij=wxst+b
其中,Mij表示更新后的特征匹配矩陣中第i行第j列的元素值,w表示一個1×1的矩陣,xst表示更新前的特征匹配矩陣中第s行第t列的元素值,i和s取相同的值,j和t取相同的值,b表示由隨機(jī)函數(shù)在(0,1)之間產(chǎn)生的一個隨機(jī)數(shù)。
第2步,判斷是否完成32個3×2的第二次解碼后的特征匹配矩陣的更新,若是,則執(zhí)行本步驟的第3步,否則,執(zhí)行本步驟的第1步。
第3步,按照下式,分別對32個3×2的更新后的第二次解碼后的特征匹配矩陣進(jìn)行填充,得到32個5×5的填充后的更新后的第二次解碼后的特征匹配矩陣:
其中,Bij表示填充后的特征匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特征匹配矩陣中第i-1行第j-1列的元素值。
第4步,對32個5×5的填充后的更新后的第二次解碼后的特征匹配矩陣進(jìn)行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第三次解碼后的特征匹配矩陣。
步驟9,按照下式,對32個3×2的第三次解碼后的特征匹配矩陣分別計(jì)算損失函數(shù):
其中,Lrec(x)表示x對應(yīng)的損失函數(shù),||·||2表示求二范數(shù)操作,表示數(shù)據(jù)中缺失的部分,⊙表示數(shù)組元素依次相乘操作,x表示輸入的真實(shí)數(shù)據(jù),F(xiàn)表示編碼過程。
步驟10,按照下式,利用梯度下降法更新卷積核w和偏移權(quán)重b:
其中,w1表示更新后的卷積核,w表示更新前的卷積核,α表示取值為0.1的學(xué)習(xí)速率,Lrec(x)表示損失函數(shù),表示損失函數(shù)Lrec(x)在卷積核w處的偏導(dǎo)數(shù),b1表示更新后的偏移權(quán)重,b表示更新前的偏移權(quán)重,α表示取值為0.1的學(xué)習(xí)速率,Lrec(x)表示損失函數(shù),表示損失函數(shù)Lrec(x)在偏移權(quán)重b處的偏導(dǎo)數(shù)。
步驟11,判斷當(dāng)前迭代次數(shù)k是否達(dá)到最大迭代次數(shù),若是,則執(zhí)行步驟12,否則,將當(dāng)前迭代次數(shù)k加1后,執(zhí)行步驟3。
步驟12,取32個3×2的第三次解碼后的特征匹配矩陣中損失函數(shù)最小的特征匹配矩陣,將32個3×2的第三次解碼后的特征匹配矩陣中損失函數(shù)最小的特征匹配矩陣的第一行的兩個元素值作為氣象數(shù)據(jù)6個屬性值中的大氣氣壓和干球溫度,將32個3×2的第三次解碼后的特征匹配矩陣中損失函數(shù)最小的特征匹配矩陣的第二行的兩個元素值作為6個屬性值中的露點(diǎn)溫度和風(fēng)速,將32個3×2的第三次解碼后的特征匹配矩陣中損失函數(shù)最小的特征匹配矩陣的第三行的兩個元素值作為6個屬性值中的風(fēng)向和總云量。
步驟13,完成氣象數(shù)據(jù)填補(bǔ)。
下面結(jié)合附圖2,對本發(fā)明利用3×3的卷積核對5×5的矩陣進(jìn)行卷積的過程作進(jìn)一步的詳細(xì)描述。
圖2中,對于一個5×5的輸入矩陣,利用3×3的卷積核,卷積生成3×3的特征匹配矩陣。其中,圖2(a)表示一個5×5的輸入矩陣,陰影部分的下標(biāo)構(gòu)成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應(yīng)的下標(biāo)值分別相乘然后再將乘積相加即得到圖2(b)所示特征匹配矩陣中第一行第一列的元素值。圖2(c)表示一個5×5的輸入矩陣,陰影部分的下標(biāo)構(gòu)成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應(yīng)的下標(biāo)值分別相乘然后再將乘積相加即得到圖2(d)所示特征匹配矩陣中第一行第二列的元素值。圖2(e)表示一個5×5的輸入矩陣,陰影部分的下標(biāo)構(gòu)成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應(yīng)的下標(biāo)值分別相乘然后再將乘積相加即得到圖2(f)所示特征匹配矩陣中第一行第三列的元素值。圖2(g)表示一個5×5的輸入矩陣,陰影部分的下標(biāo)構(gòu)成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應(yīng)的下標(biāo)值分別相乘然后再將乘積相加即得到圖2(h)所示特征匹配矩陣中第二行第一列的元素值。圖2(i)表示一個5×5的輸入矩陣,陰影部分的下標(biāo)構(gòu)成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應(yīng)的下標(biāo)值分別相乘然后再將乘積相加即得到圖2(j)所示特征匹配矩陣中第二行第二列的元素值。圖2(k)表示一個5×5的輸入矩陣,陰影部分的下標(biāo)構(gòu)成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應(yīng)的下標(biāo)值分別相乘然后再將乘積相加即得到圖2(l)所示特征匹配矩陣中第二行第三列的元素值。圖2(m)表示一個5×5的輸入矩陣,陰影部分的下標(biāo)構(gòu)成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應(yīng)的下標(biāo)值分別相乘然后再將乘積相加即得到圖2(n)所示特征匹配矩陣中第三行第一列的元素值。圖2(o)表示一個5×5的輸入矩陣,陰影部分的下標(biāo)構(gòu)成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應(yīng)的下標(biāo)值分別相乘然后再將乘積相加即得到圖2(p)所示特征匹配矩陣中第三行第二列的元素值。圖2(q)表示一個5×5的輸入矩陣,陰影部分的下標(biāo)構(gòu)成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應(yīng)的下標(biāo)值分別相乘然后再將乘積相加即得到圖2(r)所示特征匹配矩陣中第三行第三列的元素值。
參照附圖3,對本發(fā)明對5×5的矩陣進(jìn)行大小為3×3的最大值形式的池化的過程作進(jìn)一步的詳細(xì)描述。
圖3中,對5×5的輸入矩陣,進(jìn)行大小為3×3的最大池操作,步長為1。最大池操作包括將輸入分裂成小塊并且輸出每一塊的最大值。其中,圖3(a)表示一個5×5的輸入矩陣,陰影部分表示進(jìn)行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(b)所示特征匹配矩陣中第一行第一列的元素值。圖3(c)表示一個5×5的輸入矩陣,陰影部分表示進(jìn)行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(d)所示特征匹配矩陣中第一行第二列的元素值。圖3(e)表示一個5×5的輸入矩陣,陰影部分表示進(jìn)行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(f)所示特征匹配矩陣中第一行第三列的元素值。圖3(g)表示一個5×5的輸入矩陣,陰影部分表示進(jìn)行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(h)所示特征匹配矩陣中第二行第一列的元素值。圖3(i)表示一個5×5的輸入矩陣,陰影部分表示進(jìn)行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(j)所示特征匹配矩陣中第二行第二列的元素值。圖3(k)表示一個5×5的輸入矩陣,陰影部分表示進(jìn)行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(l)所示特征匹配矩陣中第二行第三列的元素值。圖3(m)表示一個5×5的輸入矩陣,陰影部分表示進(jìn)行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(n)所示特征匹配矩陣中第三行第一列的元素值。圖3(o)表示一個5×5的輸入矩陣,陰影部分表示進(jìn)行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(p)所示特征匹配矩陣中第三行第二列的元素值。圖3(q)表示一個5×5的輸入矩陣,陰影部分表示進(jìn)行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(r)所示特征匹配矩陣中第三行第三列的元素值。
參照附圖4,對本發(fā)明實(shí)現(xiàn)填充的過程作進(jìn)一步的詳細(xì)描述。
圖4中,將3×3的輸入矩陣,填充為為5×5的輸出矩陣。其中,圖4(a)表示一個3×3的輸入矩陣,圖4(b)表示一個5×5的輸出矩陣,圖4(b)中第一行,第五行,第一列和第五列的元素值均為0。圖4(b)中第二行第二列的元素值等于圖4(a)中第一行第一列的元素值。圖4(b)中第二行第三列的元素值等于圖4(a)中第一行第二列的元素值。圖4(b)中第二行第四列的元素值等于圖4(a)中第一行第三列的元素值。圖4(b)中第三行第二列的元素值等于圖4(a)中第二行第一列的元素值。圖4(b)中第三行第三列的元素值等于圖4(a)中第二行第二列的元素值。圖4(b)中第三行第四列的元素值等于圖4(a)中第二行第三列的元素值。圖4(b)中第四行第二列的元素值等于圖4(a)中第三行第一列的元素值。圖4(b)中第四行第三列的元素值等于圖4(a)中第三行第二列的元素值。圖4(b)中第四行第四列的元素值等于圖4(a)中第三行第三列的元素值。