cc.mallet.optimize
Class OrthantWiseLimitedMemoryBFGS

java.lang.Object
  extended by cc.mallet.optimize.OrthantWiseLimitedMemoryBFGS
All Implemented Interfaces:
Optimizer

public class OrthantWiseLimitedMemoryBFGS
extends java.lang.Object
implements Optimizer

Implementation of orthant-wise limited memory quasi Newton method for optimizing convex L1-regularized objectives. See: "Scalable training of l1-regularized log-linear models" by Galen Andrew and Jianfeng Gao in ICML 2007 for details. This code is an adaptation of the freely-available C++ code on Galen's webpage.

Author:
Kedar Bellare

Nested Class Summary
 
Nested classes/interfaces inherited from interface cc.mallet.optimize.Optimizer
Optimizer.ByBatches
 
Constructor Summary
OrthantWiseLimitedMemoryBFGS(Optimizable.ByGradientValue function)
           
OrthantWiseLimitedMemoryBFGS(Optimizable.ByGradientValue function, double l1wt)
           
 
Method Summary
 int getIteration()
           
 Optimizable getOptimizable()
           
 boolean isConverged()
           
 boolean optimize()
           
 boolean optimize(int numIterations)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OrthantWiseLimitedMemoryBFGS

public OrthantWiseLimitedMemoryBFGS(Optimizable.ByGradientValue function)

OrthantWiseLimitedMemoryBFGS

public OrthantWiseLimitedMemoryBFGS(Optimizable.ByGradientValue function,
                                    double l1wt)
Method Detail

getOptimizable

public Optimizable getOptimizable()
Specified by:
getOptimizable in interface Optimizer

isConverged

public boolean isConverged()
Specified by:
isConverged in interface Optimizer

getIteration

public int getIteration()

optimize

public boolean optimize()
Specified by:
optimize in interface Optimizer

optimize

public boolean optimize(int numIterations)
Specified by:
optimize in interface Optimizer