jijzepttools.blackbox_optimization.factorization_machine#

Classes#

FactorizationMachine

Factorization Machine model

FMTrainer

Module Contents#

class FactorizationMachine(n_features: int, latent_dim: int)#

Bases: torch.nn.Module

Factorization Machine model

`math f(x|w, v) = w0 + Σwi*xi + ΣΣ<vj, vk>xj*xk = w0 + Σwi*xi + 1/2*(Σ(vi*xi)^2 - Σ(vi^2*xi^2)) `

n_features#
latent_dim#
linear#
quad#
forward(x)#
property v#
property w#
property w0#
class FMTrainer(n_features: int, latent_dim: int, optimizer_params: dict | None = None)#
model#
fit(x_numpy: numpy.ndarray, y_numpy: numpy.ndarray, n_epochs: int)#
predict(x: torch.Tensor) torch.Tensor#
property x#
property y#
get_qubo() tuple[numpy.ndarray, float]#