Shark machine learning library
About Shark
News!
Contribute
Credits and copyright
Downloads
Getting Started
Installation
Using the docs
Documentation
Tutorials
Quick references
Class list
Global functions
FAQ
Showroom
include
shark
Algorithms
GradientDescent
BFGS.h
Go to the documentation of this file.
1
//===========================================================================
2
/*!
3
*
4
*
5
* \brief BFGS
6
*
7
* The Broyden, Fletcher, Goldfarb, Shannon (BFGS) algorithm is a
8
* quasi-Newton method for unconstrained real-valued optimization.
9
*
10
*
11
*
12
* \author O. Krause
13
* \date 2010
14
*
15
*
16
* \par Copyright 1995-2017 Shark Development Team
17
*
18
* <BR><HR>
19
* This file is part of Shark.
20
* <http://shark-ml.org/>
21
*
22
* Shark is free software: you can redistribute it and/or modify
23
* it under the terms of the GNU Lesser General Public License as published
24
* by the Free Software Foundation, either version 3 of the License, or
25
* (at your option) any later version.
26
*
27
* Shark is distributed in the hope that it will be useful,
28
* but WITHOUT ANY WARRANTY; without even the implied warranty of
29
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30
* GNU Lesser General Public License for more details.
31
*
32
* You should have received a copy of the GNU Lesser General Public License
33
* along with Shark. If not, see <http://www.gnu.org/licenses/>.
34
*
35
*/
36
//===========================================================================
37
38
39
#ifndef SHARK_ALGORITHMS_GRADIENTDESCENT_BFGS_H
40
#define SHARK_ALGORITHMS_GRADIENTDESCENT_BFGS_H
41
42
#include <
shark/Core/DLLSupport.h
>
43
#include <
shark/Algorithms/GradientDescent/AbstractLineSearchOptimizer.h
>
44
45
namespace
shark
{
46
47
//! \brief Broyden, Fletcher, Goldfarb, Shannon algorithm for unconstraint optimization
48
class
BFGS
:
public
AbstractLineSearchOptimizer
49
{
50
protected
:
51
SHARK_EXPORT_SYMBOL
void
initModel
();
52
SHARK_EXPORT_SYMBOL
void
computeSearchDirection
(
ObjectiveFunctionType
const
&);
53
public
:
54
std::string
name
()
const
55
{
return
"BFGS"
; }
56
57
//from ISerializable
58
SHARK_EXPORT_SYMBOL
void
read
(
InArchive
& archive );
59
SHARK_EXPORT_SYMBOL
void
write
(
OutArchive
& archive )
const
;
60
protected
:
61
RealMatrix
m_hessian
;
62
};
63
64
}
65
#endif