分布式支持向量聚類的方法及系統的制作方法
【專利摘要】本發明公開了一種分布式支持向量聚類的方法,包括:對輸入的數據集按照預定處理規則進行處理,并對全局參數及任務進行初始化;向各個計算節點分發預定數據集或特定計算結果;當計算節點分到預定數據集,則初始化所述預定數據集的權重向量,并按照預定公式進行迭代運算,計算出所述預定數據集中每個樣本的權重系數值;找到所述權重系數值大于預定極小值的樣本作為支持向量,并將所述支持向量進行編號;利用所述支持向量以及各支持向量的權重系數,構建支持函數,進行簇劃分,得到所述支持向量的簇標號,并標定非支持向量樣本作為聚類分析的結果;該方法能夠有效提高支持向量聚類的效率。
【專利說明】分布式支持向量聚類的方法及系統
【技術領域】
[0001] 本發明涉及數據處理【技術領域】,特別是涉及一種分布式支持向量聚類的方法及系 統。
【背景技術】
[0002] 聚類分析是通過某種相似測度去發現對象集合中存在緊密關系的觀測值簇,使得 簇內部的對象彼此之間的相似度盡可能地大,而不同簇類的對象之間的相似度盡可能地 小,甚至不同或不相關。
[0003] 目前對于聚類分析方法的優劣是通過有效性度量和實現性能即時間效率和存儲 效率進行。
[0004] 對于有效性來說支持向量聚類方法較好,其中,支持向量聚類是基于核函數方法 的一種,它通過使用核函數將數據從輸入空間映射到高維特征空間中,尋找一個具有最小 半徑R的超球體盡可能地包圍住所有訓練集樣本,再將該超球體逆向映射回輸入空間時, 原描述超球體的樣本正好形成能夠描述數據分布區域邊界的輪廓。相對于其他方法,支持 向量聚類的主要優勢體現在對任意簇形狀的發現和描述能力,且無需預設簇數量。但是該 方法最大的不足就是實現性能差,建立在整個訓練集上的核矩陣對存儲空間的巨大消耗, 和為求解描述超球體的支持函數時的昂貴時間代價。
[0005] 現有的對支持向量聚類分析方法效率提升的主要有1)轉換求解支持函數的對 偶問題,但其雖對計算效率有益卻對一次性建立核矩陣的規模降低沒有幫助;2)訓練集約 簡,但作為預處理階段的改進對于規模大或高維度(或二者兼具)的數據分析性能提升有 限,且容易引入更多的參數增加算法復雜度。因此這些方法都不能夠有效的提升支持向量 聚類分析方法效率。
[0006] 因此,如何有效提高支持向量聚類的效率,是本領域技術人員需要解決的技術問 題。
【發明內容】
[0007] 本發明的目的是提供一種分布式支持向量聚類的方法,該方法能夠有效的提高支 持向量聚類的存儲效率以及時間效率,本發明的另一目的是提供一種分布式支持向量聚類 的系統。
[0008] 為解決上述技術問題,本發明提供一種分布式支持向量聚類的方法包括:
[0009] 對輸入的數據集按照預定處理規則進行處理,并對全局參數及任務進行初始化; [0010]向各個計算節點分發預定數據集或特定計算結果;
[0011] 當計算節點分到預定數據集,則初始化所述預定數據集的權重向量,并按照預定 公式進行迭代運算,計算出所述預定數據集中每個樣本的權重系數值;
[0012] 找到所述權重系數值大于預定極小值的樣本作為支持向量,并將所述支持向量進 行編號;
[0013] 利用所述支持向量以及各支持向量的權重系數,構建支持函數,進行簇劃分,得到 所述支持向量的簇標號,并標定非支持向量的簇標號,作為整個數據集的聚類分析的結果。
[0014] 其中,所述對輸入的數據集按照預定處理規則進行處理,并對全局參數及任務進 行初始化包括:
[0015] 對輸入的數據集進行噪聲和/或非重要數據過濾;
[0016] 對處理后的所述數據集中每個樣本進行規范化處理,形成預定數據集;
[0017] 規定計算節點個數,并對全局參數及任務進行初始化。
[0018] 其中,所述初始化所述預定數據集的權重向量包括:
[0019] 設置當前任務編號,并初始化預定數據中每個樣本的權重系數,根據特定值序列 計算公式計算每個樣本相對應的特定值。
[0020] 其中,所述按照預定公式進行迭代運算,計算出所述預定數據集中每個樣本的權 重系數值包括:
[0021] 根據任務編號確定樣本任務,利用臨時值計算公式,計算所述樣本任務相對應的 樣本的臨時值;
[0022] 根據所述樣本的權重系數值所對應的范圍,利用參照值計算公式計算該樣本的參 照值;
[0023] 判斷所述參照值的絕對值是否等于預定極小值,當等于預定極小值時,該樣本任 務計算完成,增加任務編號,進行下一個樣本任務;
[0024] 當不等于預定極小值時,根據樣本權重更新公式更新該樣本的權重系數值,根據 任務編號進行樣本任務的計算。
[0025] 其中,所述利用所述支持向量以及各支持向量的權重系數之前還包括:
[0026] 對所述支持向量根據過濾條件進行過濾,其中,過濾條件包括:
[0027] 濾除所述支持向量中權重系數大于第一預定值和小于第二預定值的支持向量;
[0028] 對過濾后的支持向量的權重系數進行規范化操作。
[0029] 其中,所述標定非支持向量的簇標號包括:
[0030] 將非支持向量樣本的各個樣本標定為距離各樣本距離數值最小的支持向量對應 的簇標號。
[0031] 本發明提供一種支持向量聚類的系統包括:
[0032] 準備模塊,用于對輸入的數據集按照預定處理規則進行處理,并對全局參數及任 務進行初始化;
[0033] 分配模塊,用于向各個計算節點分發預定數據集或特定計算結果;
[0034] 計算模塊,用于當計算節點分到預定數據集,則初始化所述預定數據集的權重向 量,并按照預定公式進行迭代運算,計算出所述預定數據集中每個樣本的權重系數值; [0035] 查找模塊,用于找到所述權重系數值大于預定極小值的樣本作為支持向量,并將 所述支持向量進行編號;
[0036] 確定模塊,用于利用所述支持向量以及各支持向量的權重系數,構建支持函數,進 行簇劃分,得到所述支持向量的簇標號,并標定非支持向量的簇標號,作為整個數據集的聚 類分析的結果。
[0037] 其中,所述計算模塊包括:
[0038] 設置單元,用于當計算節點分到預定數據集,則初始化所述預定數據集的權重向 量;
[0039] 第一計算單元,用于根據特定值序列計算公式計算每個樣本相對應的特定值;
[0040] 第二計算單元,用于利用臨時值計算公式,計算所述樣本任務相對應的樣本的臨 時值;
[0041] 第三計算單元,用于根據所述樣本的權重系數值所對應的范圍,利用參照值計算 公式計算該樣本的參照值;
[0042] 判斷單元,用于判斷所述參照值的絕對值是否等于預定極小值;
[0043] 處理單元,用于當等于預定極小值時,該樣本任務計算完成,增加任務編號,進行 下一個樣本任務;當不等于預定極小值時,根據樣本權重更新公式更新該樣本的權重系數 值,根據任務編號進行樣本任務的計算。
[0044] 其中,所述的支持向量聚類的系統還包括:
[0045] 過濾模塊,用于對所述支持向量根據過濾條件進行過濾。
[0046] 其中,所述確定模塊包括:
[0047] 第一確定單元,用于利用所述支持向量以及各支持向量的權重系數,構建支持函 數,進行簇劃分,得到所述支持向量的簇標號;
[0048] 第二確定單元,用于將非支持向量樣本的各個樣本標定為距離各樣本距離數值最 小的支持向量對應的簇標號,作為整個數據集的支持向量聚類的結果。
[0049] 基于上述技術方案,本發明所提供的支持向量聚類的方法,對輸入的數據集按照 預定處理規則進行處理,并對全局參數及任務進行初始化;向各個計算節點分發預定數據 集或特定計算結果;當計算節點分到預定數據集,則初始化所述預定數據集的權重向量,并 按照預定公式進行迭代運算,計算出所述預定數據集中每個樣本的權重系數值;找到所述 權重系數值大于預定極小值的樣本作為支持向量,并將所述支持向量進行編號;利用所述 支持向量以及各支持向量的權重系數,構建支持函數,進行簇劃分,并標定所述支持向量對 應的簇標號,作為支持向量聚類的結果;通過構建支持函數而求解的對偶問題分解,避開一 次性核函數矩陣的構建對存儲空間的消耗,以提升算法的存儲效率,并將數據集樣本在支 持函數中的權重系數的評估過程并行化處理,以達到時間效率的顯著提升;并提升支持向 量聚類的方法在大規模、高維度數據分析方面的性能。該方法能夠有效提高支持向量聚類 的效率。
【專利附圖】
【附圖說明】
[0050] 為了更清楚的說明本發明實施例或現有技術的技術方案,下面將對實施例或現有 技術描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發 明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根 據這些附圖獲得其他的附圖。
[0051] 圖1為本發明實施例提供的分布式支持向量聚類方法的流程圖;
[0052] 圖2為本發明實施例提供的計算樣本權重系數的方法的流程圖;
[0053] 圖3為本發明實施例提供的支持向量聚類的系統的結構框圖;
[0054] 圖4為本發明實施例提供的計算模塊的結構框圖;
[0055] 圖5為本發明實施例提供的另一支持向量聚類的系統的結構框圖。
【具體實施方式】
[0056] 本發明的目的是提供一種分布式支持向量聚類的方法,該方法能夠有效的提高支 持向量聚類方法的存儲效率以及時間效率,本發明的另一目的是提供一種支持向量聚類的 系統。
[0057] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0058] 本發明將支持向量聚類中存儲空間消耗巨大、計算復雜度較高且耗時的對偶問題 模型,從經典的非線性問題模型轉換為線性的支持向量機模型,結合最新的對偶坐標下降 法原理,將原本需要一次性構造完整的核函數矩陣或分塊順序處理的對偶問題求解過程做 并行化處理,形成可直接完成超大規模、高維數據分析以提取支持函數的、簡潔的、快速的 分布式處理形式。具體過程可參見圖1。
[0059] 請參考圖1,圖1為本發明實施例提供的支持向量聚類的方法的流程圖;該方法可 以包括:
[0060] 步驟SlOO、對輸入的數據集按照預定處理規則進行處理,并對全局參數及任務進 行初始化;
[0061] 其中,該過程可以包括:預處理階段,通過對噪聲或非重要數據過濾、規范化處理 等;來達到提商處理效率。
[0062] 全局參數及任務初始化階段,通過對支持向量聚類過程中所需的樣本數、計算節 點數、分配數量向量、核函數及懲罰因子等進行全局初始化設置;方便后續計算過程的使 用。將可能會消耗時間的過程都盡可能的進行處理。
[0063] 其中,對輸入的數據集中每個樣本視為行、每個屬性視為列,進行基本的規范化處 理,以使數據取值范圍位于任務期望范圍內。
[0064] 其中,在進行規范化處理時,通常將數據集中每個樣本視為行、每個屬性視為列, 然后按照橫向(行)或縱向(列)進行規范化處理。處理后的數據取值范圍應視具體任務 而定,通常建議為[-1,1]或[0, 1]之間;如果原值域范圍較大,且取值分布較為均勻,則應 考慮聚類算法對精度的要求,適當擴大規范后的值域范圍。
[0065] 其中,全局參數可以包括:預定數據集樣本數L ;分布式計算框架下的計算節點數 N,其中N彡1 ;分配數量向量\ = [L1,...,Ln],其中LiQ e [1,N])為需要第i個計算節 點完成的計算任務數,即需要計算的權重系數個數;核函數寬度q和懲罰因子C ;其中,對于 核函數寬度q和懲罰因子C。該兩個參數為經典支持向量聚類模型中所需的參數,在用支持 向量樣本來描述簇輪廓時,前者將決定輪廓的平滑程度,后者將決定輪廓的收縮與擴張。 [0066] 其中,濾除數據中存在噪聲或非重要的數據,以便保留下來的數據具有相對清晰 的簇輪廓,并使參數初始化工作變得更加容易。但是,如果待分析的數據維度較高,則通常 存在濾除效果不明顯,此時建議調整懲罰因子C來解決或者為預處理增加必要的降維映射 操作,如主成分提取等。此外,本發明并不對噪聲數據或非重要數據進行明確界定,它們與 具體的應用和數據的分布有關,通常是那些位于清晰簇輪廓之外的部分稀疏且與多個簇沒 有明確隸屬關系的數據樣本。
[0067] 步驟SllO、向各個計算節點分發預定數據集或特定計算結果;
[0068] 其中,分發數據或特定計算結果階段,通過向計算節點分發數據集或特定中間結 果,并按照數據配比通知每個計算節點待分析的預定數據集中樣本數量;即使得每個計算 節點有預定個數個樣本需要進行處理。
[0069] 其中,這些計算節點可以位于一個處理器內,也可以位于多個處理器中。例如處理 器可以為計算機中。
[0070] 其中,如果計算節點收到的是預定數據集,則根據任務指示自行計算所需中間結 果并存儲為本地常量,收到的是特定計算結果只需存儲該中間結果以后續計算之用。
[0071] 步驟S120、當計算節點分到預定數據集,則初始化所述預定數據集的權重向量,并 按照預定公式進行迭代運算,計算出所述預定數據集中每個樣本的權重系數值;
[0072] 其中,當計算節點分到預定數據集,則初始化所述預定數據集的權重向量可以有 兩種形式,當所述預定數據集為整個數據集時,將上述設置的全局參數、任務等分發給所 有的計算節點,在要求計算節點根據所接收到的數據、參數及任務分配信息,并結合自身 的節點編號在本地完成初始化L個樣本的權重系數a :,...,,然后計算特定值序列 ...,di,并按照分配數量向量'的要求將特定值序列分組分發給每個計算節點,即第 i個節點將得到腳標范圍從E= L + 1.到IX11L + U的子序列值。這里,特定值序列 (?,…s 的計算公式為 G,廠二 2 "r/((>cr, x"),其中 K (xv,xu) = exp (_q I I Xv-Xu I 12)。 得到并存儲么.....G/.,;然后將計算節點為待分析樣本子集初始化權重系數,且復制一份 作為本地常量存儲,然后設置當前任務編號。
[0073] 當所述預定數據集不為整個數據集時,初始化L個樣本的權重系數Ci1, ...,c^, 然后計算特定值序列,并按照分配數量向量 '的要求將特定值序列分組分發給 每個計算節點,即第i個節點將得到腳標范圍從CI11 " T I到" +心的子序列值。 這里,特定值序列(J1,..., ^的計算公式為氣=2[^*=1 CitlIf (XwsXlj),其中K(XV, Xu)= exp (_q I I Xv-Xu I 12),第i個計算節點根據自身任務數的要求為待分析的L個樣本的權重系 數a i,...,且可以復制一份作為本地常量存儲,最后可以設置當前任務編號。
[0074] 其中,按照預定公式進行迭代運算這里可能會進行多輪迭代,計算出所述預定數 據集中每個樣本的權重系數值。
[0075] 步驟S130、找到所述權重系數值大于預定極小值的樣本作為支持向量,并將所述 支持向量進行編號;
[0076] 其中,所述預定極小值應根據計算機的精度或具體應用需要合理選擇一個大于0 的極小值作為替代。例如可以根據實際情況將數值〇替換為一個大于〇的極小值G,也可 使用與整個數據規模L成反比關系的一個較小值I來替換,例如取C =MTfc1I
[0077] 步驟S140、利用所述支持向量以及各支持向量的權重系數,構建支持函數,進行簇 劃分,得到所述支持向量的簇標號,并標定非支持向量的簇標號,作為整個數據集的聚類分 析的結果。
[0078] 其中,1)支持函數的構造可以利用Ns個支持向量樣本和對應的權重系數,構造支 持函數并計算得到最小包含球的半徑,公式如下:
【權利要求】
1. 一種分布式支持向量聚類的方法,其特征在于,包括: 對輸入的數據集按照預定處理規則進行處理,并對全局參數及任務進行初始化; 向各個計算節點分發預定數據集或特定計算結果; 當計算節點分到預定數據集,則初始化所述預定數據集的權重向量,并按照預定公式 進行迭代運算,計算出所述預定數據集中每個樣本的權重系數值; 找到所述權重系數值大于預定極小值的樣本作為支持向量,并將所述支持向量進行編 號; 利用所述支持向量以及各支持向量的權重系數,構建支持函數,進行簇劃分,得到所述 支持向量的簇標號,并標定非支持向量的簇標號,作為整個數據集的聚類分析的結果。
2. 如權利要求1所述的分布式支持向量聚類的方法,其特征在于,所述對輸入的數據 集按照預定處理規則進行處理,并對全局參數及任務進行初始化包括: 對輸入的數據集進行噪聲和/或非重要數據過濾; 對處理后的所述數據集中每個樣本進行規范化處理,形成預定數據集; 規定計算節點個數,并對全局參數及任務進行初始化。
3. 如權利要求1所述的分布式支持向量聚類的方法,其特征在于,所述初始化所述預 定數據集的權重向量包括: 設置當前任務編號,并初始化預定數據中每個樣本的權重系數,根據特定值序列計算 公式計算每個樣本相對應的特定值。
4. 如權利要求1所述的分布式支持向量聚類的方法,其特征在于,所述按照預定公式 進行迭代運算,計算出所述預定數據集中每個樣本的權重系數值包括: 根據任務編號確定樣本任務,利用臨時值計算公式,計算所述樣本任務相對應的樣本 的臨時值; 根據所述樣本的權重系數值所對應的范圍,利用參照值計算公式計算該樣本的參照 值; 判斷所述參照值的絕對值是否等于預定極小值,當等于預定極小值時,該樣本任務計 算完成,增加任務編號,進行下一個樣本任務; 當不等于預定極小值時,根據樣本權重更新公式更新該樣本的權重系數值,根據任務 編號進行樣本任務的計算。
5. 如權利要求1所述的分布式支持向量聚類的方法,其特征在于,所述利用所述支持 向量以及各支持向量的權重系數之前還包括: 對所述支持向量根據過濾條件進行過濾,其中,過濾條件包括: 濾除所述支持向量中權重系數大于第一預定值和小于第二預定值的支持向量; 對過濾后的支持向量的權重系數進行規范化操作。
6. 如權利要求1所述的分布式支持向量聚類的方法,其特征在于,所述標定非支持向 量的簇標號包括: 將非支持向量樣本的各個樣本標定為距離各樣本距離數值最小的支持向量對應的簇 標號。
7. -種分布式支持向量聚類的系統,其特征在于,包括: 準備模塊,用于對輸入的數據集按照預定處理規則進行處理,并對全局參數及任務進 行初始化; 分配模塊,用于向各個計算節點分發預定數據集或特定計算結果; 計算模塊,用于當計算節點分到預定數據集,則初始化所述預定數據集的權重向量,并 按照預定公式進行迭代運算,計算出所述預定數據集中每個樣本的權重系數值; 查找模塊,用于找到所述權重系數值大于預定極小值的樣本作為支持向量,并將所述 支持向量進行編號; 確定模塊,用于利用所述支持向量以及各支持向量的權重系數,構建支持函數,進行簇 劃分,得到所述支持向量的簇標號,并標定非支持向量的簇標號,作為整個數據集的聚類分 析的結果。
8. 如權利要求7所述的分布式支持向量聚類的系統,其特征在于,所述計算模塊包括: 設置單元,用于當計算節點分到預定數據集,則初始化所述預定數據集的權重向量; 第一計算單元,用于根據特定值序列計算公式計算每個樣本相對應的特定值; 第二計算單元,用于利用臨時值計算公式,計算所述樣本任務相對應的樣本的臨時 值; 第三計算單元,用于根據所述樣本的權重系數值所對應的范圍,利用參照值計算公式 計算該樣本的參照值; 判斷單元,用于判斷所述參照值的絕對值是否等于預定極小值; 處理單元,用于當等于預定極小值時,該樣本任務計算完成,增加任務編號,進行下一 個樣本任務;當不等于預定極小值時,根據樣本權重更新公式更新該樣本的權重系數值,根 據任務編號進行樣本任務的計算。
9. 如權利要求7所述的分布式支持向量聚類的系統,其特征在于,還包括: 過濾模塊,用于對所述支持向量根據過濾條件進行過濾。
10. 如權利要求7所述的分布式支持向量聚類的系統,其特征在于,所述確定模塊包 括: 第一確定單元,用于利用所述支持向量以及各支持向量的權重系數,構建支持函數,進 行簇劃分,得到所述支持向量的簇標號; 第二確定單元,用于將非支持向量樣本的各個樣本標定為距離各樣本距離數值最小的 支持向量對應的簇標號,作為整個數據集的支持向量聚類的結果。
【文檔編號】G06F17/30GK104408206SQ201410815788
【公開日】2015年3月11日 申請日期:2014年12月23日 優先權日:2014年12月23日
【發明者】平源, 李慧娜, 張志立, 張永, 楊月華, 馬慧 申請人:許昌學院