8 votos

Bayesion reincidentes en regresión ridge con scikit aprenden ' modelo lineal s

Estoy usando scikit aprender del modelo lineal para hacer regresión ridge. Ridge regresión penaliza a los parámetros para alejarse de cero. Quiero penalizar para alejarse de un determinado antes, con cada uno de los parámetros que tienen diferentes antes.

Es esto posible con scikit aprender del modelo lineal? Yo sé que hay un BayesianRidge módulo de allí, pero no estoy seguro de lo que hace.

13voto

Dougnukem Puntos 183

Ridge regresión parece:

$$ \min_{\beta}||Y-X\beta||^2 + \lambda_1 ||\beta||^2 $$

Si quieres en lugar de calcular

$$ \beta^* = \arg\min_{\beta}||Y-X\beta||^2 + \lambda_1 ||\beta \beta_0||^2 $$

Supongo que sólo podría convertir esto en reducción a cero en el uso de la nueva variable

$$\theta = \beta - \beta_0.$$

Así que vas a resolver:

$$ \theta^* := \arg\min_{\theta}||Y-X\beta_0-X \theta||^2 + \lambda_1 ||\theta||^2 $$

A continuación, aplicar el cambio de las variables de nuevo (es decir, $\beta^* := \theta^* + \beta_0$).

Así que para recapitular, si tengo un poco de negro función de cuadro de $\text{RidgeRegression}(Y,X, \lambda)$, lo puedo usar para resolver un arbitraria antes de $\beta_0$ simplemente llamando $\text{RidgeRegression}(Y-X\beta_0, X, \lambda)$.

0voto

Susie G. Puntos 26

Lo que está posteado en la única respuesta por Dapz no hace lo que se supone debe hacer. Si elijo un valor > 0 cualquiera del $\beta_0$, decir "i-ésimo", el % correspondiente $\beta^*$de "i" será menor que con la regresión ridge estándar, en lugar de superior como debe ser (porque nos castigan para alejarse algo > 0, en lugar de 0).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X