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

📄 ilearner.h

📁 WeakLearner,弱分类器
💻 H
字号:
//LAB_LicenseBegin==============================================================
//  Copyright (c) 2005-2006, Hicham GHORAYEB < ghorayeb@gmail.com >
//  All rights reserved.
//
//	This software is a Library for Adaptive Boosting. It provides a generic 
//	framework for the study of the Boosting algorithms. The framework provides 
//	the different tasks for boosting: Learning, Validation, Test, Profiling and 
//	Performance Analysis Tasks.
//
//	This Library was developped during my PhD studies at:
//	Ecole des Mines de Paris - Centre de Robotique( CAOR )
//	http://caor.ensmp.fr
//	under the supervision of Pr. Claude Laurgeau and Bruno Steux
//
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions are met:
//
//      * Redistributions of source code must retain the above copyright
//        notice, this list of conditions and the following disclaimer.
//      * Redistributions in binary form must reproduce the above copyright
//        notice, this list of conditions and the following disclaimer
//        in the documentation and/or other materials provided with the distribution.
//      * Neither the name of the Ecole des Mines de Paris nor the names of
//        its contributors may be used to endorse or promote products
//        derived from this software without specific prior written permission.
//
//  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
//  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
//  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
//  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
//  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
//  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
//  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
//  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
//  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
//  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
//  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//================================================================LAB_LicenseEnd
#ifndef _LIBADABOOST_LEARNER_H_
#define _LIBADABOOST_LEARNER_H_

#include "LibAdaBoost/modules/Module.h"
#include "LibAdaBoost/modules/Publisher.h"
using namespace modules;

#include "LibAdaBoost/samples/learningsets/ILearningSet.h"
using namespace samples::learningsets;

#include "LibAdaBoost/classifiers/IClassifier.h"
using namespace classifiers;

#include <string>
using namespace std;

namespace learners{
	class IWeakLearner;

	class ILearner
		:public Module
		,public Publisher
	{
	public://Constructor & Destructor
		ILearner()
			:Publisher( "ILearner" )
			,Module()
		{
		}

		ILearner(const std::string &name)
			:Publisher( name )
			,Module()
		{
		}

		virtual ~ILearner(){};

	public://Module
		virtual std::string GetName(void) const = 0;
		std::string GetType(void) const {return "ILearner";}
		virtual void SetOptions(const modules::options::ModuleOptions &options) = 0;

	public:// ILearner
		virtual void Learn(void) = 0;
		virtual void Reset(void) = 0;

		virtual IClassifier *GetResult(void) = 0;
		
		virtual ILearningSet *GetLearningSet(void) = 0;
		virtual void SetLearningSet(ILearningSet *learningSet) = 0;

		virtual IWeakLearner *GetWeakLearner(void) = 0;
		virtual void SetWeakLearner(IWeakLearner *weakLearner) = 0;
	};
}

#endif

⌨️ 快捷键说明

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