## 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.