AgnosticBayesEnsemble.GMatrix
— MethodGMatrix( d::Int64 )
compute transformation matrix G.
#Arguments
- `d::Int64`: number of hypothesis used for prediction.
#Return
- `Matrix{Float64}`: transformation matrix G.
AgnosticBayesEnsemble.bootstrapPosteriorCorEstimation
— MethodbootstrapPosteriorCorEstimation( 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.bootstrapPosteriorCorEstimation
— MethodbootstrapPosteriorCorEstimation( 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!
— MethodbootstrapPosteriorEstimation!( 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.bootstrapPosteriorEstimation
— MethodbootstrapPosteriorEstimation( 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.directOptimHinge
— MethoddirectOptimHinge( 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.directOptimNaiveMSE
— MethoddirectOptimNaiveMSE( 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!
— MethoddirichletPosteriorEstimation!( 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.dirichletPosteriorEstimation
— MethoddirichletPosteriorEstimation( 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.dirichletPosteriorEstimation
— MethoddirichletPosteriorEstimation( 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.dirichletPosteriorEstimationV2
— MethoddirichletPosteriorEstimationV2( 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.dirichletPosteriorEstimationV2
— MethoddirichletPosteriorEstimationV2( 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.metaParamSearchValidationDirichlet
— MethodmetaParamSearchValidationDirichlet( 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.objFunctionHinge
— MethodobjFunctionHinge( 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.objFunctionMSE
— MethodobjFunctionMSE( 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.predictEnsemble
— MethodpredictEnsemble( 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.predictEnsemble
— MethodpredictEnsemble( 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.
AgnosticBayesEnsemble.tobin
— Methodtobin( num::Int64 )