¿Cuáles son los casos de uso típicos para diferentes algoritmos de aprendizaje automático? Por ejemplo, ¿en qué condiciones típicas uno preferiría usar uno sobre el otro sin haber probado la precisión del aprendizaje?

Sería precavido con algunas de estas respuestas: todas parecen estar cerca de la respuesta correcta, pero de alguna manera aleatoria (alta varianza, bajo sesgo)

Los árboles de decisión, por ejemplo, no están modelando límites de decisión lineales, sino más bien funciones constantes por partes en el caso de regresión y límites de decisión rectangulares alineados con el eje en el caso de clasificación.

Del mismo modo, los HMM no son tanto para datos que “cambian con el tiempo”, sino que sirven como un buen modelo para datos secuenciales cuando no hay dependencias de clase de largo alcance en la secuencia. Un ejemplo de dominio de aplicación es parte del etiquetado del habla en el texto o el descubrimiento de genes en una secuencia de ADN. El aprendizaje de estos modelos puede ser supervisado o no supervisado. Otros algoritmos en esta clase son los modelos de máxima entropía de Markov y los campos aleatorios condicionales.

—-

Una buena primera regla para elegir un método es elegir uno que comprenda muy bien.

Es un hecho teórico que ninguno de estos métodos es universalmente mejor que el otro, pero argumentaría que quizás lo más sorprendente es que a menudo ni siquiera hay una diferencia práctica que sea más significativa que quién está usando la herramienta.

Es decir, ponga un SVM en manos de Vladimir Vapnik, un árbol de regresión de clasificación en manos de Jerome Friedman o un aprendizaje profundo en manos de Geoffrey Hinton y todos destruirán positivamente al resto de ustedes en Kaggle y les costará mucho golpearlos. el uno al otro muy consistentemente …

Salvo una comprensión profunda de cualquiera de los métodos, los árboles y sus diversos conjuntos (bosques aleatorios, bosques de rotación, ensacado) son un buen lugar para comenzar porque están muy “listos para usar” ya que tienen pocos parámetros libres y ” son bastante robustos para las patologías de datos comunes del mundo real, como características irrelevantes, datos faltantes, características de diferentes escalas, ciertos tipos de valores atípicos, y pueden manejar datos categóricos / numéricos uno al lado del otro.

Más allá de eso, hacer el conjunto más sólido de suposiciones sobre sus datos que es realmente cierto no es necesariamente un consejo constructivo, pero es un koan en el que vale la pena reflexionar.

Un poco más de énfasis en las cosas que Ganesh Parameswaran y Quora User mencionaron de pasada:

  1. Comience con su objetivo: la lista de algoritmos en la pregunta parece apuntar hacia la clasificación (aprendizaje supervisado). ¿Solo necesitas la mejor clasificación en términos de precisión? ¿O también necesitas características significativas? En el último caso, los árboles de decisión y los Naive Bayes podrían ser mejores que otros algoritmos más “caja negra”, como SVM o ANN.
  2. En primer lugar, mira los datos. Límpialo. Elija las características apropiadas. La elección del algoritmo es secundaria a tener muchos datos de calidad.
  3. Establezca de antemano criterios de éxito: ¿cuál es su medida de error? ¿El 75% de precisión es lo suficientemente bueno?
  4. Recursos: algunos algoritmos necesitan más memoria o más tiempo de ejecución que otros, por ejemplo, los bosques aleatorios necesitan más memoria.
  5. En línea / por lotes: ¿cuándo necesita clasificar una nueva instancia? La mayoría de los algoritmos requieren capacitación intensiva, pero permiten un etiquetado relativamente rápido de una nueva instancia.
  6. Escalado: para millones de casos, probablemente sea mejor usar un algoritmo que se escale bien (por ejemplo, Naive Bayes).
  7. Costo de las etiquetas: debe obtener las etiquetas para el conjunto de capacitación desde algún lugar. Obtener etiquetas suele ser costoso en tiempo, esfuerzo y dinero. Algunos algoritmos pueden funcionar con datos menos etiquetados. Respaldo la recomendación de Ganesh Parameswaran para modelos semi-supervisados, ya que pueden hacer más con la misma cantidad de etiquetas.
  8. Conjuntos: en muchos casos, el uso de varios algoritmos y la combinación de los resultados (por ejemplo, usando un voto mayoritario) funciona mejor que los algoritmos individuales.
  9. Iterar: si ha alcanzado sus criterios de éxito, deténgase. De lo contrario, intente una combinación de función / algoritmo diferente.

