a b/combinedDeepLearningActiveContour/minFunc/logistic/LogisticDiagPrecond.m
1
function [m] = LogisticHv(v,w,X,y)
2
% v(feature,1) - vector that we will apply diagonal preconditioner to
3
% w(feature,1)
4
% X(instance,feature)
5
% y(instance,1)
6
7
sig = 1./(1+exp(-y.*(X*w)));
8
9
% Compute diagonals of Hessian
10
sig = sig.*(1-sig);
11
for i = 1:length(w)
12
   h(i,1) = (sig.*X(:,i))'*X(:,i);
13
end
14
15
% Apply preconditioner
16
m = v./h;
17
18
% Exact preconditioner
19
%H = X'*diag(sig.*(1-sig))*X;
20
%m = H\v;