  In this paper, we present difference of convex algorithms for solving bilevel
programs in which the upper level objective functions are difference of convex
functions, and the lower level programs are fully convex. This nontrivial class
of bilevel programs provides a powerful modelling framework for dealing with
applications arising from hyperparameter selection in machine learning. Thanks
to the full convexity of the lower level program, the value function of the
lower level program turns out to be convex and hence the bilevel program can be
reformulated as a difference of convex bilevel program. We propose two
algorithms for solving the reformulated difference of convex program and show
their convergence under very mild assumptions. Finally we conduct numerical
experiments to a bilevel model of support vector machine classification.
