LDA++
Public Member Functions | List of all members
ldaplusplus::em::SemiSupervisedMStep< Scalar > Class Template Reference

#include <SemiSupervisedMStep.hpp>

Inheritance diagram for ldaplusplus::em::SemiSupervisedMStep< Scalar >:
ldaplusplus::em::FastSupervisedMStep< Scalar > ldaplusplus::em::UnsupervisedMStep< Scalar > ldaplusplus::em::MStepInterface< Scalar > ldaplusplus::events::EventDispatcherComposition

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< EventDispatcherInterfaceget_event_dispatcher ()
 
void set_event_dispatcher (std::shared_ptr< EventDispatcherInterface > dispatcher)
 

Detailed Description

template<typename Scalar>
class ldaplusplus::em::SemiSupervisedMStep< Scalar >

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.

Constructor & Destructor Documentation

template<typename Scalar >
ldaplusplus::em::SemiSupervisedMStep< Scalar >::SemiSupervisedMStep ( size_t  m_step_iterations = 10,
Scalar  m_step_tolerance = 1e-2,
Scalar  regularization_penalty = 1e-2 
)
inline
Parameters
m_step_iterationsThe maximum number of gradient descent iterations
m_step_toleranceThe minimum relative improvement between consecutive gradient descent iterations
regularization_penaltyThe L2 penalty for logistic regression

Member Function Documentation

template<typename Scalar >
void ldaplusplus::em::SemiSupervisedMStep< Scalar >::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 
)
overridevirtual

Delegate to either FastSupervisedMStep or UnsupervisedMStep based on whether the document has a class.

Parameters
docA single document
v_parametersThe variational parameters used in m-step in order to maximize model parameters
m_parametersModel parameters, used as output in case of online methods

Reimplemented from ldaplusplus::em::FastSupervisedMStep< Scalar >.


The documentation for this class was generated from the following files: