⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optimize.m

📁 一个关于adaboost算法的matlab程序
💻 M
字号:
function [co, p, fret, its]=optimize(co, p, param)
% [co, p, fret, iter]=cg_optimizable.optimize(co, p)
%
% The Fletcher-Reeves-Polak-Ribiere-Conjugate Gradient Algorithm
% 	(from Numerical Recipes in C, page 422)
%

%   G. Raetsch 1.6.98
%   Copyright (c) 1998  GMD Berlin - All rights reserved
%   THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE of GMD FIRST Berlin
%   The copyright notice above does not evidence any
%   actual or intended publication of this work.
%   Please see COPYRIGHT.txt for details.

%#realonly
%#inbounds 

% set parameter
co.param=param ;

[fp]=err_func(co, p) ;
[xi]=grad_func(co, p) ;
EPS=1.0e-8 ;

g=-xi ;
h=g ;
xi=h ;

if nargin<5,
	P=[] ;
end ;	

fret=fp ;
its=0 ;
hist=[] ;
for its=1:co.max_iter,
	[p,xi,fret]=linmin(co, p, xi); 
	
	if 2.0*abs(fret-fp)<= co.ftol*(abs(fret)+abs(fp)+EPS)
		co.param=[] ;		
		return;
	end ;
		
	[fp]=err_func(co, p);
	[xi]=grad_func(co, p) ;

	gg=g'*g ;

	dgg=(xi+g)'*xi ;

	if gg == 0.0, 
		return ; 
	end ;
	gam=dgg/gg;
	
	g=-xi ;
	h=g+gam*h ;
	xi=h ;
end ;

co.param=[] ;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -