- fixed normalization

- added sigmoid after normalization
This commit is contained in:
2024-01-23 21:05:13 +01:00
parent bb6040779d
commit 4a7fcb387c
+21 -12
View File
@@ -59,20 +59,29 @@ namespace Matutils
inline arma::mat normalize(const arma::mat& src)
{
std::cout << "Normalizing Training Data ..." << std::endl;
#if 0
// Normalize over training all training pattern
arma::mat xn = arma::normalise(src, 2, 0);
arma::mat mean = arma::mean(src, 0);
arma::mat stddev = arma::stddev(src, 0);
#else
// Normalize over single training pattern
arma::mat xn = arma::normalise(src, 2, 1);
arma::mat mean = arma::mean(src, 1);
arma::mat stddev = arma::stddev(src, 1);
#endif
// Dim = 0: Normalize over training all training pattern
// 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;
if (dim==0)
{
stddev_m = arma::repmat(stddev, xn.n_rows, 1);
}
else
{
stddev_m = arma::repmat(stddev, 1, xn.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;
return xn;
return y;
}
inline arma::mat char2vec(char c, size_t len)