Une méthode générale pour créer des solutions clairsemées est par estimation MAP avec un a priori normal nul avec une variance inconnue.
p(xi|σ2i)∼N(0,σ2i)
Si vous attribuez ensuite un avant à qui a un mode à zéro, le mode postérieur est généralement clairsemé. Le découle de cette approche en prenant une distribution de mélange exponentielle. L 1σ2iL1
p(σ2i|λ)∼Expo(λ22)
Ensuite, vous obtenez
log[p(xi|λ)]=−λ|xi|+log[λ2]
Certaines alternatives sont la double pareto généralisée, la moitié cauchy, la bêta inversée. Dans un certain sens, ils sont meilleurs que le lasso car ils ne réduisent pas les grandes valeurs. En fait, je suis presque sûr que la double pareto généralisée peut être écrite comme un mélange d'exponentielles. C'est-à-dire que nous écrivons puis un gamma avant . On a: p ( λ i | α β )λ=λip(λi|αβ)
p(xi|αβ)=α2β(1+|xi|β)−(α+1)
Notez que j'ai inclus des constantes de normalisation, car elles aident à choisir de bons paramètres globaux. Maintenant, si nous appliquons la restriction de plage, nous avons un problème plus compliqué, car nous devons renormaliser sur le simplexe.
Une autre caractéristique générique des pénalités induisant une faible densité est qu'elles ne sont pas différenciables à zéro. Habituellement, c'est parce que les limites gauche et droite sont de signe opposé.
Ceci est basé sur le brillant travail de Nicolas Polson et James Scott sur les représentations des mélanges de moyennes de variance qu'ils utilisent pour développer TIRLS - une extension massive des moindres carrés à une très grande classe de combinaisons perte-pénalité.
Comme alternative, vous pouvez utiliser un a priori qui est défini sur le simplexe, mais qui a des modes dans les distributions marginales à zéro. Un exemple est la distribution dirichlet avec tous les paramètres entre 0 et 1. La pénalité implicite ressemblerait à:
−∑i=1n−1(ai−1)log(xi)−(an−1)log(1−∑i=1n−1xi)
Où . Cependant, vous devrez être prudent dans l'optimisation numérique car la pénalité a des singularités. Un processus d'estimation plus robuste consiste à utiliser la moyenne postérieure. Bien que vous perdiez la rareté exacte, vous obtiendrez de nombreux moyens postérieurs proches de zéro.0<ai<1