From fb5ac6d124f187cc1a80a70394c28dc945987797 Mon Sep 17 00:00:00 2001 From: jens Date: Wed, 24 Jan 2024 14:44:20 +0100 Subject: [PATCH] Fixed normalization --- source/matutils.hpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/source/matutils.hpp b/source/matutils.hpp index 6e34494..02e9f27 100644 --- a/source/matutils.hpp +++ b/source/matutils.hpp @@ -64,23 +64,27 @@ namespace Matutils // Dim = 1: Normalize over single training pattern double k = 1; size_t dim = 0; - arma::mat xn = arma::normalise(src, 2, dim); - arma::mat mean = arma::mean(xn, dim); - arma::mat stddev = arma::stddev(xn, 0, dim); - arma::mat stddev_m; + arma::mat mean = arma::mean(src, dim); + arma::mat stddev = arma::stddev(src, 0, dim); + + arma::mat mean_mat; + arma::mat std_mat; if (dim==0) { - stddev_m = arma::repmat(stddev, xn.n_rows, 1); + mean_mat = arma::repmat(mean, src.n_rows, 1); + std_mat = arma::repmat(stddev, src.n_rows, 1); } else { - stddev_m = arma::repmat(stddev, 1, xn.n_cols); + mean_mat = arma::repmat(mean, 1, src.n_cols); + std_mat = arma::repmat(stddev, 1, src.n_cols); } - arma::mat y = 1/(1+arma::exp(-k*xn/stddev_m)); - std::cout << "mean" << " : " << std::endl << mean << std::endl; - std::cout << "stddev" << ": " << std::endl << stddev << std::endl; + arma::mat xn = src - mean_mat; + arma::mat y = xn/(std_mat + 1e-9); + std::cout << "mean" << " : " << std::endl << arma::mean(y, dim) << std::endl; + std::cout << "stddev" << ": " << std::endl << arma::stddev(y, 0, dim) << std::endl; return y; }