- committed last changes

git-svn-id: http://moon:8086/svn/software/trunk/projects/RBM@359 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2018-06-12 17:01:49 +00:00
parent 9f8d84008c
commit 80a67ba314
15 changed files with 155 additions and 264 deletions
+6 -14
View File
@@ -63,22 +63,13 @@ public:
~Rbm();
void sample(MatrixXd &srcDst);
void sample(MatrixXd &dst, MatrixXd const &src);
static void probsLogistic(MatrixXd &src);
static void probsLogistic(RowVectorXd &src);
static void probsLogistic(MatrixXd &src, const MatrixXd &sigma);
static void probsLogistic(RowVectorXd &src, const RowVectorXd &sigma);
static void probsGaussian(MatrixXd &src, const MatrixXd &sigma);
static void probsGaussian(RowVectorXd &src, const RowVectorXd &sigma);
void sampleGaussian(MatrixXd &dst, MatrixXd const &src, const MatrixXd &sigma);
void sampleGaussian(MatrixXd &srcDst, const MatrixXd &sigma);
void sampleGaussian(MatrixXd &srcDst, const double &sigma);
RowVectorXd normalizeData(RowVectorXd const &src, RowVectorXd const &mu, RowVectorXd const &var);
RowVectorXd calcMean(MatrixXd const &batch);
RowVectorXd calcSigma(MatrixXd const &batch);
MatrixXd calcZ(MatrixXd &v, MatrixXd &h);
static void probsLogistic(MatrixXd &srcDst);
static void probsLogistic(RowVectorXd &srcDst);
void sampleGaussian(MatrixXd &dst, MatrixXd const &src);
void sampleGaussian(MatrixXd &srcDst);
void normalizeData(MatrixXd &dst, MatrixXd const &src);
void train(size_t numEpochs, size_t miniBatchSize, double sigmaMin = 0.05);
double getProgress() const;
double getEnergy(const VectorXd& visible, const VectorXd& hidden);
void toHidden(RowVectorXd &h, RowVectorXd const &v);
void toVisible(RowVectorXd &v, RowVectorXd const &h);
void setConstantSigma(double value);
@@ -107,6 +98,7 @@ public:
private:
Weights &m_w;
MatrixXd const &m_batch;
MatrixXd m_batch_normalized;
MatrixXd m_h;
RowVectorXd m_variableSigma;
noise_gen_t m_noise;