Fleet  0.0.9
Inference in the LOT
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | List of all members
BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t > Class Template Referenceabstract

#include <BaseGrammarHypothesis.h>

Inheritance diagram for BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >:
Inheritance graph
[legend]
Collaboration diagram for BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >:
Collaboration graph
[legend]

Public Types

using HYP = _HYP
 
using Predict_t = _Predict_t
 
using LL_t = std::unordered_map< typename datum_t::data_t *, std::vector< Vector > >
 
- Public Types inherited from Bayesable< Args... >
typedef Args... datum_t
 
typedef std::vector< Args... > data_t
 

Public Member Functions

 BaseGrammarHypothesis ()
 
 BaseGrammarHypothesis (std::vector< HYP > &hypotheses, const data_t *human_data)
 
void set_decay (const ExponentialVariable &ev)
 
void set_decay_untransformed (double v)
 
void set_alpha (const UniformVariable &a)
 
void set_alpha_untransformed (double v)
 
void copy_parameters (const BaseGrammarHypothesis &h)
 
float get_alpha () const
 
float get_decay () const
 
size_t ndata () const
 
virtual void set_hypotheses_and_data (std::vector< HYP > &hypotheses, const data_t &human_data)
 This is the primary function for setting hypothese and data on construction. More...
 
virtual void set_can_propose (size_t i, bool b)
 Set whether I can propose to a value in logA – this is handled by VectorNormalHypothesis Here, though, we warn if the value is not 1.0. More...
 
void set_flat_prior (bool fp)
 
virtual size_t nhypotheses () const
 A convenient function that uses C to say how many hypotheses. More...
 
virtual void recompute_C (const std::vector< HYP > &hypotheses)
 Computes our matrix C[h,r] of hypotheses (rows) by counts of each grammar rule. (requires that each hypothesis use the same grammar) More...
 
