LDA++
|
#include <SemiSupervisedMStep.hpp>
Public Member Functions | |
SemiSupervisedMStep (size_t m_step_iterations=10, Scalar m_step_tolerance=1e-2, Scalar regularization_penalty=1e-2) | |
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 |
Public Member Functions inherited from ldaplusplus::em::FastSupervisedMStep< Scalar > | |
FastSupervisedMStep (size_t m_step_iterations=10, Scalar m_step_tolerance=1e-2, Scalar regularization_penalty=1e-2) | |
virtual void | m_step (std::shared_ptr< parameters::Parameters > parameters) override |
Public Member Functions inherited from ldaplusplus::events::EventDispatcherComposition | |
std::shared_ptr< EventDispatcherInterface > | get_event_dispatcher () |
void | set_event_dispatcher (std::shared_ptr< EventDispatcherInterface > dispatcher) |
SemiSupervisedMStep passes the documents to either FastSupervisedMStep::doc_m_step or UnsupervisedMStep::doc_m_step depending on whether the document's class is a non negative integer.
The bad choice of inheritance over composition is also evident in this implementation although it does result in the minimum code written to implement SemiSupervisedMStep.
|
inline |
m_step_iterations | The maximum number of gradient descent iterations |
m_step_tolerance | The minimum relative improvement between consecutive gradient descent iterations |
regularization_penalty | The L2 penalty for logistic regression |
|
overridevirtual |
Delegate to either FastSupervisedMStep or UnsupervisedMStep based on whether the document has a class.
doc | A single document |
v_parameters | The variational parameters used in m-step in order to maximize model parameters |
m_parameters | Model parameters, used as output in case of online methods |
Reimplemented from ldaplusplus::em::FastSupervisedMStep< Scalar >.