Bundle methods for minimization of convex and non-convex risk under L1 or L2 regularization. Implements the algorithm proposed by Teo et al. (JMLR 2010) as well as the extension proposed by Do and Artieres (JMLR 2012). The package comes with lot of loss functions for machine learning which make it powerful for big data analysis. The applications includes: structured prediction, linear SVM, multi-class SVM, f-beta optimization, ROC optimization, ordinal regression, quantile regression, epsilon insensitive regression, least mean square, logistic regression, least absolute deviation regression (see package examples), etc... all with L1 and L2 regularization.

Release 3.4 (11 Jul, 2017)

```
* Replace bmrm() method by a new simplified implementation nrbmL1()
* Change loss function interface: now return the given estimation point with
attributes `lvalue` and `gradient` set. This change allow nrbm() to return
typed values.
* Adapt all loss functions to the new interface
* Add predict() methods to all loss functions
* Add machine learing helper functions `balanced.cv.fold()` and `roc.stat()`
Release 3.2 (18 Apr, 2017)
```

- Implement Linear Programmed version of SVM and multi-class-SVM with L1 regularization
- Add ontologyLoss for class prediction problem that belong to an ontology structure
- Add loss.weights argument to several loss functions to allow putting weights on each instance

Release 3.0 (13 Jan, 2015)

```
* Change loss function structure to now return the 1-arg function to optimize.
This simplify overall code structure and make it more natural. For example,
no more cache paramter is needed in the loss function.
* Replace kernlab package by LowRankQP package to solve quadratic problems. This
change fix a frequent bug in case of singular matrix
* Replace clpAPI package by lpSolve package to solve linear programs. This new
package is much easier to install
* Implement NRBM algorithm of Do and Artieres (JMLR 2012) for non convex risk
minimization
Release 1.9 (2 Jun, 2014)
```

- Fix an issue in costMatrix and ordinalRegressionLoss in case of missing labels
- Replace internal S4 Solver object with a simpler environment

Release 1.8 (10 Feb, 2014)

```
* Change code structure to improve memory footprint.
* Fix multiple issues with L2 regularization.
* bmrm() now use L1 regularization by default.
Release 1.7 (28 Jan, 2014)
```

- The hingeLoss function (for SVM learning) gain a loss.weights paramter to handle unbalanced class distribution
- Better handling of optimization parameter w0 in bmrm for hot starting the optimization process

Release 1.6 (4 Sept, 2013)

```
* Important fix in fbetaLoss: previous version was not correct and often lead to unsolvable optimization problem.
* Improve memory footprint of L1 regularizer
Release 1.5 (24 July, 2013)
```

- Rename mlsRegressionLoss into lmsRegressionLoss
- Implement new scalar losses: epsilonInsensitiveRegressionLoss, ladRegressionLoss, logisticRegression
- Write a vignette for the package
- Minor imrovment: Improve error messages
- Minor imrovment: split the source code "scalarLoss.R" in 2 files "scalarClassificationLosses.R" and "scalarRegressionLosses.R"

Release 1.4 (19 July, 2013)

```
* Minor improvment: track the number of none zero element, and number of constraints in bmrm log.
* Minor improvment: improve package description.
```