Daniel@0: function Xi = lossHingeDODMKL(W, Psi, M, gradient) Daniel@0: % Daniel@0: % Xi = lossHingeDODMKL(W, Psi, M, gradient) Daniel@0: % Daniel@0: % W: m*m*d matrix of diagonal metrics Daniel@0: % Psi: m*m*d feature matrix Daniel@0: % M: the desired margin Daniel@0: % gradient: if 0, returns the loss value Daniel@0: % if 1, returns the gradient of the loss WRT W Daniel@0: Daniel@0: m = size(W,1); Daniel@0: Daniel@0: Xi = max(0, M - sum(sum(sum(W .* Psi)))); Daniel@0: Daniel@0: if gradient & Xi > 0 Daniel@0: Xi = -Psi; Daniel@0: end Daniel@0: end