Cover Problem
OptEnrichedSetCover.CoverParams
— TypeCoverParams(; [sel_tax=0.0], [set_shape=1.0],
[min_weight=1E-2], [mask_discount=0.9], [setXset_factor=1.0],
[uncovered_factor=0.1], [covered_factor=0.001],
[set_relevance_shape=0.5], [set_relevance_min=0.5]) -> CoverParams
Specify parameters for the AbstractCoverProblem
. One can specify a non-default value for a particular parameter.
See cover quality score for the detailed description of the parameters.
Arguments
sel_tax
: $\epsilon$, the constant added to the set score of each selected set to penalize the number of sets in the coverset_shape
: $\beta$, applied to set or set×set scoresmin_weight
: minimal non-zero set probability ???mask_discount
: $\alpha$, how much the overlap score of each subsequent mask (from most to less enriched) is discountedsetXset_factor
: $w_r$, the weight of redundancy cover quality component (setXset_score
scale), 0 = no redunancy penaltyuncovered_factor
: $w_u$, the weight of uncovered hits component in cover qualitycovered_factor
: $w_c$, the weight of covered non-hits component in cover qualityset_relevance_shape
: $\beta_L$, how much set relevance affects set score, 0 = no effectset_relevance_min
: $L_{\min$, if shaped relevance is below, it's set toset_relevance_min
OptEnrichedSetCover.overlap_score
— FunctionLinear component of an individual masked set score for the CoverProblem
. Doesn't take into account the overlap with the other selected sets.
OptEnrichedSetCover.CoverEnumerationParams
— TypeParameters for collect(mosaic::MaskedSetMosaic)
.
OptEnrichedSetCover.AbstractCoverProblem
— TypeAbstractCoverProblem{T}
Optimal Enriched-Set Cover problem – choose the sets from the collection 𝒞
to cover the masked(selected) elements M
. The optimal sets cover C = {c₁, c₂, ..., cₙ} ⊂ 𝒞
has to deliver 3 goals:
- be relevant (i.e. minimize the P-values of
M
andcᵢ
sets overlap) - be minimal (i.e. minimize the number of sets in
C
) - be non-redundant (i.e. minimize the P-values of the pairwise non-overlap of
C
sets with each other).
Fuzzy set selection is possible – each set is assigned a weight from [0, 1]
range.
OptEnrichedSetCover.nvars
— FunctionTotal number of problem variables.
OptEnrichedSetCover.MultiobjCoverProblem
— TypeAbstract multi-objective optimal Enriched-Set Cover problem.
See "Method Description" for more details.
OptEnrichedSetCover.MaskedSetCoverProblem
— TypeMulti-objective optimal Enriched-Set Cover problem that uses MaskedSetMosaic to define the coverage scores based on the set weights and masked elements coverage.
See "Method Description" for more details.
OptEnrichedSetCover.MultiobjOptimizerParams
— TypeParameters for the Borg-based optimization of MultiobjCoverProblem
.
See optimize
.
OptEnrichedSetCover.optimize
— Functionoptimize(problem::MultiobjCoverProblem,
[opt_params::MultiobjOptimizerParams]) -> MultiobjCoverProblemResult
Optimize MultiobjCoverProblem
and return the result. Uses Borf multi-objective optimization method from BlackBoxOptim.jl package.
OptEnrichedSetCover.MultiobjProblemSoftFold2d
— TypeTransforms the 4-component cover quality score into 2-component score that makes the highly redundant solutions dominated by any less redundant ones.
See "Cover score convolution" section for the discussion.
Arguments
setXset_factor
: $w_r$, same as inCoverParams
uncovered_factor
: $w_u$, same as inCoverParams
covered_factor
: $w_c$, same as inCoverParams
ratio_threshold
: $k_{\max}$, defaults to 1shape
: $\alpha_k$, defaults to 0.5.
OptEnrichedSetCover.score
— Functionscore(w::AbstractVector{Float64}, problem) -> NTuple{4, Float64}
Unfolded multiobjective score (fitness) of the OESC coverage.
w
: probabilities of the sets being covered
See "Cover quality".
OptEnrichedSetCover.MultiobjCoverProblemResult
— TypeThe result of optimize
. Contains the solutions on the Pareto front: weights of the annotation terms and corresponding cover scores.
OptEnrichedSetCover.CoverCollection
— TypeThe collection of masked set covers.
Base.collect
— MethodGreedy enumeration of enriched-set covers.
- At each iteration an optimal enriched-set cover problem is being solved.
- The sets selected at current iteration are removed from further consideration.
- The process continues with the reduced collection until the result is an empty collection or the last cover is much worse than the first one.
Returns CoverCollection
.
DataFrames.DataFrame
— MethodConvert covers
, a collection of the covers of mosaic
, into a DataFrame
.