A Frank-Wolfe Proximal Newton Algorithm
This Algorithm can solve the following constrained convex optimization problem:
where is self-concordant and is a compact convex set, whose linear optimization oracle is easy to find.
The code is tested under Matlab R2018b and it doesn't requires additional MATLAB toolbox. Before running the examples, please change the your MATLAB's current work directory to
path/to/FWPN/
we implemented three examples to test our algorithm.
This example is implemented in the Port_Opt_example.m
script which can both run real and synthetic data.
For example, set the varibles use_real_data = 1
and id = 1
and run the Port_Opt_example.m
script to test for the real stock data 473500_wk.mat
.
Set the varibles use_real_data = 0
, n = 1e+4
, p = 1e+3
and run the Port_Opt_example.m
script to test for the synthetic stock data with size (1e+4, 1e+3).
This example is implemented in the Dopt_example.m
script.
Set the varibles n = 1e+2
, p = 1e+3
and run the Dopt_example.m
script to test for the data with size (1e+2, 1e+3).
This example is implemented in the Log_Reg_example.m
script.
We support LIBSVM datasets which can be downloaded here. The downloaded file should be unzipped and put in the following folder
path/to/FWPN/data/log_reg/
Suppose the file name is w8a.t
, set the variable fname = 'w8a.t'
and run the Log_Reg_example.m
script to test for w8a
testing dataset in LIBSVM.