摘 要:本文通過對L2正則化邏輯回歸進行分析,使用隨機梯度下降(SGD)和限制內存擬牛頓法(L-BFGS)來求解回歸參數使得條件對數似然函數最大。在手寫數字圖像數據集USPS-N和HTML網頁數據集上的兩分類結果表明,隨機梯度下降求解方法在兩數據集上有較高的測試錯誤率。因此,在設計L2正則化邏輯回歸求解方法時,可使用限制內存擬牛頓法作為缺省求解方法。
關鍵詞:邏輯回歸;隨機梯度下降法;限制內存擬牛頓法
中圖分類號:TP302.2 文獻標識碼:A 文章編號:2096-4706(2018)03-0016-02
Design of Logical Regression Solving Based on L2 Regularization
HUANG Xiongpeng
(School of International Education,Guizhou Normal University,Guiyang 550001,China)
Abstract:By analyzing the L2 regularized logistic regression,this paper uses random gradient descent (SGD) and limited memory quasi Newton method (L-BFGS) to solve the regression parameter to make the maximum of the conditional log likelihood function. The two classification results on the handwritten digital image data set USPS-N and the HTML web data set show that the random gradient descent method has a higher test error rate on the two data set. Therefore,when designing L2 regularized logistic regression method,the restricted memory quasi Newton method can be used as the default solution.
Keywords:logical regression;stochastic gradient descent method;restricted memory quasi Newton method
0 引 言
機器學習(Machine Learning,ML)是人工智能(Artificial Intelligence,AI)的分支,它是以數據為學習對象,通過對數據的分析開發出數據的模型,從而發現數據中的知識以協助分析、理解以及預測未知的新數據。ML方法已經被成功應用于解決各種現實問題,如對微軟Kinect傳感器進行對象檢測[1]、光伏電力輸出預測[2]等。
邏輯回歸是一種實數值輸入、二值(伯努利)輸出的機器學習算法。例如,在棒球運動中,可以通過(擊球率、高度、重量)統計量集合來判斷棒球員是否擊中。顯然,(擊球率、高度、重量)統計量集合構成了實數輸入,棒球運動員某一次是否擊中是二值輸出(1表示擊中,0表示未擊中),棒球運動員是否擊中的概率可使用邏輯回歸來刻畫。
本文通過比較隨機梯度下降(Stochastic Gradient Descent,SGD)和限制內存擬牛頓(Limited-memory Broyden-Fletcher-Goldfarb-Shannon,L-BFGS)兩種基于梯度的優化方法分析邏輯回歸的分類性能。
1 算法設計和分析
本研究給出SGD和L-BFGS兩種方法對條件對數似然函數最大化進行求解的算法設計和分析。簡而言之,SGD方法通過引入固定學習率λ控制在對數似然函數上的變化。為了進一步控制過擬合,可通過使用邏輯回歸函數獲得隨機子集大小為γ的目標函數值變化。此外,當目標函數值變化小于ω時收斂。在L-BFGS方法設計中,本研究直接使用minFunc軟件包在目標函數Eq.5和梯度函數Eq.4上進行求解。
對于每一個算法,本研究使用n個樣本數據集 表示輸入訓練數據,其中每一個樣本xi為d維實值向量。每一個樣本xi通過一個長度為d+1的參數向量β與二值結果變量yi建立關系,假設所建立的關系由下面模型確定:
(1)
其中,xij=0,i=1,2,…,n。
1.1 SGD方法
在對SGD方法進行實現時,本研究首先對輸入樣本進行隨機排序以避免多次隨機數的重復計算,此外,選擇部分訓練樣本 來檢查目標函數的收斂情況。其次,從訓練樣本中依次取出大小為k((2)
其中,常數μ用于平衡最大似然函數和最小L2正則化參數值。
參數向量β每次更新后,可以通過式(3)計算目標函數在樣本子集上的絕對改變 :
(3)
其中,‖β‖2是參數向量范數。
一旦目標函數值的改變量小于給定的ω,則SGD方法將收斂。可以看出,SGD方法每次迭代的時間復雜度是O(kd+γd),因此,當參數k和d被選定時,SGD方法時間復雜度能充分小于O(nd),這特別適用于大規模數據。如果訓練樣本足夠小至每次迭代都能進行,本研究可以設定k=γ=n得到SGD的運行時間為O(nd)。
1.2 L-BFGS方法
L-BFGS是一種求解局部極值的擬牛頓優化方法,該方法使用一階導數秩一更新二階導數的Hessian矩陣,并使用上述梯度數據以保證在一階0值梯度超參數集上收斂。與文獻[3]類似,本文進行L-BFGS實驗時使用了L-BFGS經典的Matlab實現minFunc,其中目標函數和梯度函數如下:
(4)
(5)
參數向量β初始化為0向量。同SGD方法一樣,一旦目標函數值的改變量小于給定的ω,L-BFGS方法將收斂。
2 實驗設計
參照文獻[3],本研究使用Web和USPS-N數據集來驗證所設計的邏輯回歸方法SGD和L-BFGS。對于USPS-N數據集,本研究使用數字9對其它數字構造了兩分類數據集,將所有特征標準化到集合[0,1],所有類標記轉化為0或1。對于兩實驗數據集,隨機選取30%作為驗證集,剩余70%用于10重交叉驗證,SGD方法中參數λ,k,γ,μ和L-BFGS方法中參數μ通過在參數空間{10-4,10-3,10-2,10-1,100,101,102,103}中使用網格搜索方法進行選取。由于實驗所用數據集樣本數小,因此本研究設置參數k=γ=n以保證SGD方法收斂,但為了限制SGD方法重復進行10重交叉驗證所需時間,實驗中我們將n取為103。與文獻[3]一致,我們將收斂標準ω取為10-4。由于L-BFGS方法使用目標函數梯度自動更新參數λ,因此本研究使用minFunc函數中的缺省初始化參數λ0=1。兩種方法在兩實驗數據集上的參數設置情況見表1。
3 實驗結果
為了更好地比較本文實驗結果,本文所有實驗是在Intel Core I5-4200M 2.5GHz,8G內存,Windows7,64位,PyCharm4.0.6環境下完成。圖1和表2給出了使用SGD方法和L-BFGS方法在兩數據集上10次求解L2正則化邏輯回歸所得測試錯誤百分比平均值和方差。從圖1和表2的實驗結果可以看出,SGD方法較L-BFGS方法有更高的測試錯誤百分比。事實上,由于SGD方法每次僅僅在一個隨機樣本子集上更新參數,即使SGD方法安裝收斂條件收斂,但其目標函數或許未達到局部最小解。然而,L-BFGS方法是在整個訓練數據上更新參數,因此,該方法更能比SGD方法獲得局部最小解。
4 結 論
本文通過使用SGD和L-BFGS方法對L2正則化邏輯回歸進行算法設計,使用Python集成開發環境PyCharm 4.0.6對所設計的算法進行實驗,在手寫數字圖像數據集USPS-N和HTML網頁數據集上的兩分類結果表明,隨機梯度下降求解方法在兩數據集上有較高的測試錯誤率。
參考文獻:
[1] JANOCH A,KARAYEV S,Yangqing Jia,et al.A category-level 3-d object dataset: putting the kinect to work [C],2011-06-15,S.l.:s.n.,2011:1168-1174.
[2] PEDRO HTC,COIMBRA CFM. Assessment of forecasting techniques for solar power production with no exogenous inputs [J].Solar Energy,2012,86(7):2017-2028.
[3] Ding N,Vishwanathan SVN.t-Logistic regression [C].Advances in Neural Information Processing Systems,2010: 514-522.
[4] Schmidt M. minFunc:unconstrained differentiable multivariate optimization in Matlab [J]. Software available at http://www.cs.ubc.ca/~schmidtm/Software/minFunc.html,2005.
作者簡介:黃雄鵬(1994-),男,侗族,貴州余慶人。研究方向:計算機科學與技術。