2011-08-16 3 views
0
f = @(w) sum(log(1 + exp(-t .* (phis * w'))))/size(phis, 1) + coef * w*w'; 
options = optimset('Display', 'notify', 'MaxFunEvals', 2e+6, 'MaxIter', 2e+6); 
w = fminunc(f, ones(1, size(phis, 2)), options); 
  • Phis размер NxN + 1
  • т размер NX1
  • коэффици- является сопзЬ

Я пытаюсь свести к минимуму функция f, во первых я использовал fmi nsearch, но он работает долгое время, поэтому теперь я использую fminunc, но есть одна проблема: мне нужен градиент функции для ускорения. Можете ли вы помочь мне, пожалуйста построить градиент для функции е, сог Я всегда получаю это предупреждение:Matlab функция градиента для fminunc

Warning: Gradient must be provided for trust-region algorithm; 
    using line-search algorithm instead. 

ответ

2

То, что вы пытаетесь сделать, это называется логистической регрессии, с L2-регуляризация. Есть гораздо лучшие способы решения этой проблемы, чем вызов функции Matlab, поскольку функция логарифмического правдоподобия является вогнутой.

Вы должны задать свой вопрос в the statistical website или посмотреть на my former question there.

Смежные вопросы