中的確定優(yōu)先關(guān)系圖時(shí),具體可以通過(guò)如下的幾種方式來(lái)實(shí)現(xiàn):
[0103](I)參考圖2所示,采用兩兩數(shù)據(jù)逐個(gè)比較的方法
[0104]Al:接收用戶輸入的偏好關(guān)系集合,該偏好關(guān)系集合中包括N維數(shù)據(jù)關(guān)系信息,其中任意一維數(shù)據(jù)關(guān)系信息中包括高維數(shù)據(jù)對(duì)象中任意兩個(gè)數(shù)據(jù)之間的優(yōu)先關(guān)系信息,N可以為高維數(shù)據(jù)對(duì)象的維數(shù),也可以小于高維數(shù)據(jù)對(duì)象的維數(shù)。具體地,該偏好關(guān)系集合可以是用戶設(shè)定的信息,且其中每一維數(shù)據(jù)關(guān)系信息都可以是高維數(shù)據(jù)對(duì)象對(duì)應(yīng)的一個(gè)優(yōu)先關(guān)系圖,也可以是高維數(shù)據(jù)對(duì)象中數(shù)據(jù)的優(yōu)先序列等信息。
[0105]B1:判斷高維數(shù)據(jù)對(duì)象中任意兩個(gè)數(shù)據(jù)中的第一數(shù)據(jù)和第二數(shù)據(jù)之間的優(yōu)先關(guān)系是否滿足第一預(yù)置條件,如果滿足,則執(zhí)行步驟Cl之后執(zhí)行步驟El ;如果不滿足,則執(zhí)行步驟D1,即確定第一數(shù)據(jù)和第二數(shù)據(jù)之間的優(yōu)先關(guān)系為第二類優(yōu)先關(guān)系。其中,第一預(yù)置條件包括:在M維所述數(shù)據(jù)關(guān)系信息中,第一數(shù)據(jù)和第二數(shù)據(jù)之間的優(yōu)先關(guān)系在每一維數(shù)據(jù)關(guān)系信息中的優(yōu)先關(guān)系都相同,且都為第一類優(yōu)先關(guān)系,這里M大于預(yù)置的值,且小于或等于N0
[0106]Cl:相應(yīng)地確定第一數(shù)據(jù)和第二數(shù)據(jù)之間的優(yōu)先關(guān)系為第一類優(yōu)先關(guān)系。
[0107]這樣,可以通過(guò)上述重復(fù)執(zhí)行上述步驟BI和Cl,遍歷高維數(shù)據(jù)對(duì)象中的任意兩個(gè)數(shù)據(jù),就可以最終得到高維數(shù)據(jù)對(duì)象中任意兩個(gè)數(shù)據(jù)之間的優(yōu)先關(guān)系。
[0108]El:根據(jù)最終得到的第一類優(yōu)先關(guān)系確定高維數(shù)據(jù)對(duì)象的優(yōu)先關(guān)系圖,具體地,將任意數(shù)據(jù)作為一個(gè)節(jié)點(diǎn),將具有第一類優(yōu)先關(guān)系的兩個(gè)數(shù)據(jù)的節(jié)點(diǎn)定義為父子節(jié)點(diǎn),從而可以得到高維數(shù)據(jù)對(duì)象的優(yōu)先關(guān)系圖。
[0109](2)參考圖3a所示,將高維數(shù)據(jù)對(duì)象中的數(shù)據(jù)分為兩部分來(lái)確定優(yōu)先關(guān)系圖。
[0110]A2:根據(jù)高維數(shù)據(jù)對(duì)象中的第一部分?jǐn)?shù)據(jù)確定第一部分?jǐn)?shù)據(jù)之間的初始優(yōu)先關(guān)系圖。
[0111]B2:隨機(jī)選取第一部分?jǐn)?shù)據(jù)中的任一數(shù)據(jù)為參考數(shù)據(jù)。
[0112]C2:遍歷高維數(shù)據(jù)對(duì)象中除第一部分?jǐn)?shù)據(jù)之外的第二部分?jǐn)?shù)據(jù),根據(jù)參考數(shù)據(jù)與第二部分?jǐn)?shù)據(jù)之間的優(yōu)先關(guān)系,確定第二部分?jǐn)?shù)據(jù)添加到初始優(yōu)先關(guān)系圖中的位置。具體地,如果參考數(shù)據(jù)優(yōu)先于第二部分?jǐn)?shù)據(jù),則確定該參考數(shù)據(jù)為第二部分?jǐn)?shù)據(jù)的父節(jié)點(diǎn)數(shù)據(jù),如果第二部分?jǐn)?shù)據(jù)優(yōu)先于參考數(shù)據(jù),則確定該第二部分?jǐn)?shù)據(jù)為參考數(shù)據(jù)的父節(jié)點(diǎn)數(shù)據(jù)等。
[0113]D2:根據(jù)步驟C2中確定的位置將第二部分?jǐn)?shù)據(jù)添加到初始優(yōu)先關(guān)系圖。
[0114](3)參考圖3b所示,在兩兩數(shù)據(jù)逐個(gè)比較的基礎(chǔ)上,采用逆向比較方法,這種方式確定優(yōu)先關(guān)系圖的方法是上述第(2)種方式確定優(yōu)先關(guān)系圖的具體細(xì)化。
[0115]A3:按照上述步驟A2到E2的方法,通過(guò)第一預(yù)置條件確定高維數(shù)據(jù)對(duì)象中第一部分?jǐn)?shù)據(jù)之間的初始優(yōu)先關(guān)系圖,對(duì)于高維數(shù)據(jù)對(duì)象中第二部分?jǐn)?shù)據(jù),可以采用逆向比較的方法,具體地是通過(guò)如下步驟來(lái)實(shí)現(xiàn):
[0116]B3:在通過(guò)上述第一預(yù)置條件確定了初始優(yōu)先關(guān)系的第一部分?jǐn)?shù)據(jù)中確定一個(gè)參考數(shù)據(jù)V。
[0117]C3:判斷高維數(shù)據(jù)對(duì)象中除第一部分?jǐn)?shù)據(jù)之外的第二部分?jǐn)?shù)據(jù)中的第三數(shù)據(jù)O與參考數(shù)據(jù)V之間的優(yōu)先關(guān)系是否滿足第二預(yù)置條件,如果滿足,則執(zhí)行步驟D3,如果不滿足,則進(jìn)一步執(zhí)行步驟E3,其中,第二預(yù)置條件包括第三數(shù)據(jù)ο優(yōu)于參考數(shù)據(jù)V。其中,這里第三數(shù)據(jù)ο優(yōu)于參考數(shù)據(jù)V是指在數(shù)值上的大于,也可以是由用戶定義的,還可以是關(guān)于某個(gè)函數(shù)計(jì)算得到的數(shù)值上的大于等。
[0118]D3:如果在確定的第一部分?jǐn)?shù)據(jù)之間的初始優(yōu)先關(guān)系圖中,作為參考數(shù)據(jù)V的父節(jié)點(diǎn)數(shù)據(jù)的第四數(shù)據(jù)P優(yōu)于第三數(shù)據(jù)O,則將第三數(shù)據(jù)ο作為第四數(shù)據(jù)P的子節(jié)點(diǎn)數(shù)據(jù)添加到上述部分?jǐn)?shù)據(jù)之間的優(yōu)先關(guān)系圖中,且將第四數(shù)據(jù)P的所有子節(jié)點(diǎn)數(shù)據(jù)中劣于第三數(shù)據(jù)ο的子節(jié)點(diǎn)數(shù)據(jù)q作為第三數(shù)據(jù)ο的子節(jié)點(diǎn)數(shù)據(jù),這樣可以表示該第三數(shù)據(jù)ο優(yōu)于所述子節(jié)點(diǎn)數(shù)據(jù)q。
[0119]如果第三數(shù)據(jù)O優(yōu)于第四數(shù)據(jù)P,且第四數(shù)據(jù)P不存在父節(jié)點(diǎn)數(shù)據(jù),則將第三數(shù)據(jù)ο作為第四數(shù)據(jù)P的父節(jié)點(diǎn)數(shù)據(jù)添加到上述部分?jǐn)?shù)據(jù)之間的優(yōu)先關(guān)系圖中。
[0120]E3:判斷第二部分?jǐn)?shù)據(jù)中的第三數(shù)據(jù)O與參考數(shù)據(jù)V之間的優(yōu)先關(guān)系是否滿足第三預(yù)置條件,如果滿足,則執(zhí)行步驟F3,如果不滿足,則結(jié)束流程,其中,第三預(yù)置條件包括參考數(shù)據(jù)V優(yōu)于第三數(shù)據(jù)O。
[0121]F3:如果在第一部分?jǐn)?shù)據(jù)之間的初始優(yōu)先關(guān)系圖中,作為參考數(shù)據(jù)V的子節(jié)點(diǎn)數(shù)據(jù)的第五數(shù)據(jù)r優(yōu)于第三數(shù)據(jù)O,且第五數(shù)據(jù)r不存在子節(jié)點(diǎn)數(shù)據(jù),則將第三數(shù)據(jù)ο作為第五數(shù)據(jù)r的子節(jié)點(diǎn)數(shù)據(jù)添加到上述部分?jǐn)?shù)據(jù)之間的優(yōu)先關(guān)系圖中;
[0122]如果第三數(shù)據(jù)ο優(yōu)于第五數(shù)據(jù)r,則將第三數(shù)據(jù)ο作為第五數(shù)據(jù)r的父節(jié)點(diǎn)數(shù)據(jù),且將第五數(shù)據(jù)r的所有父節(jié)點(diǎn)數(shù)據(jù)中優(yōu)于第三數(shù)據(jù)的父節(jié)點(diǎn)數(shù)據(jù)作為第三數(shù)據(jù)ο的父節(jié)點(diǎn)數(shù)據(jù)。
[0123]參考圖4所示,在另一個(gè)具體的實(shí)施例中,高維數(shù)據(jù)降維裝置在執(zhí)行上述步驟102中的圖染色操作時(shí),具體可以通過(guò)如下的步驟來(lái)實(shí)現(xiàn):
[0124]A4:找出優(yōu)先關(guān)系圖或優(yōu)化后的優(yōu)先關(guān)系圖中優(yōu)先關(guān)系為第二類優(yōu)先關(guān)系的多組數(shù)據(jù)對(duì),該第二類優(yōu)先關(guān)系為第一數(shù)據(jù)不優(yōu)于第二數(shù)據(jù),且第二數(shù)據(jù)也不優(yōu)于第一數(shù)據(jù)。其中在查找多組數(shù)據(jù)對(duì)時(shí),如果優(yōu)先關(guān)系圖(或優(yōu)化后的優(yōu)先關(guān)系圖)中的兩個(gè)數(shù)據(jù)之間為第二類優(yōu)先關(guān)系,則找出的為兩個(gè)數(shù)據(jù)對(duì),即數(shù)據(jù)相同,但順序不同的兩個(gè)數(shù)據(jù)對(duì),比如在bl和b2之間,可以找出數(shù)據(jù)對(duì)(bl,b2)及數(shù)據(jù)對(duì)(b2,bl)。
[0125]B4:在步驟A4找出的多組數(shù)據(jù)對(duì)中一組數(shù)據(jù)對(duì)中的兩個(gè)數(shù)據(jù)之間建立第一類優(yōu)先關(guān)系,使得上述步驟A4找出的所有多組數(shù)據(jù)對(duì)中的另一組數(shù)據(jù)對(duì)中的兩個(gè)數(shù)據(jù)之間為第一類優(yōu)先關(guān)系。高維數(shù)據(jù)降維裝置還可以在建立了第一類優(yōu)先關(guān)系的一組數(shù)據(jù)對(duì),到因建立該第一類優(yōu)先關(guān)系而導(dǎo)致具有第一類優(yōu)先關(guān)系的另一組數(shù)據(jù)對(duì)之間建立對(duì)應(yīng)關(guān)系。
[0126]其中,高維數(shù)據(jù)降維裝置在一組數(shù)據(jù)對(duì)之間的兩個(gè)數(shù)據(jù)之間建立第一類優(yōu)先關(guān)系時(shí),是按照兩個(gè)數(shù)據(jù)在數(shù)據(jù)對(duì)中的順序來(lái)建立,具體是使得一組數(shù)據(jù)對(duì)中第一個(gè)數(shù)據(jù)優(yōu)先于第二個(gè)數(shù)據(jù),比如數(shù)據(jù)對(duì)為(al,a2),則建立al優(yōu)先于a2。則使得另一組數(shù)據(jù)對(duì)的兩個(gè)數(shù)據(jù)數(shù)據(jù)之間建立的第一類優(yōu)先關(guān)系,也是使得另一組數(shù)據(jù)對(duì)中第一個(gè)數(shù)據(jù)優(yōu)先于第二個(gè)數(shù)據(jù)。
[0127]C4:將建立第一類優(yōu)先關(guān)系的數(shù)據(jù)對(duì)作為節(jié)點(diǎn),進(jìn)行圖染色操作,這樣使得相鄰的節(jié)點(diǎn)之間著不同顏色。高維數(shù)據(jù)降維裝置還需要將上述多組數(shù)據(jù)對(duì)中未建立第一類優(yōu)先關(guān)系的的數(shù)據(jù)對(duì)(即上述未建立對(duì)應(yīng)關(guān)系的數(shù)據(jù)對(duì))也作為節(jié)點(diǎn)以供圖染色操作,其中,需要進(jìn)行圖染色操作的所有節(jié)點(diǎn)中,相鄰兩個(gè)節(jié)點(diǎn)之間的數(shù)據(jù)對(duì)的第一類優(yōu)先關(guān)系會(huì)使得上述優(yōu)先關(guān)系圖或優(yōu)化后優(yōu)先關(guān)系圖中的節(jié)點(diǎn)之間組成環(huán)。
[0128]在這種情況下,高維數(shù)據(jù)降維裝置在執(zhí)行上述步驟103中的確定優(yōu)先序列組時(shí),不僅需要根據(jù)優(yōu)先關(guān)系圖中的第一類優(yōu)先關(guān)系,還需要根據(jù)上述步驟B4中建立的第一類優(yōu)先關(guān)系來(lái)確定多組優(yōu)先序列組。
[0129]可以理解的是,上述步驟A4到C4是先對(duì)優(yōu)先關(guān)系圖或優(yōu)化后優(yōu)先關(guān)系圖中一些屬于第二類優(yōu)先關(guān)系的數(shù)據(jù)之間進(jìn)行一定處理后,按照形成的新節(jié)點(diǎn)進(jìn)行的圖染色操作。
[0130]在其它具體的實(shí)施例中,高維數(shù)據(jù)降維裝置在執(zhí)行上述步驟104中的編碼操作時(shí),需要結(jié)合多個(gè)優(yōu)先序列組中的編碼來(lái)實(shí)現(xiàn),具體地:對(duì)于多組優(yōu)先序列組中的第一優(yōu)先序列組中相鄰的兩個(gè)數(shù)據(jù),在多組優(yōu)先序列組中除第一優(yōu)先序列組之外的其它優(yōu)先序列組中,如果這兩個(gè)數(shù)據(jù)不相鄰,且這兩個(gè)數(shù)據(jù)的優(yōu)先關(guān)系與其在第一優(yōu)先序列組中的相對(duì)排序順序相同,則這兩個(gè)數(shù)據(jù)在第一優(yōu)先序列組中的編碼相同;如果這兩個(gè)數(shù)據(jù)不相鄰,且這兩個(gè)數(shù)據(jù)的優(yōu)先關(guān)系與其在第一優(yōu)先序列組中的相對(duì)排序順序不同,則這兩個(gè)數(shù)據(jù)在第一優(yōu)先序列組中的編碼不同。
[0131]以下以一個(gè)具體的實(shí)施例來(lái)說(shuō)明本發(fā)明實(shí)施例的高維數(shù)據(jù)降維方法,在本實(shí)施例中,主要通過(guò)如下幾個(gè)步驟來(lái)實(shí)現(xiàn)高維數(shù)據(jù)的降維:
[0132](I)獲取優(yōu)先關(guān)系圖
[0133]本實(shí)施例中的高維數(shù)據(jù)對(duì)象為d維數(shù)據(jù)向量集合S = {al,a2,a3,…},其中al =〈al.d0, al.dl, al.d2,…,al.dd>, al.di為數(shù)據(jù)向量al的第i維數(shù)值,以下為了描述方便,將高維數(shù)據(jù)對(duì)象中的數(shù)據(jù)al.di記為a,b, c….。
[0134]首先用戶將偏好關(guān)系集合F= {fl,f2,-,fd}輸入到高維數(shù)據(jù)降維裝置中,其中包括d維數(shù)據(jù)關(guān)系信息,任意一維數(shù)據(jù)關(guān)系信息fi(i = 1,2,….,d)中都包括上述S中任意兩個(gè)數(shù)據(jù)之間的優(yōu)先關(guān)系信息,比如每一維數(shù)據(jù)關(guān)系信息都可以是一個(gè)優(yōu)先關(guān)系圖。
[0135]這樣高維數(shù)據(jù)降維裝置可以按照上述圖2或圖3a或圖3b所示的流程圖,確定該高維數(shù)據(jù)對(duì)象對(duì)應(yīng)的一個(gè)優(yōu)先關(guān)系圖,在此不進(jìn)行贅述。例如圖5a所示,圖中每一個(gè)節(jié)點(diǎn)表示高維數(shù)據(jù)對(duì)象中的一個(gè)數(shù)據(jù),兩個(gè)節(jié)點(diǎn)所表示的數(shù)據(jù)之間的第一類優(yōu)先關(guān)系通過(guò)在兩個(gè)節(jié)點(diǎn)之間的指向箭頭來(lái)表示,,比如圖中的數(shù)據(jù)a優(yōu)于數(shù)據(jù)b,b優(yōu)于g ;而兩個(gè)節(jié)點(diǎn)所表示的數(shù)據(jù)之間為第二類優(yōu)先關(guān)系,則在這兩個(gè)節(jié)點(diǎn)之間沒(méi)有指向箭頭,比如圖中的數(shù)據(jù)b與c之間的關(guān)系為b不優(yōu)于C,且c也不由于b。
[0136](2)優(yōu)先關(guān)系圖優(yōu)化
[0137]根據(jù)預(yù)置的策略將上述確定的優(yōu)先關(guān)系圖進(jìn)行優(yōu)化得到如圖5b所述的優(yōu)化后優(yōu)先關(guān)系圖,預(yù)置的策略包括:將父節(jié)點(diǎn)相同且子節(jié)點(diǎn)相同的多個(gè)節(jié)點(diǎn)合并為一個(gè)節(jié)點(diǎn),比如圖5a中的數(shù)據(jù)b和h,具有相同的父節(jié)點(diǎn)的數(shù)據(jù)a,且具有相同的子節(jié)點(diǎn)的數(shù)據(jù)g,則在圖5b中合并為一個(gè)節(jié)點(diǎn)的數(shù)據(jù)b ;
[0138]如果第一數(shù)據(jù)優(yōu)于第二數(shù)據(jù),且第二數(shù)據(jù)優(yōu)于第三數(shù)據(jù),則合并為第一數(shù)據(jù)優(yōu)于第三數(shù)據(jù),比如圖5a中的數(shù)據(jù)a優(yōu)于n,且h優(yōu)于e,則合并為圖5b中的數(shù)據(jù)a優(yōu)于e等。
[0139](3)圖染色操作
[0140]高維數(shù)據(jù)降維裝置按照上述圖4中所示的流程圖先在優(yōu)化后優(yōu)先關(guān)系圖中建立第一類優(yōu)先關(guān)系,然后再進(jìn)行圖染色操作。例如圖5c所示的數(shù)據(jù)對(duì)(d,a)和(d,b)等,在圖5b的優(yōu)化后優(yōu)先關(guān)系圖中屬于第二類優(yōu)先關(guān)系;如果在數(shù)據(jù)對(duì)(d,a)的兩個(gè)數(shù)據(jù)之間建立第一類優(yōu)先關(guān)系,即d優(yōu)于a,則根據(jù)圖5b中a優(yōu)于b,則d優(yōu)于b,這樣使得圖5c中的另一數(shù)據(jù)對(duì)(d,b)的兩個(gè)數(shù)據(jù)之間為第一類優(yōu)先關(guān)系,則高維數(shù)據(jù)降維裝置可以在建立第一類優(yōu)先關(guān)系的數(shù)據(jù)對(duì),與因建立該第一類優(yōu)先關(guān)系而導(dǎo)致具有第一類優(yōu)先關(guān)系的另一數(shù)據(jù)對(duì)之間建立對(duì)應(yīng)關(guān)系,比如圖5c中添加的指向箭頭來(lái)表示該對(duì)應(yīng)關(guān)系,比如在數(shù)據(jù)對(duì)(d, a)與(d, b)之間添加指向箭頭。
[0141]然后,再將建立了第一類優(yōu)先關(guān)系的數(shù)據(jù)對(duì),及未建立第一類優(yōu)先關(guān)系的數(shù)據(jù)對(duì)(圖5c中未連接有指向箭頭的數(shù)據(jù)對(duì))為節(jié)點(diǎn),且進(jìn)行圖染色操作,如圖5c中所示的,建立了第一類優(yōu)先關(guān)系的數(shù)據(jù)對(duì)包括(d,a)、(e, b)、(f,c)、(b,e)和(c, f),及未建立第一類優(yōu)先關(guān)系的數(shù)據(jù)對(duì)即(a,d),分別以這些數(shù)據(jù)對(duì)為節(jié)點(diǎn)得到需要進(jìn)行圖染色操作的節(jié)點(diǎn),如圖5d所示。其中,需要進(jìn)行圖染色操作的所有節(jié)點(diǎn)中,相鄰兩個(gè)節(jié)點(diǎn)的數(shù)據(jù)對(duì)的第一類優(yōu)先關(guān)系會(huì)使得在上述優(yōu)化后優(yōu)先關(guān)系圖(如圖5b所示)中的節(jié)點(diǎn)之間組成一個(gè)環(huán),比如如圖5d所示的相鄰的數(shù)據(jù)對(duì)(e,b)與(c,e),由于這兩