diff options
author | Samuel Fadel <samuelfadel@gmail.com> | 2015-09-03 17:05:54 -0300 |
---|---|---|
committer | Samuel Fadel <samuelfadel@gmail.com> | 2015-09-03 17:05:54 -0300 |
commit | e00551288d06fc7d913aab6473dcab8fa9934410 (patch) | |
tree | 5c4daa7ea8b2e11bf783a5d57b33db0e44ad6635 /tsne.cpp | |
parent | e05a1bd658a7bacb4e13f05b7125ceed7a33dd4b (diff) |
Code standardization and new builtin continuous color scales scheme.
Diffstat (limited to 'tsne.cpp')
-rw-r--r-- | tsne.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
@@ -68,8 +68,9 @@ void mp::tSNE(const arma::mat &X, arma::mat &Y, double perplexity, arma::uword n Y += iY; Y.each_row() -= mean(Y, 0); - if (iter == EXAGGERATION_THRESHOLD_ITER) + if (iter == EXAGGERATION_THRESHOLD_ITER) { P /= EARLY_EXAGGERATION; // remove early exaggeration + } } } @@ -94,19 +95,21 @@ static void calcP(const arma::mat &X, arma::mat &P, double perplexity, double to for (int tries = 0; fabs(hDiff) > tol && tries < MAX_BINSEARCH_TRIES; tries++) { if (hDiff > 0) { betaMin = beta[i]; - if (betaMax == arma::datum::inf || betaMax == -arma::datum::inf) + if (betaMax == arma::datum::inf || betaMax == -arma::datum::inf) { beta[i] *= 2; - else + } else { beta[i] = (beta[i] + betaMax) / 2.; + } } else { betaMax = beta[i]; - if (betaMin == arma::datum::inf || betaMin == -arma::datum::inf) + if (betaMin == arma::datum::inf || betaMin == -arma::datum::inf) { beta[i] /= 2; - else + } else { beta[i] = (beta[i] + betaMin) / 2.; + } } - + h = hBeta(Di, beta[i], Pi); hDiff = h - logU; } |