Enfoque bayesiano al aprendizaje automático para la respuesta de Bernoulli.Tengo un conjunto de datos donde tengo aproximadamente 2000 observaciones de aproximadamente 150 características o covariables. Estoy tratando de predecir un resultado de 0/1. El resultado es una puntuación de riesgo para la enfermedad, R1. El ensayo genera todos los valores de características (F1, ..., F150) en una base de datos, así como un valor de riesgo para una enfermedad relacionada (R0). La idea es que el R0 es altamente predictivo para R1, y que si usamos las funciones F1, ..., F150 podríamos tener algún tipo de regla de actualización que podemos aplicar a R0. Dicho de otra manera, estoy pensando en usar R0 como el parámetro de Bernoulli para una distribución previa de R1 y, de alguna manera, entrenar una fórmula de actualización para usar en R0 según los valores de F1, ..., F150.
El algoritmo de entrenamiento tendría que permitir construir un modelo de puntuación de probabilidad 0/1 que nos permita especificar un valor previo para la puntuación. Esto suena como un problema bayesiano bastante directo. Pero no he hecho esto antes y no estoy seguro de cómo se incorporaría la información de la característica en la expresión de actualización de parámetros.
¿Generaríamos una segunda puntuación de probabilidad?
¿Usaríamos el predictor lineal antes de entrar en la transformación logit?
¿Modificaríamos R0 de alguna manera aditiva, o por algún factor multipicativo?
Claramente tengo más preguntas que respuestas. Si alguien me puede orientar en la dirección correcta sería genial. Si JMP permite este tipo de cosas, me encantaría saberlo.
Re: Enfoque bayesiano al aprendizaje automático para la respuesta de BernoulliSí, el 100% de las funciones se utilizan para calcular p0. El sistema en realidad genera miles de funciones, pero necesitábamos poder validar el algoritmo para calcular p0 fuera de línea. Entonces encontramos (a través de la lectura del código) cada característica que se usó para calcular p0 y las guardamos. Tenga en cuenta que el "cálculo" de p0 en función de las funciones es demasiado complejo e implícito como para dejarlo escribir (cientos de clasificadores binarios en configuraciones paralelas y en serie, no construí el sistema). Pero sí sabemos que hemos capturado todas las feraturas necesarias y suficientes para realizar una simulación fuera de línea y validar el cálculo para p0.
Mi objetivo es no modificar nada sobre el modelo para calcular p0. Es para ver si, por casualidad, las mismas características pueden contener cierta información "mágica" que nos permite predecir alguna otra enfermedad. Mi pensamiento es que es poco probable, especialmente porque las características se han generado específicamente para, de una manera óptima y mínima, predecir D0. Probablemente hay algunas formas teóricas de la información para probar este supuesto.
Nuevamente, tengo que encontrar un wat justo y de principios para mostrar que el concepto simplemente no funcionará o que funcionará. Ha sido fácil generar un montón de banderas rojas (deriva covariable como ejemplo). Mi intento de usar algún tipo de enfoque "bayesiano" modificado es mi manera de usar la mejor estadística para la cual se diseñaron las características, y luego ver si hay alguna información residual, independiente, que pueda ayuda predecir D1. Soy escéptico, pero estoy en un grupo donde otros (directivos) tienen una visión dogmática de que el aprendizaje automático puede resolver mágicamente cualquier problema imaginable. No aprecian que la mayoría de estos modelos (LASSO, cresta, PLS) son, al final del día, solo modelos lineales de efectos principales simples (generalizados).
Una vez más, aprecio su compromiso. Ha sido de mucha ayuda.
Re: Enfoque bayesiano al aprendizaje automático para la respuesta de BernoulliEstoy un poco confundido: dices que tu modelo usa el 100% de las funciones (¡150 de ellas!). Prácticamente todos los modelos de aprendizaje automático que he ejecutado nunca utilizan todas las funciones. Puede ingresarlas todas como sea posible, pero rara vez (nunca) se acostumbran. En cualquier caso, si cree que su modelo es demasiado complejo, puede abandonar cada característica (tediosa, pero probablemente alguien pueda ayudar a escribir esto) individualmente para ver cuánto disminuye el rendimiento. Una versión alternativa de esto, que he visto en otro software pero aún no en JMP, es reemplazar cada característica (una a la vez) con datos aleatorios y comparar el rendimiento.
También parece querer ver si puede obtener mejores predicciones agregando algo al modelo que ya tiene (¿qué queda por agregar si todas las características ya están en él?). Creo que hay muchas maneras de hacer esto, pero pienso más en probar diferentes modelos y usar algún tipo de método conjunto para combinarlos, en lugar de usar funciones adicionales. El promedio del modelo bayesiano es una forma de hacer esto. Pero su idea original de usar su primer modelo como anterior y luego agregar características para producir una "actualización bayesiana" todavía no tiene sentido para mí.
Re: Enfoque bayesiano al aprendizaje automático para la respuesta de BernoulliGracias dale
Probablemente estoy bastante de acuerdo contigo. La intención del proyecto es ver si las características, que ya se usaron para entrenar en D0, podrían tener alguna información "ortogonal" que se puede usar para predecir D1. Replanteado, el ruido en el modelo original para p0, que es un modelo increíblemente complejo basado en el 100% de las características, contiene cualquier información que pueda usarse para entrenar para p1. Quiero mantener p0 como la estimación inicial, ya que ya ha demostrado ser bastante útil para D0.
Si solo sigo adelante y, de manera similar, uso algo como LASSO (o cresta o PLS o ...) para entrenar un modelo para p1 según las características, obtengo un mejor rendimiento que predecir D1 utilizando solo p0. Pero soy escéptico de que, sin saberlo, podría estar entrenando sobre el ruido con todo el CV en marcha. Además, tengo pruebas de experimentos independientes de que el modelo para p1 sufre un cambio covariable, mientras que p0 es bastante resistente a diferentes conjuntos de datos.
Por supuesto, me toca a mí aprobar o desaprobar el concepto de whoe, por lo que quiero desafiar al mismo tiempo el cocept y darle la mejor oportunidad. Por eso me inclino por este enfoque "bayesiano". Es un poco exagerado llamarlo bayesiano, estoy de acuerdo, porque no observamos un evento de Bernoulli, solo podemos ver los predicados en un modelo para el parámetro anterior.
Aprecio tus pensamientos.
Re: Enfoque bayesiano al aprendizaje automático para la respuesta de BernoulliNo soy un experto bayesiano, pero me parece que lo que quieres hacer no es correcto. La actualización bayesiana generalmente se refiere a la incorporación de nueva información, como puntos de datos adicionales. ¿Por qué añadir características adicionales? Solo ponlos en tu modelo original. O, si usa algo como árboles reforzados, el algoritmo ya usará las características para "actualizar" sus predicciones según el grado en el que realiza clasificaciones incorrectas. En otras palabras, creo que está sugiriendo un aparato que parecería "bayesiano", pero en realidad solo está examinando cuánto contribuye cada característica al modelo, dadas las otras características del modelo. Básicamente, eso es lo que hacen todos los modelos predictivos: dejar de lado algunas funciones manualmente y luego agregarlas para ver cómo las predicciones cambian como si estuviéramos haciendo manualmente lo que los modelos predictivos hacen automáticamente.
Por favor, si estoy equivocado acerca de esto, alguien me arregla.