AgnosticBayesEnsemble.GMatrixMethod
GMatrix( d::Int64 )

compute transformation matrix G.
#Arguments
- d::Int64:        number of hypothesis used for prediction.
#Return
- Matrix{Float64}: transformation matrix G.
AgnosticBayesEnsemble.bootstrapPosteriorCorEstimationMethod
bootstrapPosteriorCorEstimation( predictions::Matrix{Float64}, t::Vector{Float64}, samplingBatchSize::Int64, nrRuns::Int64 )

compute posterior p( h* = h | S ).
#Arguments
- predictions::Matrix{Float64}: each column is the prediction of one hypothesis.
- t::Vector{Float64}:           label vector.
- samplingBatchSize::Int64:     sample size per main iteration.
- nrRuns::Int64:                number of main  iterations.
#Return
- Vector{Float64}:              posterior p( h* = h | S ).
AgnosticBayesEnsemble.bootstrapPosteriorCorEstimationMethod
bootstrapPosteriorCorEstimation( predictions::Vector{Matrix{Float64}}, T::Matrix{Float64}, samplingFactor::Float64, nrRuns::Int64 )

compute posterior p( h* = h | S ).
#Arguments
- predictions::Matrix{Float64}: each column is the prediction of one hypothesis.
- T::Matrix{Float64}:           label matrix.
- samplingBatchSize::Int64:     sample size per main iteration.
- nrRuns::Int64:                number of main  iterations.
#Return
- Vector{Float64}:              posterior p( h* = h | S ).
AgnosticBayesEnsemble.bootstrapPosteriorEstimation!Method
bootstrapPosteriorEstimation!( errMat::Matrix{Float64}, samplingBatchSize::Int64, nrRuns::Int64, p::Array{Float64} )

compute posterior p( h* = h | S ).
#Arguments
- errMat::Matrix{Float64}}: each column is the prediction error of one hypothesis.
- samplingBatchSize::Int64: sample size per main iteration.
- nrRuns::Int64:            number of passes over predictions.
- p::Vector{Float64}:       resulting posterior p( h* = h | S ).
#Return
- nothing:                  nothing.
AgnosticBayesEnsemble.bootstrapPosteriorEstimationMethod
bootstrapPosteriorEstimation( errMat::Matrix{Float64}, samplingBatchSize::Int64, nrRuns::Int64 )

compute posterior p( h* = h | S ).
#Arguments
- errMat::Matrix{Float64}}: each column is the prediction error of one hypothesis.
- samplingBatchSize::Int64: sample size per main iteration.
- nrRuns::Int64:            number of passes over predictions.
#Return
- Vector{Float64}:          Distribution p( h* = h | S ).
AgnosticBayesEnsemble.directOptimHingeMethod
directOptimHinge( predMat::Matrix{Float64}, t::Vector{Float64}, p::Vector{Float64} )

compute refined solution _for_ mixing parameter p.
#Arguments
- predMat::Matrix{Float64}: each column is the prediction _of_ one hypothesis.
- t::Vector{Float64}:       label vector.
- p::Vector{Float64}:       initial solution for mixing coefficients.
#Return
- Vector{Float64}:          improved initial solution.
AgnosticBayesEnsemble.directOptimNaiveMSEMethod
directOptimNaiveMSE( predMat::Matrix{Float64}, t::Vector{Float64}, p::Vector{Float64} )

compute refined solution _for_ mixing parameter p.
#Arguments
- predMat::Matrix{Float64}: each column is the prediction _of_ one hypothesis.
- t::Vector{Float64}:       label vector.
- p::Vector{Float64}:       initial solution for mixing coefficients.
#Return
- Vector{Float64}:          improved initial solution.
AgnosticBayesEnsemble.dirichletPosteriorEstimation!Method
dirichletPosteriorEstimation!( errMat::Matrix{Float64}, nrRuns::Int64, α_::Float64, p::Vector{Float64} )

compute posterior p( h* = h | S ).
#Arguments
- errMat::Matrix{Float64}: each column is the prediction error of one hypothesis.
- nrRuns::Int64:           number of passes over predictions.
- α_::Float64:             meta parameter value.
- p::Vector{Float64}:      return value posterior p( h* = h | S ).
#Return
- nothing:                 nothing.
AgnosticBayesEnsemble.dirichletPosteriorEstimationMethod
dirichletPosteriorEstimation( errMat::Matrix{Float64}, nrRuns::Int64, α_::Float64 )

