DWDLarge: a MATLAB software for large scale distance weighted discrimination.
Xin-Yee Lam, J. S. Marron, Defeng Sun, Kim-Chuan Toh
corresponding author: Kim-Chuan Toh, email: mattohkc@nus.edu.sg
The software was last updated in 30 Jul 2017.
This software package is for solving the distance weighted discrimination problem of the following form:
\(\begin{eqnarray*}
\begin{array}{rl}
\mbox{(P)} \quad \min & \sum_{j=1}^n \frac{1}{r_j^q} + C \langle e,\,\xi \rangle
\\[5pt]
{\rm s.t.} & r = Z^T w + \beta y + \xi, \; r > 0,\; \xi \geq 0,\; \|w\|\leq 1
\\[5pt]
w\in\mathbb{R}^d,\;r, x \in\mathbb{R}^n,\;\beta\in\mathbb{R}
\end{array}
\end{eqnarray*}
\)
where \(n\) is the sample size, \(d\) is the feature dimension, and \(C\) is the penalty parameter. Here, the input is a matrix \(X\) whose columns are the feature vectors, and \(y\) is anĀ \(n\)-vector containing binary classification label \(\{-1,1\}\) . The notation \(Z\) is defined to be \(Z:=X{\rm diag}(y)\).
The main algorithm for solving (P) is a symmetric Gauss-Seidel based ADMM method. It will output the result
\(r,\xi,w,\beta\) for which \(w^Tx+\beta = 0\) is a hyperplane separating the two classes of data and \(\xi\)
is a slack variable to allow the possibility that the positive and negative data points may not be separated cleanly by the hyperplane.
Important note:
- The software is still under development. Thus it will invariably be buggy. We would appreciate your feedback and bugs’ report to the corresponding author: Kim-Chuan Toh, email: mattohkc@nus.edu.sg.
- This is a research software. It is not intended nor designed to be a general purpose software at the moment.
Citation:
Lam, X.Y., Marron, J.S., Sun, D.F., and Toh, K.C. (2018), Fast algorithms for large scale generalized distance weighted discrimination, Journal of Computational and Graphical Statistics, 27(2), 368-379.
- Copyright: This version of DWDLarge is distributed under the GNU General Public License 2.0. For commercial applications that may be incompatible with this license, please contact the authors to discuss alternatives.
Download:
You can download the package here: DWDLarge.zip
User’s guide is included in the package. Below are some basic setup guide:
- Unpack the software
>> unzip DWDLarge.zip
- The software requires a few mex-files that you may need to compile in MATLAB. To do so, run MATLAB in the directory “DWDLarge”, then type:
>> Installmex_DWD
- After that, to see whether you have installed the software correctly, type the following in MATLAB:
>> DWDdemo
- By now, the DWDLarge package should be ready for use.