LDA++
UnsupervisedMStep.hpp
1 #ifndef _LDAPLUSPLUS_EM_UNSUPERVISEDMSTEP_HPP_
2 #define _LDAPLUSPLUS_EM_UNSUPERVISEDMSTEP_HPP_
3 
4 #include "ldaplusplus/em/MStepInterface.hpp"
5 
6 namespace ldaplusplus {
7 namespace em {
8 
9 
41 template <typename Scalar>
42 class UnsupervisedMStep : public MStepInterface<Scalar>
43 {
44  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> MatrixX;
45  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1> VectorX;
46 
47  public:
49 
56  virtual void m_step(
57  std::shared_ptr<parameters::Parameters> parameters
58  ) override;
59 
71  virtual void doc_m_step(
72  const std::shared_ptr<corpus::Document> doc,
73  const std::shared_ptr<parameters::Parameters> v_parameters,
74  std::shared_ptr<parameters::Parameters> m_parameters
75  ) override;
76 
77  private:
78  MatrixX b_;
79 };
80 
81 } // namespace em
82 } // namespace ldaplusplus
83 
84 #endif // _LDAPLUSPLUS_EM_UNSUPERVISEDMSTEP_HPP_
Definition: UnsupervisedMStep.hpp:42
Definition: MStepInterface.hpp:24
virtual void m_step(std::shared_ptr< parameters::Parameters > parameters) override
Definition: UnsupervisedMStep.cpp:9
virtual void doc_m_step(const std::shared_ptr< corpus::Document > doc, const std::shared_ptr< parameters::Parameters > v_parameters, std::shared_ptr< parameters::Parameters > m_parameters) override
Definition: UnsupervisedMStep.cpp:20
Definition: Document.hpp:11