OpenANN  1.1.0
An open source library for artificial neural networks.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ErrorFunctions.h
Go to the documentation of this file.
1 #ifndef OPENANN_ERROR_FUNCTIONS_H_
2 #define OPENANN_ERROR_FUNCTIONS_H_
3 
4 #include <Eigen/Core>
5 
6 namespace OpenANN
7 {
8 
17 template<typename Derived1, typename Derived2>
18 double crossEntropy(const Eigen::MatrixBase<Derived1>& Y,
19  const Eigen::MatrixBase<Derived2>& T)
20 {
21  return -(T.array() * ((Y.array() + 1e-10).log())).sum() / (double) Y.rows();
22 }
23 
30 template<typename Derived>
31 double meanSquaredError(const Eigen::MatrixBase<Derived>& YmT)
32 {
33  return YmT.array().square().sum() / (2.0 * (double) YmT.rows());
34 }
35 
36 } // namespace OpenANN
37 
38 #endif // OPENANN_ERROR_FUNCTIONS_H_