compute posterior p( h* = h | S ).
#Arguments
- errMat::Matrix{Float64}: each column is the prediction error of one hypothesis.
- nrRuns::Int64:           number of main  iterations.
- α_::Float64:             scalar prior parameter.
#Return
- Vector{Float64}:         posterior p( h* = h | S ).
AgnosticBayesEnsemble.dirichletPosteriorEstimationMethod
dirichletPosteriorEstimation( errMat::Matrix{Float64}, G::Matrix{Float64}, nrRuns::Int64, α_::Float64 )

compute posterior p( h* = h | S ).
# Arguments
- errMat::Matrix{Float64}: each column is the prediction error of one hypothesis.
- G::Matrix{Float64}:      transformation matrix G.
- nrRuns::Int64:           number of sampling runs.
- α_::Float64:             scalar prior parameter.
- sampleSize::Int64:       number of samples per run.
# Return
- Vector{Float64}:         posterior distribution
AgnosticBayesEnsemble.dirichletPosteriorEstimationV2Method
dirichletPosteriorEstimationV2( errMat::Matrix{Float64}, nrRuns::Int64, α_::Float64, sampleSize::Int64 )

compute posterior p( h* = h | S ), alternative version for improved performance.
# Arguments
- errMat::Matrix{Float64}: each column is the prediction of one hypothesis.
- nrRuns::Int64:           number of sampling runs.
- α_::Float64:             scalar prior parameter.
- sampleSize::Int64:       number of samples per run.
# Return
- Vector{Float64}:         posterior distribution p( h* = h | S ).
AgnosticBayesEnsemble.dirichletPosteriorEstimationV2Method
dirichletPosteriorEstimationV2( errMat::Matrix{Float64}, G::Matrix{Float64}, nrRuns::Int64, α_::Float64, sampleSize::Int64 )

compute posterior p( h* = h | S ), alternative version for improved performance.
# Arguments
- errMat::Matrix{Float64}: each column is the prediction error of one hypothesis.
- G::Matrix{Float64}:      transformation matrix G.
- nrRuns::Int64:           number of sampling runs.
- α_::Float64:             scalar prior parameter.
- sampleSize::Int64:       number of samples per run.
# Return
- Vector{Float64}:         posterior distribution posterior p( h* = h | S ).
AgnosticBayesEnsemble.metaParamSearchValidationDirichletMethod
metaParamSearchValidationDirichlet( Y::Matrix{Float64}, t::Vector{Float64}, nrRuns::Int64, minVal::Float64, maxVal::Float64, nSteps::Int64, holdout::Float64, lossFunc )

compute best α parameter regarding predictive performance.
#Arguments
- Y::Matrix{Float64}: each column is the prediction error of one hypothesis.
- t::Vector{Float64}: label vector.
- nrRuns::Int64:      number of passes over predictions.
- minVal::Float64:    minimum value of α.
- maxVal::Float64:    maximum value of α.
- nSteps::Int64:      number of steps between min and max val.
- holdout::Float64:   percentage used in holdout.
- lossFunc:           error function handle.
#Return
- Vector{Float64} x2: α_sequence, performance_sequence.
AgnosticBayesEnsemble.objFunctionHingeMethod
objFunctionHinge( p::Vector{Float64}; predMat::Matrix{Float64}, t::Vector{Float64} )

evaluate MeanSquaredError under given params.
#Arguments
- p::Vector{Float64}:       initial solution.
- predMat::Matrix{Float64}: each column represents predictions of one model.
- t::Vector{Float64}:       ground truth labels.
#Return
- Float64:                  hingeLoss.
AgnosticBayesEnsemble.objFunctionMSEMethod
objFunctionMSE( p::Vector{Float64}; predMat::Matrix{Float64}, t::Vector{Float64} )

evaluate MeanSquaredError under given params.
#Arguments
- p::Vector{Float64}:       initial solution.
- predMat::Matrix{Float64}: each column represents predictions of one model.
- t::Vector{Float64}:       ground truth labels.
#Return
- Float64:                  MeanSquaredError.
AgnosticBayesEnsemble.predictEnsembleMethod
predictEnsemble( predictions::Matrix{Float64}, weights::Vector{Float64} )

perform bayesian ensemble prediction.
#Arguments
- predictions::Matrix{Float64}: each column is the prediction of one hypothesis.
- weights::Vector{Float64}:     mixing weights.
#Return
- Vector{Float64}:              prediction y.
AgnosticBayesEnsemble.predictEnsembleMethod

predictEnsemble( predictions::Vector{Matrix{Float64}}, weights::Vector{Float64} )

perform bayesian ensemble prediction. #Arguments

• predictions::Vector{Matrix{Float64}}: each matrix is the prediction of one hypothesis.
• weights::Vector{Float64}: mixing weights.

#Return

• Vector{Float64}: prediction y.