<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Gpr" rel="Chapter" href="Gpr.html"> <link title="Gpr_interfaces" rel="Chapter" href="Gpr_interfaces.html"> <link title="Gpr_utils" rel="Chapter" href="Gpr_utils.html"> <link title="Gpr_block_diag" rel="Chapter" href="Gpr_block_diag.html"> <link title="Gpr_cov_const" rel="Chapter" href="Gpr_cov_const.html"> <link title="Gpr_cov_lin_ard" rel="Chapter" href="Gpr_cov_lin_ard.html"> <link title="Gpr_cov_lin_one" rel="Chapter" href="Gpr_cov_lin_one.html"> <link title="Gpr_cov_se_iso" rel="Chapter" href="Gpr_cov_se_iso.html"> <link title="Gpr_cov_se_fat" rel="Chapter" href="Gpr_cov_se_fat.html"> <link title="Gpr_fitc_gp" rel="Chapter" href="Gpr_fitc_gp.html"> <link title="Gpr_version" rel="Chapter" href="Gpr_version.html"><title>Gpr_fitc_gp.Make.Variational_FIC</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Spec</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Kernel</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t<br> <span class="keyword">type</span> params = <span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.params<br> <span class="keyword">val</span> create : params <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get_params : t <span class="keywordsign">-></span> params<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inducing</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t<br> <span class="keyword">val</span> get_n_points : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> calc_upper : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Input</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Spec</span>.<span class="constructor">Input</span>.t<br> <span class="keyword">val</span> eval : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> weighted_eval :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> coeffs:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> eval_one : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> float<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inputs</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t<br> <span class="keyword">val</span> create : <span class="constructor">Input</span>.t array <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get_n_points : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> choose_subset : t <span class="keywordsign">-></span> <span class="constructor">Gpr_utils</span>.<span class="constructor">Int_vec</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> create_inducing : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t<br> <span class="keyword">val</span> create_default_kernel_params :<br> t <span class="keywordsign">-></span> n_inducing:int <span class="keywordsign">-></span> <span class="constructor">Kernel</span>.params<br> <span class="keyword">val</span> calc_upper : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> calc_diag : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> calc_cross :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> inputs:t <span class="keywordsign">-></span> inducing:<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> weighted_eval :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> inputs:t <span class="keywordsign">-></span><br> inducing:<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> coeffs:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inducing</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">FITC</span>.<span class="constructor">Inducing</span>.t<br> <span class="keyword">val</span> choose_n_first_inputs :<br> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> n_inducing:int <span class="keywordsign">-></span> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t<br> <span class="keyword">val</span> choose_n_random_inputs :<br> ?rnd_state:<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Random</span>.<span class="constructor">State</span>.t <span class="keywordsign">-></span><br> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> n_inducing:int <span class="keywordsign">-></span> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t<br> <span class="keyword">val</span> calc : <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get_points : t <span class="keywordsign">-></span> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Input</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">FITC</span>.<span class="constructor">Input</span>.t<br> <span class="keyword">val</span> calc : <span class="constructor">FITC</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Input</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inputs</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">FITC</span>.<span class="constructor">Inputs</span>.t<br> <span class="keyword">val</span> create_default_kernel :<br> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> n_inducing:int <span class="keywordsign">-></span> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t<br> <span class="keyword">val</span> calc : <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> <span class="constructor">FITC</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get_points : t <span class="keywordsign">-></span> <span class="constructor">FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Model</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Variational_FITC</span>.<span class="constructor">Model</span>.t<br> <span class="keyword">type</span> co_variance_coeffs = <span class="constructor">Variational_FITC</span>.<span class="constructor">Model</span>.co_variance_coeffs<br> <span class="keyword">val</span> calc : <span class="constructor">Variational_FITC</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> sigma2:float <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> update_sigma2 : t <span class="keywordsign">-></span> float <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> calc_log_evidence : t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> calc_co_variance_coeffs : t <span class="keywordsign">-></span> co_variance_coeffs<br> <span class="keyword">val</span> get_kernel : t <span class="keywordsign">-></span> <span class="constructor">Variational_FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t<br> <span class="keyword">val</span> get_sigma2 : t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> get_inputs : t <span class="keywordsign">-></span> <span class="constructor">Variational_FITC</span>.<span class="constructor">Inputs</span>.t<br> <span class="keyword">val</span> get_inducing : t <span class="keywordsign">-></span> <span class="constructor">Variational_FITC</span>.<span class="constructor">Inducing</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Trained</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Variational_FITC</span>.<span class="constructor">Trained</span>.t<br> <span class="keyword">val</span> calc : <span class="constructor">Variational_FITC</span>.<span class="constructor">Model</span>.t <span class="keywordsign">-></span> targets:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> calc_mean_coeffs : t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> calc_log_evidence : t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> get_model : t <span class="keywordsign">-></span> <span class="constructor">Variational_FITC</span>.<span class="constructor">Model</span>.t<br> <span class="keyword">val</span> get_targets : t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Stats</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = {<br> n_samples : int;<br> target_variance : float;<br> sse : float;<br> mse : float;<br> rmse : float;<br> smse : float;<br> msll : float;<br> mad : float;<br> maxad : float;<br> }<br> <span class="keyword">val</span> calc_n_samples : <span class="constructor">Trained</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> calc_target_variance : <span class="constructor">Trained</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> calc_sse : <span class="constructor">Trained</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> calc_mse : <span class="constructor">Trained</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> calc_rmse : <span class="constructor">Trained</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> calc_smse : <span class="constructor">Trained</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> calc_msll : <span class="constructor">Trained</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> calc_mad : <span class="constructor">Trained</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> calc_maxad : <span class="constructor">Trained</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> calc : <span class="constructor">Trained</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Mean_predictor</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Variational_FITC</span>.<span class="constructor">Mean_predictor</span>.t<br> <span class="keyword">val</span> calc : <span class="constructor">Variational_FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> coeffs:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> calc_trained : <span class="constructor">Variational_FITC</span>.<span class="constructor">Trained</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get_inducing : t <span class="keywordsign">-></span> <span class="constructor">Variational_FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t<br> <span class="keyword">val</span> get_coeffs : t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Mean</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Variational_FITC</span>.<span class="constructor">Mean</span>.t<br> <span class="keyword">val</span> calc :<br> <span class="constructor">Variational_FITC</span>.<span class="constructor">Mean_predictor</span>.t <span class="keywordsign">-></span> <span class="constructor">Variational_FITC</span>.<span class="constructor">Input</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get : t <span class="keywordsign">-></span> float<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Means</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Variational_FITC</span>.<span class="constructor">Means</span>.t<br> <span class="keyword">val</span> calc :<br> <span class="constructor">Variational_FITC</span>.<span class="constructor">Mean_predictor</span>.t <span class="keywordsign">-></span> <span class="constructor">Variational_FITC</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get : t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Co_variance_predictor</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Variational_FITC</span>.<span class="constructor">Co_variance_predictor</span>.t<br> <span class="keyword">val</span> calc :<br> <span class="constructor">Variational_FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Variational_FITC</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Variational_FITC</span>.<span class="constructor">Model</span>.co_variance_coeffs <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> calc_model : <span class="constructor">Variational_FITC</span>.<span class="constructor">Model</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Variance</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Variational_FITC</span>.<span class="constructor">Variance</span>.t<br> <span class="keyword">val</span> calc :<br> <span class="constructor">Variational_FITC</span>.<span class="constructor">Co_variance_predictor</span>.t <span class="keywordsign">-></span><br> sigma2:float <span class="keywordsign">-></span> <span class="constructor">Variational_FITC</span>.<span class="constructor">Input</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get : ?predictive:bool <span class="keywordsign">-></span> t <span class="keywordsign">-></span> float<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Variances</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Variational_FITC</span>.<span class="constructor">Variances</span>.t<br> <span class="keyword">val</span> calc_model_inputs : <span class="constructor">Variational_FITC</span>.<span class="constructor">Model</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> calc :<br> <span class="constructor">Variational_FITC</span>.<span class="constructor">Co_variance_predictor</span>.t <span class="keywordsign">-></span><br> sigma2:float <span class="keywordsign">-></span> <span class="constructor">Variational_FITC</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get : ?predictive:bool <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Covariances</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> calc_model_inputs : <span class="constructor">Model</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> calc : <span class="constructor">Co_variance_predictor</span>.t <span class="keywordsign">-></span> sigma2:float <span class="keywordsign">-></span> <span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get : ?predictive:bool <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> get_variances : t <span class="keywordsign">-></span> <span class="constructor">Variances</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Sampler</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Variational_FITC</span>.<span class="constructor">Sampler</span>.t<br> <span class="keyword">val</span> calc :<br> ?predictive:bool <span class="keywordsign">-></span><br> <span class="constructor">Variational_FITC</span>.<span class="constructor">Mean</span>.t <span class="keywordsign">-></span> <span class="constructor">Variational_FITC</span>.<span class="constructor">Variance</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> sample : ?rng:<span class="constructor">Gsl</span>.<span class="constructor">Rng</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> samples : ?rng:<span class="constructor">Gsl</span>.<span class="constructor">Rng</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> n:int <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Cov_sampler</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> calc : ?predictive:bool <span class="keywordsign">-></span> <span class="constructor">Means</span>.t <span class="keywordsign">-></span> <span class="constructor">Covariances</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> sample : ?rng:<span class="constructor">Gsl</span>.<span class="constructor">Rng</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> samples : ?rng:<span class="constructor">Gsl</span>.<span class="constructor">Rng</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> n:int <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>