virtual void recompute_LL (std::vector< HYP > &hypotheses, const data_t &human_data)
 Recompute LL[h,di] a hypothesis from each hypothesis and data point to a vector of prior responses. (We need the vector instead of just the sum to implement memory decay. More...
 
virtual void recompute_decayedLikelihood (const data_t &human_data)
 Recomputes the decayed likelihood (e.g. at the given decay level, the total ll for each data point. NOTE: This does create a new decayed likelihood each time we compute. More...
 
virtual void recompute_P (std::vector< HYP > &hypotheses, const data_t &human_data)=0
 Recompute the predictions for the hypotheses and data. More...
 
virtual std::map< typename HYP::output_t, double > compute_model_predictions (const data_t &human_data, const size_t i, const Matrix &hposterior) const =0
 This uses hposterior (computed via this->compute_normalized_posterior()) to compute the model predictions on a the i'th human data point. To do this, we marginalize over hypotheses, computing the weighted sum of outputs. More...
 
virtual const HYPcomputeMAP (const size_t di, const Matrix &hposterior) const
 
virtual double human_chance_lp (const typename datum_t::output_t &r, const datum_t &hd) const
 Get the chance probability of response r in hd (i.e. of a human response). This may typically be pretty boring (like just hd.chance) but w we need to be able to overwrite it. More...
 
virtual double compute_prior () override
 
virtual Matrix compute_normalized_posterior () const
 This returns a matrix hposterior[h,di] giving the posterior on the h'th element. NOTE: not output is NOT logged. More...
 
virtual double compute_likelihood (const data_t &human_data, const double breakout=-infinity) override
 This computes the likelihood of the human data. More...
 
virtual this_t restart () const override
 
virtual std::optional< std::pair< this_t, double > > propose () const override
 Propose to the hypothesis. The sometimes does grammar parameters and sometimes other parameters, which are all stored as VectorHypotheses. It is sure to call the recompute functions when necessary. More...
 
virtual Vector hypothesis_prior () const
 Compute a vector of the prior (one for each hypothesis) using the given counts matrix (hypotheses x rules), AT the specified temperature. More...
 
virtual bool operator== (const this_t &h) const override
 
virtual std::string string (std::string prefix="") const override
 This returns a string for this hypothesis. Defaulty, now, just in tidy format with all the parameters, one on each row. Note these parameters are shown after transformation (e.g. the prior parameters are NOT logged) More...
 
virtual void show (std::string prefix="") override
 Need to override print since it will print in a different format. More...
 
virtual size_t hash () const override
 
virtual std::string serialize () const override
 
- Public Member Functions inherited from MCMCable< this_t, datum_t, data_t >
 MCMCable ()
 
virtual bool operator!= (const this_t &h) const
 
- Public Member Functions inherited from Bayesable< Args... >
 Bayesable ()
 
virtual double compute_single_likelihood (const datum_t &datum)
 Compute the likelihood of a single data point. More...
 
virtual void clear_bayes ()
 
virtual double compute_tempered_likelihood (const data_t &data, int ladder_rank, const double breakout=-infinity)
 
virtual double compute_posterior (const data_t &data, const std::pair< double, double > breakoutpair=std::make_pair(-infinity, 1.0))
 Compute the posterior, by calling prior and likelihood. This includes only a little bit of fanciness, which is that if our prior is -inf, then we don't both computing the likelihood. More...
 
virtual double at_temperature (double t) const
 
auto operator (const Bayesable< datum_t, data_t > &other) const
 

Static Public Member Functions

static this_t sample (std::vector< HYP > &hypotheses, const data_t *human_data)
 
static this_t deserialize (const std::string &s)
 
- Static Public Member Functions inherited from MCMCable< this_t, datum_t, data_t >
static this_t sample ()
 Static function for making a hypothesis. Be careful using this with references because they may not foward right (for reasons that are unclear to me) More...
 
- Static Public Member Functions inherited from Serializable< this_t >
static this_t deserialize (const std::string &)
 

Public Attributes

HYP::Grammar_t * grammar
 
bool flat_prior
 
VectorHalfNormalHypothesis logA
 
std::shared_ptr< MatrixC
 
std::shared_ptr< LL_tLL
 
std::shared_ptr< Predict_tP
 
std::shared_ptr< MatrixdecayedLikelihood
 
const data_twhich_data
 
std::vector< HYP > * which_hypotheses
 
- Public Attributes inherited from Bayesable< Args... >
double prior
 
double likelihood
 
double posterior
 
uintmax_t born
 
size_t born_chain_idx
 

Protected Attributes

UniformVariable alpha
 
ExponentialVariable decay
 

Detailed Description

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
class BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >

Author
piantado
Date
02/08/20

Member Typedef Documentation

◆ HYP

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
using BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::HYP = _HYP

◆ LL_t

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
using BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::LL_t = std::unordered_map<typename datum_t::data_t*, std::vector<Vector> >

◆ Predict_t

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
using BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::Predict_t = _Predict_t

Constructor & Destructor Documentation

◆ BaseGrammarHypothesis() [1/2]

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::BaseGrammarHypothesis ( )
inline

◆ BaseGrammarHypothesis() [2/2]

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::BaseGrammarHypothesis ( std::vector< HYP > &  hypotheses,
const data_t human_data 
)
inline

Member Function Documentation

◆ compute_likelihood()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual double BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::compute_likelihood ( const data_t human_data,
const double  breakout = -infinity 
)
inlineoverridevirtual

This computes the likelihood of the human data.

Parameters
data
breakout
Returns

Reimplemented from Bayesable< Args... >.

◆ compute_model_predictions()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual std::map<typename HYP::output_t, double> BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::compute_model_predictions ( const data_t human_data,
const size_t  i,
const Matrix hposterior 
) const
pure virtual

◆ compute_normalized_posterior()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual Matrix BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::compute_normalized_posterior ( ) const
inlinevirtual

This returns a matrix hposterior[h,di] giving the posterior on the h'th element. NOTE: not output is NOT logged.

Returns

◆ compute_prior()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual double BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::compute_prior ( )
inlineoverridevirtual

Implements Bayesable< Args... >.

◆ computeMAP()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual const HYP& BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::computeMAP ( const size_t  di,
const Matrix hposterior 
) const
inlinevirtual

◆ copy_parameters()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::copy_parameters ( const BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t > &  h)
inline

◆ deserialize()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
static this_t BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::deserialize ( const std::string &  s)
inlinestatic

◆ get_alpha()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
float BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::get_alpha ( ) const
inline

◆ get_decay()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
float BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::get_decay ( ) const
inline

◆ hash()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual size_t BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::hash ( ) const
inlineoverridevirtual

Implements Bayesable< Args... >.

◆ human_chance_lp()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual double BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::human_chance_lp ( const typename datum_t::output_t &  r,
const datum_t hd 
) const
inlinevirtual

Get the chance probability of response r in hd (i.e. of a human response). This may typically be pretty boring (like just hd.chance) but w we need to be able to overwrite it.

Parameters
hd
Returns

◆ hypothesis_prior()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual Vector BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::hypothesis_prior ( ) const
inlinevirtual

Compute a vector of the prior (one for each hypothesis) using the given counts matrix (hypotheses x rules), AT the specified temperature.

Parameters

◆ ndata()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
size_t BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::ndata ( ) const
inline

◆ nhypotheses()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual size_t BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::nhypotheses ( ) const
inlinevirtual

A convenient function that uses C to say how many hypotheses.

Returns

◆ operator==()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual bool BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::operator== ( const this_t &  h) const
inlineoverridevirtual

◆ propose()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual std::optional<std::pair<this_t,double> > BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::propose ( ) const
inlineoverridevirtual

Propose to the hypothesis. The sometimes does grammar parameters and sometimes other parameters, which are all stored as VectorHypotheses. It is sure to call the recompute functions when necessary.

Parameters
data
breakout
Returns

Implements MCMCable< this_t, datum_t, data_t >.

◆ recompute_C()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::recompute_C ( const std::vector< HYP > &  hypotheses)
inlinevirtual

Computes our matrix C[h,r] of hypotheses (rows) by counts of each grammar rule. (requires that each hypothesis use the same grammar)

Parameters
hypotheses

◆ recompute_decayedLikelihood()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::recompute_decayedLikelihood ( const data_t human_data)
inlinevirtual

Recomputes the decayed likelihood (e.g. at the given decay level, the total ll for each data point. NOTE: This does create a new decayed likelihood each time we compute.

Parameters
hypotheses
human_data
Returns

◆ recompute_LL()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::recompute_LL ( std::vector< HYP > &  hypotheses,
const data_t human_data 
)
inlinevirtual

Recompute LL[h,di] a hypothesis from each hypothesis and data point to a vector of prior responses. (We need the vector instead of just the sum to implement memory decay.

Parameters
hypotheses
human_data
Returns

Reimplemented in ThunkGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >, and ThunkGrammarHypothesis< MyGrammarHypothesis, MyHypothesis, MyHumanDatum, std::vector< MyHumanDatum >, Vector2D< DiscreteDistribution< S > > >.

◆ recompute_P()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::recompute_P ( std::vector< HYP > &  hypotheses,
const data_t human_data 
)
pure virtual

◆ restart()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual this_t BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::restart ( ) const
inlineoverridevirtual

◆ sample()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
static this_t BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::sample ( std::vector< HYP > &  hypotheses,
const data_t human_data 
)
inlinestatic

◆ serialize()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual std::string BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::serialize ( ) const
inlineoverridevirtual

◆ set_alpha()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::set_alpha ( const UniformVariable a)
inline

◆ set_alpha_untransformed()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::set_alpha_untransformed ( double  v)
inline

◆ set_can_propose()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::set_can_propose ( size_t  i,
bool  b 
)
inlinevirtual

Set whether I can propose to a value in logA – this is handled by VectorNormalHypothesis Here, though, we warn if the value is not 1.0.

Parameters
i
b

◆ set_decay()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::set_decay ( const ExponentialVariable ev)
inline

◆ set_decay_untransformed()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::set_decay_untransformed ( double  v)
inline

◆ set_flat_prior()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::set_flat_prior ( bool  fp)
inline

◆ set_hypotheses_and_data()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::set_hypotheses_and_data ( std::vector< HYP > &  hypotheses,
const data_t human_data 
)
inlinevirtual

This is the primary function for setting hypothese and data on construction.

Parameters
hypotheses
human_data

◆ show()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual void BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::show ( std::string  prefix = "")
inlineoverridevirtual

Need to override print since it will print in a different format.

Returns

Reimplemented from Bayesable< Args... >.

◆ string()

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
virtual std::string BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::string ( std::string  prefix = "") const
inlineoverridevirtual

This returns a string for this hypothesis. Defaulty, now, just in tidy format with all the parameters, one on each row. Note these parameters are shown after transformation (e.g. the prior parameters are NOT logged)

Returns

Implements Bayesable< Args... >.

Member Data Documentation

◆ alpha

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
UniformVariable BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::alpha
protected

◆ C

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
std::shared_ptr<Matrix> BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::C

◆ decay

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
ExponentialVariable BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::decay
protected

◆ decayedLikelihood

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
std::shared_ptr<Matrix> BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::decayedLikelihood

◆ flat_prior

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
bool BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::flat_prior

◆ grammar

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
HYP::Grammar_t* BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::grammar

◆ LL

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
std::shared_ptr<LL_t> BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::LL

◆ logA

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
VectorHalfNormalHypothesis BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::logA

◆ P

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
std::shared_ptr<Predict_t> BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::P

◆ which_data

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
const data_t* BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::which_data

◆ which_hypotheses

template<typename this_t, typename _HYP, typename datum_t = HumanDatum<_HYP>, typename data_t = std::vector<datum_t>, typename _Predict_t = Vector2D<DiscreteDistribution<typename _HYP::output_t>>>
std::vector<HYP>* BaseGrammarHypothesis< this_t, _HYP, datum_t, data_t, _Predict_t >::which_hypotheses

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