1 #ifndef OUTPUT_REGRESSIONMSE_H_ 2 #define OUTPUT_REGRESSIONMSE_H_ 19 typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> Matrix;
20 typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1> Vector;
26 void evaluate(
const Matrix& prev_layer_data,
const Matrix& target)
29 const int nobs = prev_layer_data.cols();
30 const int nvar = prev_layer_data.rows();
31 if((target.cols() != nobs) || (target.rows() != nvar))
32 throw std::invalid_argument(
"[class RegressionMSE]: Target data have incorrect dimension");
38 m_din.resize(nvar, nobs);
39 m_din.noalias() = prev_layer_data - target;
42 const Matrix& backprop_data()
const 50 return m_din.squaredNorm() / m_din.cols() * Scalar(0.5);