Saltar al contenido principal
LibreTexts Español

16.2: Clasificación—Técnicas Bayesianas

  • Page ID
    54920
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Considerar el problema de identificar proteínas mitocondriales. Si observamos el genoma humano, ¿cómo determinamos qué proteínas están involucradas en los procesos mitocondriales, o más generalmente qué proteínas están dirigidas a las mitocondrias1? 1 Esto es particularmente útil porque si conocemos las proteínas mitocondriales, podemos estudiar cómo estas proteínas median los procesos de la enfermedad y las funciones metabólicas. El método de clasificación que veremos considera 7 características para todas las proteínas humanas:

    1. señal de focalización
    2. dominios proteicos
    3. coexpresión
    4. espectrometría de masas

    5. homología de secuencia

    6. inducción

    7. motivos

    Nuestro enfoque general será determinar cómo se distribuyen estas características tanto para proteínas mitocondriales como no mitocondriales. Entonces, dada una nueva proteína, podemos aplicar análisis probabilísticos a estas siete características para decidir en qué clase cae más probablemente.

    Funciones individuales y regla de Bayes

    Al principio, centrémonos en una característica. Primero debemos asumir que existe una distribución dependiente de clase para las entidades. Primero debemos derivar esta distribución a partir de datos reales. Lo segundo que necesitamos es la posibilidad a priori de dibujar una muestra de clase particular antes de mirar los datos. La posibilidad de obtener una clase en particular es simplemente el tamaño relativo de la clase. Una vez que tenemos estas probabilidades, podemos usar la regla de Bayes para obtener la probabilidad de que una muestra esté en una clase particular dados los datos (esto se llama el posterior). Tenemos probabilidades generativas hacia adelante y usamos las reglas de Bayes para realizar la inferencia hacia atrás. Tenga en cuenta que no basta con considerar la probabilidad de que la entidad se haya extraído de cada distribución dependiente de clase, porque si supiéramos a priori que una clase (digamos la clase A) es mucho más común que la otra, entonces debería tomar evidencia abrumadora de que la entidad se extrajo de la distribución de la clase B para nosotros para creer que la característica era efectivamente de la clase B. La forma correcta de encontrar lo que necesitamos con base tanto en evidencia como en conocimiento previo es usar la Regla de Bayes:

    \[ P( Class \mid feature )=\left(\frac{P(\text { feature } \mid \text { Class }) P(\text { Class })}{P(\text { feature })}\right) \nonumber \]

    • Posterior: P (Class|Feature)

    • Previo: P (Clase)
    • Probabilidad: P (Característica|Clase)

    Esta fórmula nos da exactamente la conexión que necesitamos para convertir las probabilidades de características conocidas en proba- bilidades de clase para nuestro algoritmo de clasificación. Nos permite integrar tanto la probabilidad que derivamos de nuestras observaciones como nuestro conocimiento previo sobre lo común que es algo. En el caso del ADNmt, por ejemplo, podemos estimar que el ADN mitocondrial constituye algo así como 1500/21000 (es decir, menos del 10%) del genoma humano. Por lo tanto, aplicando la regla de Bayes, nuestro clasificador solo debe clasificar un gen como mitocondrial si existe una probabilidad muy fuerte basada en las características observadas, ya que la probabilidad previa de que algún gen sea mitocondrial es tan baja.

    Con esta regla, ahora podemos formar una regla de máxima verosimilitud para predecir una clase de objetos basada en una entidad observada. Queremos elegir la clase que tenga la probabilidad más alta dada la característica observada, por lo que elegiremos Class1 en lugar de Clase2 si:

    \[ \left(\frac{P(\text { feature } \mid \text { Class } 1) P(\text { Class } 1)}{P(\text { feature })}\right)>\left(\frac{P(\text { feature } \mid \text { Class } 2) P(\text { Class } 2)}{P(\text { feature })}\right) \nonumber \]

    Observe que P (entidad) aparece en ambos lados, por lo que podemos cancelarlo por completo, y simplemente elegir la clase con el valor más alto de P (Feature|Class) P (Class).

    Otra forma de ver esto es como una función discriminante: Al reorganizar las fórmulas anteriores y tomar el logaritmo, debemos seleccionar Class1 en lugar de Clase2 precisamente cuando

    \[\log \left(\frac{P(\mathrm{X} \mid \mathrm{Class} 1) P(\text { Class } 1)}{P(\mathrm{X} \mid \text { Class } 2) P(\text { Class } 2)}\right)>0 \nonumber \]

    En este caso el uso de logaritmos aporta distintas ventajas:

    1. Estabilidad numérica
    2. Matemáticas más fáciles (es más fácil agregar los términos expandidos que multiplicarlos)

    3. Aumentan monótonamente los discriminadores.

    Esta función discriminante no capta las penalizaciones asociadas a la clasificación errónea (es decir, es una clasificación más perjudicial que otra). En este caso, esencialmente estamos minimizando el número de clasificaciones erróneas que hacemos en general, pero no asignando sanciones a clasificaciones erróneas individuales. A partir de ejemplos discutidos en clase y en el conjunto de problemas -si estamos tratando de clasificar a un paciente como que tiene cáncer o no, se podría argumentar que es mucho más dañino clasificar erróneamente a un paciente como sano si tiene cáncer que clasificar erróneamente a un paciente como que tiene cáncer si está sano. En el primer caso, el paciente no será atendido y tendría más probabilidades de morir, mientras que el segundo error implica dolor emocional pero no mayor probabilidad de pérdida de vidas. Para formalizar la penalización de clasificación errónea definimos algo llamado una función de pérdida, Lkf, que asigna una pérdida a la clasificación errónea de un objeto como clase j cuando la clase verdadera es la clase k (un ejemplo específico de una función de pérdida se vio en el conjunto de problemas 2).

    Recopilación de datos

    El precedente nos dice cómo manejar las predicciones si ya conocemos las probabilidades exactas correspondientes a cada clase. Si queremos clasificar las proteínas mitocondriales en función de la característica X, aún necesitamos formas de determinar las probabilidades P (mito), P (no mito), P (x|mito) y P (x|no mito). Para ello, necesitamos un conjunto de entrenamiento: un conjunto de datos que ya están clasificados que nuestro algoritmo puede utilizar para aprender las distribuciones correspondientes a cada clase. Un conjunto de entrenamiento de alta calidad (uno que es a la vez grande e imparcial) es la parte más importante de cualquier clasificador. Una pregunta importante en este punto es, ¿cuántos datos necesitamos sobre genes conocidos para construir un buen clasificador para genes desconocidos? Esta es una pregunta dura cuya respuesta no se conoce del todo. Sin embargo, hay algunos métodos simples que pueden darnos una buena estimación: cuando tenemos un conjunto fijo de datos de entrenamiento, podemos mantener un conjunto de holdout que no usamos para nuestro algoritmo, y en su lugar usar esos puntos de datos (conocidos) para probar la precisión de nuestro algoritmo cuando intentamos clasificarlos. Al probar diferentes tamaños de entrenamiento versus conjunto de holdout, podemos verificar la curva de precisión de nuestro algoritmo. En términos generales, tenemos suficientes datos de entrenamiento cuando vemos que la curva de precisión se aplana a medida que aumentamos la cantidad de datos de entrenamiento (esto indica que es probable que los datos adicionales den solo una ligera mejora marginal). El conjunto de retención también se llama el conjunto de prueba, porque nos permite probar la potencia de generalización de nuestro clasificador.

    Supongamos que ya hemos recopilado nuestros datos de capacitación, sin embargo, ¿cómo debemos modelar P (X|Class)? Hay muchas posibilidades. Una es usar el mismo enfoque que hicimos con la agrupación en la última conferencia y modelar la característica como gaussiana luego podemos seguir el principio de máxima verosimilitud para encontrar el mejor centro y varianza. La utilizada en el estudio mitocondrial es una estimación de densidad simple: para cada característica, dividir el rango de posibilidades en un conjunto de bins (digamos, cinco bins por entidad). Luego usamos los datos dados para estimar la probabilidad de que una entidad caiga en cada bin para una clase dada. El principio detrás de esto es nuevamente la máxima verosimilitud, pero para una distribución multinomial más que a una gaussiana. Podemos optar por discretizar una distribución continua, ya que estimar una distribución continua puede ser compleja.

    Hay un problema con esta estrategia: ¿y si uno de los contenedores tiene cero muestras en ella? Una probabilidad de cero anulará todo lo demás en nuestras fórmulas, de modo que en lugar de pensar que este bin es simplemente improbable, nuestro clasificador va a creer que es imposible. Hay muchas soluciones posibles, pero la que se toma aquí es aplicar la Corrección de Laplace: agregar una pequeña cantidad (digamos, un elemento) a cada bin, para dibujar estimaciones de probabilidad ligeramente hacia uniformes y dar cuenta del hecho de que (en la mayoría de los casos) ninguno de los bins es realmente imposible. Otra forma de evitar tener que aplicar la corrección es elegir bins que no sean demasiado pequeños para que los bins no tengan cero muestras en ellos en la práctica. Si tienes muchos muchos puntos, puedes tener más bins, pero corres el riesgo de sobreajustar tus datos de entrenamiento.

    Estimación de Priores

    Ahora tenemos un método para aproximar la distribución de entidades para una clase dada, pero aún necesitamos conocer la probabilidad relativa de las clases mismas. Hay tres enfoques generales:

    1. Estimar los antecedentes contando la frecuencia relativa de cada clase en los datos de entrenamiento. Esto es propenso al sesgo, sin embargo, ya que los datos disponibles a menudo están sesgados de manera desproporcionada hacia clases menos comunes (ya que a menudo son objeto de estudios especiales). Si tenemos una muestra de alta calidad (representativa) para nuestros datos de capacitación, sin embargo, esto funciona muy bien.
    2. Estimación a partir del conocimiento experto: puede haber estimaciones previas obtenidas por otros métodos inde- pendent de nuestros datos de entrenamiento, que luego podemos usar como una primera aproximación en nuestras propias predicciones. Es decir, podrías preguntar a los expertos cuál es el porcentaje de proteínas mitocondriales.
    3. Supongamos que todas las clases son igualmente probables que normalmente haríamos esto si no tenemos ninguna información sobre las frecuencias verdaderas. Esto es efectivamente lo que hacemos cuando usamos el principio de máxima verosimilitud: nuestro algoritmo de agrupamiento estaba esencialmente usando el análisis bayesiano bajo el supuesto de que todos los antecedentes son iguales. Esto es en realidad una suposición fuerte, pero cuando no tienes otros datos, esto es lo mejor que puedes hacer.

    Para clasificar el ADN mitocondrial utilizamos el método (2), ya que ya se conocían algunas estimaciones sobre las proporciones de ADNmt. Pero hay una complicación hay más de 1 características.

    Múltiples características y Naive Bayes

    Al clasificar el ADN mitocondrial, estábamos viendo 7 características y no solo una. Para usar los métodos anteriores con múltiples características, necesitaríamos no solo un bin para cada rango de características individual, sino uno para cada combinación de características si observamos dos entidades con cinco rangos cada una, eso ya es 25 bins. Las siete características nos dan casi 80,000 contenedores y podemos esperar que la mayoría de esos contenedores estén vacíos simplemente porque no tenemos suficientes datos de capacitación para llenarlos todos. Esto causaría problemas porque los ceros provocan infinitos cambios en las probabilidades de estar en una clase. Claramente este enfoque no escalará bien ya que agregamos más características, por lo que necesitamos estimar las probabilidades combinadas de una mejor manera.

    La solución que usaremos es asumir que las entidades son independientes, es decir, que una vez que conocemos la clase, la distribución de probabilidad de cualquier entidad no se ve afectada por los valores de las otras entidades. Esta es la Asunción Nave Bayes, y casi siempre es falsa, pero a menudo se usa de todos modos por las razones combinadas de que es muy fácil de manipular matemáticamente y muchas veces se acerca lo suficientemente a la verdad que da una aproximación razonable. (Tenga en cuenta que esta suposición no dice que todas las entidades sean independientes: si miramos el modelo general, puede haber conexiones fuertes entre diferentes entidades, pero la suposición dice que esas conexiones están divididas por las diferentes clases, y que dentro de cada clase individual no hay más dependencias.) Además, si sabes que algunas características están acopladas, podrías aprender la distribución conjunta en solo algunos pares de las entidades.

    Una vez que asumimos la independencia, la probabilidad de características combinadas es simplemente el producto de las probabilidades individuales asociadas a cada característica. Así que ahora tenemos:

    \[ P\left(f_{1}, f_{2}, K, f_{N} \mid\right. Class )=P\left(f_{1} \mid\right. Class ) P\left(f_{2} \mid\right. Class ) K P\left(f_{N} \mid\right. Class ) \nonumber \]

    Donde f1 representa la entidad 1. Del mismo modo, la función discriminante se puede cambiar a la multiplicación

    de las probabilidades previas:
    \[ G\left(f_{1}, f_{2}, K, f_{N}\right)=\log \left(\frac{\Pi P\left(f_{1} \mid \text { Class } 1\right) P(\text { Class } 1)}{\Pi P\left(f_{1} \mid \text { Class } 2\right) P(\text { Class } 2)}\right) \nonumber \]

    Prueba de un clasificador

    Un clasificador siempre debe probarse sobre datos no contenidos en su conjunto de entrenamiento. Podemos imaginar en el peor de los casos un algoritmo que acaba de memorizar sus datos de entrenamiento y se comportó aleatoriamente en cualquier otra cosa un clasificador que hiciera esto funcionaría perfectamente en sus datos de entrenamiento, pero que no indica nada sobre su rendimiento real en nuevas entradas. Es por ello que es importante utilizar una prueba, o holdout, establecida como se mencionó anteriormente. Sin embargo, una tasa de error simple no encapsula todas las posibles consecuencias de un error. Para un clasificador binario simple (un objeto está en o no en una sola clase de destino), existen los siguientes para los tipos de errores:

    1. Verdadero positivo (TP)

    2. Verdadero negativo (TN)

    3. Falso positivo (FP)

    4. Falso negativo (FN)

    La frecuencia de estos errores se puede encapsular en métricas de rendimiento de un clasificador que se definen como,

    1. Sensibilidad ¿qué fracción de objetos que están en una clase se etiquetan correctamente como esa clase? Es decir, ¿qué fracción tiene verdaderos resultados positivos? Alta sensibilidad significa que es muy probable que los elementos de una clase sean etiquetados como esa clase. Baja sensibilidad significa que hay demasiados falsos negativos.
    2. Especificidad ¿qué fracción de objetos que no están en una clase están correctamente etiquetados como no estar en esa clase? Es decir, ¿qué fracción tiene verdaderos resultados negativos? Alta especificidad significa que los elementos etiquetados como pertenecientes a una clase son muy propensos a pertenecer realmente a ella. Baja especificidad significa que hay demasiados falsos positivos.

    En la mayoría de los algoritmos existe un compromiso entre sensibilidad y especificidad. Por ejemplo, podemos alcanzar una sensibilidad del 100% etiquetando todo como perteneciente a la clase objetivo, pero tendremos una especificidad del 0%, por lo que esto no es útil. Generalmente, la mayoría de los algoritmos tienen algún límite de probabilidad que utilizan para decidir si etiquetar un objeto como perteneciente a una clase (por ejemplo, nuestra función discriminante anterior). Elevar ese umbral aumenta la especificidad pero disminuye la sensibilidad, y disminuir el umbral hace lo contrario. El algoritmo MAESTRO para clasificar proteínas mitocondriales (descrito en esta conferencia) alcanza 99% de especificidad y 71% de sensibilidad.

    Clasificación de Proteína Mitocondrial MAESTRO

    Encuentran una distribución dependiente de clase para cada característica al crear varios bins y evaluar la porción de proteínas mitocondriales y no mitocondriales en cada bin. Esto permite evaluar la utilidad de cada característica en la clasificación. Terminas con un montón de clasificadores de fuerza media, pero cuando los combinas entre sí, ojalá termines con un clasificador más fuerte. Calvo et al. [1] buscaron construir predicciones de alta calidad de proteínas humanas localizadas en la mitocondria mediante la generación e integración de conjuntos de datos que proporcionen pistas complementarias sobre la localización mitocondrial. Específicamente, para cada producto génico humano p, asignan una puntuación s i (p), usando cada uno de los siguientes siete conjuntos de datos a escala de genoma, puntuación de señal dirigida, puntaje de dominio de proteína, puntaje de motivo cis, puntaje de homología de levadura, puntaje de ascendencia, puntaje de coexpresión y puntaje de inducción (detalles de cada uno de los significado y contenido de cada uno de estos conjuntos de datos se pueden encontrar en el manuscrito). Cada una de estas puntuaciones s 1 − S 7 se puede utilizar individualmente como un predictor débil de localización mitocondrial en todo el genoma. El desempeño de cada método se evaluó utilizando grandes conjuntos de entrenamiento curados estándar de oro - 654 proteínas mitocondriales T mito mantenidas por la base de datos MiToP2 y 2,847 proteínas no mitocondriales T mito anotadas para localizarse en otros compartimentos celulares. Para mejorar la precisión de la predicción, los autores integraron estos ocho enfoques utilizando un clasificador Bayes de nave que se implementó como un programa llamado MAESTRO. Así podemos tomar varios clasificadores débiles, y combinarlos para obtener un clasificador más fuerte.

    Cuando se aplicó MAESTRO a través del proteoma humano, se predijeron 1451 proteínas como proteínas mitocondriales y se hicieron 450 nuevas predicciones de proteínas. Como se mencionó en el apartado anterior El algoritmo MAESTRO logra una especificidad del 99% y una sensibilidad del 71% para la clasificación de las proteínas mitocondriales, lo que sugiere que incluso con el supuesto de independencia característica, las técnicas de clasificación de Nave Bayes pueden resultar extremadamente poderosas para grandes dimensiones (i.e. genome-wide) clasificación a escala.


    1 Las mitocondrias son la maquinaria productora de energía de la célula. Muy temprano en la vida, las mitocondrias fueron engullidas por el predecesor de los eucariotas modernos, y ahora, tenemos diferentes compartimentos en nuestras células. Entonces la mitoconria tiene su propio genoma, pero está muy agotada de su propio genoma ancestral; solo quedan unos 11 genes. Pero hay cientos de genes que hacen que las mitocondrias funcionen, y estas proteínas son codificadas por genes transcritos en el núcleo, para luego transportarse a las mitocondrias. Entonces el objetivo es averiguar qué proteínas codificadas en el genoma están dirigidas a las mitocondrias. Esto es importante porque existen muchas enfermedades asociadas a la mitoconria, como el envejecimiento.


    This page titled 16.2: Clasificación—Técnicas Bayesianas is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Manolis Kellis et al. (MIT OpenCourseWare) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.