一種異構系統(tǒng)的并行邏輯回歸方法與系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明涉及機器學習領域,特別是涉及一種異構系統(tǒng)的并行邏輯回歸方法與系 統(tǒng)。
【背景技術】
[0002] 邏輯回歸(Logistic Regression,簡稱LR)是機器學習中十分常用的一種分類算 法,在互聯網領域得到了廣泛的應用,無論是在廣告系統(tǒng)中進行CTR預估,推薦系統(tǒng)中的預 估轉換率或是反垃圾系統(tǒng)中的識別垃圾內容等都可以看到它的身影。LR以其簡單的原理和 應用的普適性受到了廣大應用者的青睞。
[0003] 在LR模型中,通過特征權重向量對特征向量的不同維度上的取值進行加權,并用 邏輯函數將其壓縮到〇~1的范圍,作為該樣本為正樣本的概率。邏輯函數曲線如圖1所示, 給定M個訓練樣本(Xi,yi),(X2,y2). . . (Xmjm),其中Xj = {xji I i = l,2. . .N}為N維的特征向 量;yj為分類標簽,取值為+1或_1,+1表示樣本為正樣本,-1表示樣本為負樣本。在LR模型 中,第j個樣本為正樣本的概率是:
[0005] 其中1是~維的特征權重向量,也就是LR問題中要求解的模型參數。
[0006] 求解LR問題,就是尋找一個合適的特征權重向量W,使得對于訓練集里面的正樣 本,P(y」= l |W,Xj)值盡量大;對于訓練集里面的負樣本,這個值盡量小,或P(yj = _l |W,Xj) 盡量大。用聯合概率來表示為求解:
[0008]對上式求log并取負號,則等價于:
[0010]公式(1)就是LR求解的目標函數,尋找合適的W令目標函數f (W)最小,是一個無約 束最優(yōu)化問題,解決這個問題的通用做法是隨機給定一個初始的Wo,通過迭代,在每次迭代 中計算目標函數的下降方向并更新W,直到目標函數穩(wěn)定在最小的點,迭代流程如圖2所示。
[0011] 不同的優(yōu)化算法的區(qū)別就在于目標函數下降方向Dt的計算,然而在實際情況中, 需要利用大規(guī)模樣本數據進行訓練,對大規(guī)模樣本求解目標函數下降方向Dt,要處理的數 據量巨大,直接利用單機對各樣本直接進行Dt求解,求解效率低下。
【發(fā)明內容】
[0012] 有鑒于此,本發(fā)明的主要目的在于提供一種異構系統(tǒng)的并行邏輯回歸方法與系 統(tǒng),可以高效地進行大規(guī)模樣本的LR問題求解。
[0013] 為實現上述目的,本發(fā)明提供了一種異構系統(tǒng)的并行邏輯回歸方法,包括:
[0014] 獲取邏輯回歸模型的目標函數;
[0015] 并行計算所述目標函數的梯度;
[0016] 根據計算結果確定目標特征權重向量;
[0017] 所述并行計算所述目標函數的梯度包括:
[0018] 將訓練集中M個樣本的分類標簽構成一個M維的標簽向量,將M個N維特征向量構成 一個M*N的樣本矩陣,獲取 mRn列的計算節(jié)點,將所述標簽向量和樣本矩陣按行劃分,為每 個計算節(jié)點分配M/m個特征向量和分類標簽,將樣本矩陣和N維的當前特征權重向量按列劃 分,為每個計算節(jié)點分配N/n維特征向量和當前特征權重向量;
[0019] 令各計算節(jié)點分別進行特征權重向量按列劃分的對應分量和特征向量按列劃分 的對應分量的點乘,對行號相同的計算節(jié)點的計算結果進行并歸,分別得到每行的當前特 征權重向量和對應特征向量的點乘結果,將各所述點乘結果返回到每行對應的計算節(jié)點 中;
[0020] 令各計算節(jié)點分別根據各所述點乘結果和標簽向量按行劃分的對應分量計算所 述目標函數梯度的中間標量,并分別將各所述中間標量和特征向量按行劃分的對應分量相 乘,對列號相同的計算節(jié)點的計算結果進行并歸,分別得到梯度向量每列的分量;
[0021] 將所述梯度向量每列的分量進行合并得到目標函數的梯度。
[0022] 優(yōu)選地,所述邏輯回歸模型的目標函數為:
[0023]
1W為N維的當前特征權重向量,Xj為N維的樣本特 征向量,yj為分類標簽。
[0024] 優(yōu)選地,所述目標函數的梯度為Gt,
[0025] 優(yōu)選地,根據計算結果確定目標特征權重向量包括:
[0026] 步驟A:令迭代次數為0,確定迭代次數為0時的初始權重特征向量W0;
[0027] 步驟B:令迭代次數值加1,根據當前權重特征向量并行計算所述目標函數的梯度, 根據所述梯度計算搜索方向值,根據所述搜索方向值更新當前權重特征向量;
[0028] 步驟C:判斷所述梯度值是否滿足預設迭代停止條件,如果是,則進入步驟D,否則 返回步驟B;
[0029] 步驟D:將當前特征權重向量確定為目標特征權重向量。
[0030] 本發(fā)明還提供了一種異構系統(tǒng)的并行邏輯回歸系統(tǒng),包括:
[0031] 目標函數確定模塊,用于獲取邏輯回歸模型的目標函數;
[0032] 并行計算模塊,用于并行計算所述目標函數的梯度;
[0033] 目標特征權重向量確定模塊,用于根據計算結果確定目標特征權重向量;
[0034] 所述并行計算模塊包括:
[0035] 計算節(jié)點分配子模塊,用于將訓練集中M個樣本的分類標簽構成一個M維的標簽向 量,將M個N維特征向量構成一個M*N的樣本矩陣,獲取m行η列的計算節(jié)點,將所述標簽向量 和樣本矩陣按行劃分,為每個計算節(jié)點分配M/m個特征向量和分類標簽,將樣本矩陣和N維 的當前特征權重向量按列劃分,為每個計算節(jié)點分配N/n維特征向量和當前特征權重向量;
[0036] 行并行計算子模塊,用于令各計算節(jié)點分別進行特征權重向量按列劃分的對應分 量和特征向量按列劃分的對應分量的點乘,對行號相同的計算節(jié)點的計算結果進行并歸, 分別得到每行的當前特征權重向量和對應特征向量的點乘結果,將各所述點乘結果返回到 每行對應的計算節(jié)點中;
[0037]列并行計算子模塊,用于令各計算節(jié)點分別根據各所述點乘結果和標簽向量按行 劃分的對應分量計算所述目標函數梯度的中間標量,并分別將各所述中間標量和特征向量 按行劃分的對應分量相乘,對列號相同的計算節(jié)點的計算結果進行并歸,分別得到梯度向 量每列的分量;
[0038]合并子模塊,用于將所述梯度向量每列的分量進行合并得到目標函數的梯度。 [0039]優(yōu)選地,所述邏輯回歸模型的目標函數為:
[0040]
,WSN維的當前特征權重向量,Xj為N維的樣本特征 向量,yj為分類標簽。
[0041] 優(yōu)選地,所述目標函數的梯度為Gt,
[0042] 應用本發(fā)明提供的一種異構系統(tǒng)的并行邏輯回歸方法與系統(tǒng),將邏輯回歸模型的 目標函數的梯度計算通過并行化的方式計算得到,將計算梯度使用的樣本的特征向量構成 樣本矩陣,分類標簽構成標簽向量,將樣本矩陣、標簽向量和特征權重向量分別進行劃分, 劃分后分配到批量的計算節(jié)點上分別計算再將結果并歸得到大量樣本的梯度值,從而根據 并行計算得到的梯度確定目標特征權重向量,完成LR問題的求解,可以利用批量的計算節(jié) 點高效地進行大規(guī)模樣本的LR問題的并行求解。
【附圖說明】
[0043]為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據 提供的附圖獲得其他的附圖。
[0044]圖1為LR模型中邏輯函數的曲線圖;
[0045]圖2為LR模型的迭代求解方法流程圖;
[0046] 圖3為本發(fā)明一種異構系統(tǒng)的并行邏輯回歸方法實施例一的流程圖;
[0047] 圖4為本發(fā)明一種異構系統(tǒng)的并行邏輯回歸方法實施例一的詳細流程圖