Supervisado

1. Árboles de decisión:

Puede usar árboles de decisión cuando tiene un límite de decisión lineal. Un ejemplo sería clasificar a las personas según su coeficiente intelectual:

Más de 140 – Genio
Más de 120 – Superior al promedio

y así. Tiene la ventaja de que puede atribuir algún significado a las decisiones.

2. Máquinas de vectores de soporte :

Las máquinas de vectores de soporte son principalmente para clasificación binaria. (Se pueden usar indirectamente para la clasificación de varias clases, pero no tengo mucha idea al respecto. He hecho el reconocimiento facial con SVM, pero describirlo será demasiado técnico). Los SVM tienen la ventaja (en comparación con los árboles de decisión) que puede usarlos para límites de decisión no lineales. Pero la desventaja es que no puede atribuir significado (como por qué las características que son x dan como resultado que la muestra se clasifique como y). Los SVM también tardan mucho tiempo en entrenarse.

3. ANN :

Los ANN se pueden usar para la clasificación de varias clases y los límites no lineales. Pero un problema con ANN es que debes probar empíricamente diferentes topologías para llegar a la mejor. Además, generalmente necesita una gran cantidad de muestras de entrenamiento (mucho más de lo que necesitaría en SVM) para lograr una buena precisión. Por lo tanto, el entrenamiento lleva mucho tiempo. También puede obtener estimaciones probabilísticas de una muestra que pertenece a una clase. (La función de Scikit-learn para SVM genera probabilidades, pero no estoy seguro de cómo lo hacen. Probablemente usan la distancia desde el límite de decisión o algo así, pero ANN le da probabilidades directamente).

4. Bosques al azar :

Los bosques aleatorios pueden usarse tanto para clasificación como para regresión. Tiene un montón de árboles de decisión, cada uno formado con un subconjunto (no necesariamente disjunto) de las características. Cada árbol da un voto para la clase. La muestra se clasifica como la clase con el mayor número de votos. Los bosques aleatorios también pueden darle una indicación de la importancia de las características. Es uno de los clasificadores más populares, por lo que probablemente debería probarlo casi siempre.

5. Regresión lineal \ Regresión de cresta :

Úselo cuando desee predecir valores continuos, en lugar de clasificar. La regresión se puede utilizar para la predicción del tráfico, por ejemplo. La regresión de cresta reduce la varianza en sus predicciones. La variación es uno de los componentes del error de prueba, el otro es el sesgo.

6. Clasificador ingenuo de Bayes:

Puede usar el clasificador Naive Bayes cuando las características son condicionalmente independientes. Lo he usado para el reconocimiento de objetos realmente simplista en RGB, donde se suponía que los tres canales no estaban correlacionados.

7. Redes bayesianas :

Utilice las redes bayesianas cuando necesite modelar las relaciones causa-efecto, por ejemplo, diagnóstico médico.

Sin supervisión:

1. Modelos ocultos de Markov :

Si sus datos cambian con el tiempo, como el reconocimiento de actividad, por ejemplo; podrías usar HMM. Similar a ANN, HMM requiere que usted llegue empíricamente a una topología.
No conozco una alternativa al HMM, así que tal vez deberías buscarlo.

2. Agrupación :

Utilice la agrupación k-means cuando necesite agrupar puntos en función de alguna característica. Utilice la agrupación espectral cuando necesite agrupar puntos según la conectividad.

