Fixed normalization

This commit is contained in:
2024-01-24 14:44:20 +01:00
parent 1d5cd55818
commit fb5ac6d124
+13 -9
View File
@@ -64,23 +64,27 @@ namespace Matutils
// Dim = 1: Normalize over single training pattern // Dim = 1: Normalize over single training pattern
double k = 1; double k = 1;
size_t dim = 0; size_t dim = 0;
arma::mat xn = arma::normalise(src, 2, dim); arma::mat mean = arma::mean(src, dim);
arma::mat mean = arma::mean(xn, dim); arma::mat stddev = arma::stddev(src, 0, dim);
arma::mat stddev = arma::stddev(xn, 0, dim);
arma::mat stddev_m; arma::mat mean_mat;
arma::mat std_mat;
if (dim==0) 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 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)); arma::mat xn = src - mean_mat;
std::cout << "mean" << " : " << std::endl << mean << std::endl; arma::mat y = xn/(std_mat + 1e-9);
std::cout << "stddev" << ": " << std::endl << stddev << std::endl; 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; return y;
} }