¿Puede Naive Bayes alcanzar algún rendimiento con suficientes datos?

¿Qué quieres decir con suficientes datos? Creo que quiere preguntar si aumentamos la cantidad de datos de entrenamiento, ¿aumentaría el rendimiento de Naive Bayes? La respuesta es inicialmente Sí, pero luego No, porque después de un tiempo su desempeño se estabiliza. La razón (como sugirieron otros) es que, Naive Bayes hace una suposición simple sobre la independencia de los atributos, que pueden o no ser ciertos en la realidad. Sin embargo, cuando el número de datos es pequeño, funciona bien. Lo bueno es que el modelo aprendido por Naive Bayes es simple; sin embargo, esta simplicidad le impide aprender modelos más complejos a medida que aumenta el número de datos de entrenamiento. Como no se puede aprender un modelo complejo, el rendimiento se estanca y no importará mucho si aumenta los datos de entrenamiento. Por otro lado, los modelos complejos como Deep Networks funcionan peor con una pequeña cantidad de datos, pero a medida que aumenta la cantidad de datos, generalmente funcionan bien.

No

La falta de datos es solo uno de los muchos problemas posibles en Machine Learning. El rendimiento de la clasificación depende de varios factores independientes de la cantidad de datos disponibles: características de calidad, ruido, desequilibrio de clase, desviación del concepto, distribución de datos (…)

No. Ejemplo muy simple en scikit-learn:

importar sklearn.naive_bayes como nb
clf = nb.BernoulliNB ()
X = [[1,1], [1,0], [0,1], [0,0]]
Y = [0,1,1,0]
print (clf.fit (X, Y) .predict (X))
importar sklearn.svm como svm
clf2 = svm.SVC ()
print (clf2.fit (X, Y) .predict (X))

En este ejemplo artificial, suponga que estos son los únicos 4 patrones de entrada posibles: replicar los datos tantas veces como sea necesario para crear un gran conjunto de datos.

Puede ver que el clasificador Naive Bayes tiene una precisión del 50% (a la par con adivinanzas aleatorias) mientras que el SVM proporciona una precisión del 100%.

Este ejemplo aprovecha el hecho de que Naive Bayes asume la independencia de las características, pero el concepto que debe aprenderse es un poco de paridad (lo que significa que la interacción entre las características es esencial para aprenderlas).

No, considere el modelo Naive Bayes que predice cuánto me gustará algo.

Me gusta comer papas fritas con salsa de tomate, me gusta tomar leche con mis galletas. Mi ingenuo modelo de heno nunca entenderá por qué no me gusta el ketchup en mi leche.

Si. Estoy seguro de que siempre puedes encontrar un peor rendimiento.

More Interesting

Los algoritmos de ML escritos en Java funcionan bien para un conjunto de datos más pequeño. Para un conjunto de datos grande, ¿cómo podemos escalar estos algoritmos? ¿Necesitamos buscar algoritmos distribuidos / mapas distribuidos en memoria / NOSQL / archivos para leer y escribir grandes conjuntos de datos o hay alguna buena API?

¿Cómo se puede aprender y dominar un tema?

¿Fallarán todos los modelos de aprendizaje automático en este conjunto de datos?

¿Cuál es mejor para la manipulación de datos en python: Pandas o SFrame?

¿Qué papel juega la función logística en el algoritmo de regresión logística en el aprendizaje automático?

¿Cómo calcula Google los sinónimos de los términos en una consulta de búsqueda?

¿Cuál es la forma óptima de almacenar y cargar un gran conjunto de datos de imágenes?

Cómo comenzar con la visión por computadora

¿Cuáles son algunas características comunes utilizadas en la clasificación basada en audio?

¿Cómo se justifica el uso de la desigualdad de Hoeffding para demostrar que el aprendizaje es factible?

¿Cómo debe prepararse para un programa de maestría / doctorado centrado en la inteligencia artificial?

¿Qué empresas / startups en India están contratando para trabajos de ciencia de datos, análisis de datos o aprendizaje automático?

¿Qué ha causado la gran mejora en los algoritmos de reconocimiento de voz en los últimos años: mejores algoritmos (si es así, ¿cuál?) O la mayor potencia informática?

¿Es útil para un científico de datos conocer métodos ágiles como Scrum?

¿Es indistinguible si el método t-SNE no muestra dos grupos claros (para un problema de clasificación de 2 clases)?