También debe consultar los métodos de aprendizaje semi-supervisados.

Introducción al aprendizaje automático de Ethem ALPAYDIN ​​es un libro de revisión muy bueno en el campo del aprendizaje automático. Le recomiendo que eche un vistazo rápido al libro. No profundiza en las matemáticas detrás de los métodos y simplemente explica la idea de cada algoritmo. Esto lo ayudará a comprender o elegir posibles casos de uso aunque no estén en la lista.
Este bonito diagrama de (Andreas Mueller) · GitHub también es una buena guía para elegir el mejor algoritmo para su problema.

Solo una nota más para las publicaciones de Yuval y Ganesh, ya que el algoritmo de elección depende en gran medida del problema en cuestión, comience mirando el conjunto de datos. Trace las características, verifique las dependencias entre atributos y atributos y salidas. A veces también es interesante resumir el conjunto de datos. Después de eso, no descartaría el uso de aprendizaje profundo o SVM con un núcleo generativo. Estos enfoques también son buenos porque abren las cajas ya que todos ellos inducen modelos gráficos.

Esto proviene de las matemáticas utilizadas para construir los métodos y sus fortalezas / limitaciones en relación con los fundamentos matemáticos de otro método. Estos se relacionan con el tipo / número de predictores recopilados, cómo se recopilaron los datos y cuántas observaciones se recopilaron, así como el objetivo final del proyecto. Sugeriría leer tantos artículos académicos sobre métodos de interés como pueda; construirá una intuición y comprenderá mejor cuándo se prefiere uno sobre otro. Consulte aquí una breve lista de referencias de documentos para métodos comunes: https://www.slideshare.net/Colle

Aprendizaje transductivo y semi-supervisado:

Cuando tiene solo un poco de datos etiquetados pero muchos datos sin etiquetar

Aprendizaje automático con etiquetas faltantes: SVM transductoras

aunque el jurado no sabe qué tan útiles son estos métodos en general

Contenido calculado / tsvm
y definitivamente se necesita más investigación

More Interesting

En ajedrez, ¿por qué es tan ventajoso jugar al blanco?

¿Cómo debe medirse el rendimiento de un equipo de ciencia de datos como una unidad? Por ejemplo, si lideraba el equipo de ciencia de datos de LinkedIn, ¿cómo debería evaluar mi desempeño el CEO?

¿Cuál es el futuro del aprendizaje automático en las finanzas?

¿Cuáles son algunos museos que son líderes en el uso de análisis de datos?

En el aprendizaje automático, si no sé mucho sobre la corrección de lo anterior, ¿puedo tratar de corregir el modelo a través de grandes cantidades de datos de entrenamiento?

¿Puedo comenzar a aprender ciencia de datos y big data a los 34 años o es demasiado tarde?

¿Qué libro recomienda para aprender sobre todas las habilidades matemáticas que se necesitan para la ciencia de datos para alguien que esté familiarizado con las estadísticas básicas y las matemáticas?

¿Cuánto durará la tendencia al alza en el campo de la ciencia de datos?

¿Cuáles son las preguntas más frecuentes sobre entrevistas de ciencia de datos?

Estoy interesado en una carrera en Big Data. Cómo y por dónde empiezo.

¿Cuáles son las similitudes y diferencias fundamentales entre un actuario / ciencias actuariales y un científico de datos / ciencia de datos?

¿Cuáles son algunos modelos precisos o exitosos de calificación de crédito entre pares y qué técnicas y métodos utilizan?

Tengo 28 años y he estado trabajando como auditor financiero durante los últimos 5 años. Quiero saltar al área de ciencia de datos y blockchain y seguir mi carrera en estos campos. ¿Cómo puedo hacer eso?

¿Cuál de los siguientes dos cursos ayudaría a un principiante absoluto de ML a comenzar rápidamente con las competencias de Kaggle y por qué? Aprendiendo de los datos - Curso en línea Coursera ML Course

¿Cómo podemos recopilar grandes datos de Internet en general?