Soy un novato al principio, espero registrar lo que he aprendido como tomar notas, y también espero ayudar a las personas que también están comenzando.
Tabla de contenido
1. Teoría de la decisión bayesiana
(1) Probabilidad previa y probabilidad posterior
2. Estimación de máxima verosimilitud
(3) Supuestos comunes - distribución normal
2. Clasificador bayesiano ingenuo
2. Cálculo de probabilidad posterior
3. Método de máxima verosimilitud para encontrar los parámetros de distribución más adecuados
4. Supuestos comunes: distribución normal
1. Base matemática
1. Teoría de la decisión bayesiana
(1) Probabilidad previa y probabilidad posterior
Probabilidad previa: la probabilidad obtenida de la experiencia y el análisis pasados;
Probabilidad posterior: algo ha sucedido, y se requiere que la razón para que esto suceda sea el tamaño de la posibilidad provocada por un determinado factor (es decir, el valor de probabilidad después de la corrección según la muestra observada).
(2) Teorema de Bayes
Propósito: para resolver el problema de "probabilidad inversa", puede predecir la probabilidad en función de datos pasados y predecir la probabilidad con información limitada.
P(B): Probabilidad previa, es decir, nuestro juicio subjetivo sobre la probabilidad del evento B sin conocer el evento A.
P(A|B)/P(A): La función de posibilidad, es decir, el factor de ajuste, es decir, el ajuste que aporta la nueva información A, para que la probabilidad que se obtiene al multiplicarla por la probabilidad previa se acerque más a la probabilidad real.
Por ejemplo, ahora tenemos una característica y queremos saber la probabilidad de que el objeto con esta característica sea de esta categoría, a saber:
2. Estimación de máxima verosimilitud
(1) Idea básica
Primero suponga que los datos tienen una determinada distribución de probabilidad (todas las muestras son independientes e idénticamente distribuidas), pero sus parámetros son desconocidos, y luego estime los parámetros de la distribución de probabilidad basándose en las muestras de entrenamiento para obtener los parámetros más adecuados.
(2) Derivación de fórmulas
Se establece como un conjunto compuesto por muestras de la c-ésima clase en el conjunto de entrenamiento; es un vector de parámetros de una determinada distribución de probabilidad asumiendo una distribución muestral; x es una muestra en , y el objetivo es:
Encuentre el apropiado para que la fórmula anterior pueda obtener el valor máximo (es decir, encuentre los parámetros apropiados para que más muestras satisfagan esa distribución).
Sin embargo, la fórmula anterior es propensa a desbordarse (romper el límite mínimo), por lo que generalmente se introduce la probabilidad logarítmica
Entonces la fórmula del objetivo final se convierte en:
(3) Supuestos comunes - distribución normal
La solución es: (donde n es el número total de )
;
2. Clasificador bayesiano ingenuo
Los clasificadores Naive Bayes asumen que todos los atributos son independientes entre sí.
1. Configuración de símbolos
Sea el conjunto de atributos de la muestra (n es el número de atributos), que es el valor de la muestra x en el i-ésimo atributo;
El conjunto de categorías de la muestra es
2. Cálculo de probabilidad posterior
"Todos los atributos son independientes entre sí" es el segundo paso de la siguiente fórmula
3. Método de máxima verosimilitud para encontrar los parámetros de distribución más adecuados
Dado que P(x) es el mismo para todas las clases, no es necesario considerar su influencia al encontrar el valor máximo.
Entonces la formulación objetivo se convierte en:
4. Supuestos comunes: distribución normal
eso es
5. Suavizado de Laplace
Para evitar que la información que llevan otros atributos sea borrada por atributos que no aparecen en el conjunto de entrenamiento, se suele realizar un suavizado al estimar la probabilidad.
3. Ventajas y desventajas
1. Ventajas
(1) Simple, alta eficiencia de aprendizaje
(2) La sobrecarga de tiempo y espacio en el proceso de clasificación es pequeña
2. Desventajas
Afectados por el supuesto de independencia entre variables y la distribución asumida
4. Ejemplo de código
from sklearn import metrics
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
from sklearn import datasets
import pandas as pd
from sklearn.metrics import classification_report
data = datasets.load_iris()
iris_target = data.target
iris_features = pd.DataFrame(data=data.data, columns=data.feature_names)
train_x, test_x, train_y, test_y = train_test_split(iris_features, iris_target, test_size=0.3)
clf = GaussianNB()
clf.fit(train_x, train_y)
y_predict = clf.predict(test_x)
accuracy = metrics.accuracy_score(test_y, y_predict)
print(accuracy)
print(classification_report(test_y, y_predict))
producción
Todos son bienvenidos a criticar y corregir en el área de comentarios, gracias~