我用Matlab的fminsearch方法來最小化功能:如何讓fminsearch只搜索整數?
c = cvpartition(200,'KFold',10);
minfn = @(z)kfoldLoss(fitcsvm(cdata,grp,'CVPartition',c,...
'KernelFunction','rbf','BoxConstraint',exp(z(2)),...
'KernelScale',exp(z(1))));
opts = optimset('TolX',5e-4,'TolFun',5e-4);
[searchmin fval] = fminsearch(minfn,randn(2,1),opts)
的最小化是在兩個參數。
現在我想以最小化第三個參數,但此參數只能取正整數,即1,2,3,...
我怎麼能告訴fminsearch只考慮正整數?第二,如果我的第三個參數初始化爲10,但它的實際最佳值爲100,那麼fminsearch在這種情況下會快速收斂嗎?
從連續優化問題中分離整數看起來不錯。你知道其他1D或nD離散優化程序嗎? – machinery
有很多。是否有任何適合您的特殊需求,我不知道。您可以從離散優化的[Wikipedia頁面](https://en.wikipedia.org/wiki/Discrete_optimization)開始。 –