SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2402.11156 · 2024

Efficient Low-Rank Matrix Estimation, Experimental Design, and Arm-Set-Dependent Low-Rank Bandits

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 16 functions out of this paper's own repositories and ran 7 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
jajajang/lowpopart canonical 7 of 16
FunctionStatusWhere it lives
SaveToDict Ran jajajang/lowpopart/myutils3_v2.py
code served (permissive licence) · get_code("ae6af5cbb1e3b661")
argmax_finder Ran jajajang/lowpopart/COBYLA_time_measure.py
code served (permissive licence) · get_code("fbef27b0fdd2a642")
con Ran jajajang/lowpopart/COBYLA_time_measure.py
code served (permissive licence) · get_code("c995a8e209cf8276")
create_action Ran jajajang/lowpopart/eFALB_time_measure.py
code served (permissive licence) · get_code("7621bb71a57a61eb")
create_action Ran jajajang/lowpopart/eFALB_time_measure_old.py
code served (permissive licence) · get_code("9ab3050e92f51454")
create_unitvec Ran jajajang/lowpopart/COBYLA_time_measure.py
code served (permissive licence) · get_code("6ef2ca50d0be277e")
gloc_solve_by_cvx Ran jajajang/lowpopart/new_lowrank_231016.py
code served (permissive licence) · get_code("118f8811f37a96a2")
calc_regret Not yet run jajajang/lowpopart/bleval.py
code served (permissive licence) · get_code("3fa29d4dfae20402")
calc_sqrt_beta_det2 Not yet run jajajang/lowpopart/new_lowrank_231016.py
code served (permissive licence) · get_code("0197a59100ee5153")
calc_sqrt_beta_det3 Not yet run jajajang/lowpopart/new_lowrank_231016.py
code served (permissive licence) · get_code("1654e6bdc10c5fb7")
hybrid Not yet run jajajang/lowpopart/calcsubset.py
code served (permissive licence) · get_code("776552ddd96c25f2")
paramGetList Not yet run jajajang/lowpopart/expr01_defs_230927.py
code served (permissive licence) · get_code("6bd2a21260e7da09")
paramGetList0 Not yet run jajajang/lowpopart/expr01_defs_230927.py
code served (permissive licence) · get_code("145e06abd7795fe0")
paramGetList1 Not yet run jajajang/lowpopart/expr01_defs_230927.py
code served (permissive licence) · get_code("99c80b4ab0f7790d")
random Not yet run jajajang/lowpopart/calcsubset.py
code served (permissive licence) · get_code("4cf818bbd16056ad")
sdp Not yet run jajajang/lowpopart/calcsubset.py
code served (permissive licence) · get_code("41203af0d3b527c1")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

We study low-rank matrix trace regression and the related problem of low-rank matrix bandits. Assuming access to the distribution of the covariates, we propose a novel low-rank matrix estimation method called LowPopArt and provide its recovery guarantee that depends on a novel quantity denoted by B(Q) that characterizes the hardness of the problem, where Q is the covariance matrix of the measurement distribution. We show that our method can provide tighter recovery guarantees than classical nuclear norm penalized least squares (Koltchinskii et al., 2011) in several problems. To perform efficient estimation with a limited number of measurements from an arbitrarily given measurement set A, we also propose a novel experimental design criterion that minimizes B(Q) with computational efficiency. We leverage our novel estimator and design of experiments to derive two low-rank linear bandit algorithms for general arm sets that enjoy improved regret upper bounds. This improves over previous works on low-rank bandits, which make somewhat restrictive assumptions that the arm set is the unit ball or that an efficient exploration distribution is given. To our knowledge, our experimental design criterion is the first one tailored to low-rank matrix estimation beyond the naive reduction to linear regression, which can be of independent interest.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2402.11156")
get_code_for_paper("2402.11156")
have("2402.11156")

Connect an agent — have() is free.