def grad_loss_l2_penalization_on_grad(H, aest, yij, varyj, nj, j1, j2, mask, l=1, wtype=1): grad = o.grad_for_masked_data(H, mask) div = o.div(grad)[mask] return gradf(H, aest, yij, varyj, nj, j1, j2, wtype) - 2 * l * div
def welch_squared_loss_l2pen(H, aest, log2frq, log2pwr, mask, l=1, consider_fBm=False): loss, grad_loss = welch_squared_loss(H, aest, log2frq, log2pwr, compute_energy=True, compute_grad=True, consider_fBm=consider_fBm) grad = o.grad_for_masked_data(H, mask) div = o.div(grad)[mask] return loss + l * np.dot(grad.ravel(), grad.ravel()), grad_loss - 2 * l * div
def welch_squared_loss_l2pen(H, aest,log2frq, log2pwr, mask, l=1, consider_fBm=False): loss, grad_loss = welch_squared_loss(H, aest, log2frq, log2pwr, compute_energy=True, compute_grad=True, consider_fBm=consider_fBm) grad = o.grad_for_masked_data(H,mask) div = o.div(grad)[mask] return loss + l * np.dot(grad.ravel(), grad.ravel()), grad_loss - 2 * l * div
def grad_loss_l2_penalization_on_grad(H, aest, yij, varyj, nj, j1, j2, mask, l=1, wtype=1): grad = o.grad_for_masked_data(H,mask) div = o.div(grad)[mask] return gradf(H, aest, yij, varyj, nj, j1, j2, wtype) - 2 * l * div