Soy un segundo año Btech. estudiante de informática. Estoy interesado en el aprendizaje automático y la inteligencia artificial. ¿Cómo debo hacerlo?

A2A.

Esta pregunta está bastante cerca de las preguntas más frecuentes en el aprendizaje automático: ¿cómo aprendo el aprendizaje automático? Recomiendo mirar el consejo allí.

Copiaré a continuación mi respuesta a esa pregunta, para completar:

La respuesta dependerá significativamente de cuál sea su experiencia actual y para qué desea aprender el aprendizaje automático.

Para tener una base matemática básica, debe tener algún conocimiento de los siguientes conceptos matemáticos:
– Probabilidades y estadísticas
– Álgebra lineal
– Optimización
– Cálculo multivariable
– Análisis funcional (no esencial)
– Lógica de primer orden (no esencial)
Puede encontrar material razonable sobre la mayoría de estos buscando “notas de conferencia ” en Google. Por lo general, encontrará buenas notas de clase compiladas por un profesor que enseña ese curso. Los primeros resultados deberían darle un buen conjunto para elegir.
Hojear a través de estos. No es necesario que los revise con mucho detalle. Puede volver a estudiar matemáticas cuando sea necesario mientras aprende ML.

Una vez que te sientas cómodo con las matemáticas básicas, puedes comenzar con un curso en línea o uno de los libros estándar sobre aprendizaje automático. El curso de Andrew Ng sobre Coursera es un buen punto de partida. Una versión avanzada del curso está disponible en The Open Academy (Machine Learning | The Open Academy). Los libros estándar con los que tengo experiencia son los siguientes:
Reconocimiento de patrones y aprendizaje automático: Christopher Bishop
Aprendizaje automático: una perspectiva probabilística: Kevin P. Murphy
Si bien el libro de Murphy es más actual y más elaborado, creo que Bishop es más accesible para los principiantes. Puedes elegir uno de ellos según tu nivel.
En este punto, debe tener un conocimiento práctico del aprendizaje automático. Más allá de esto, si está interesado en un tema en particular, busque recursos en línea específicos sobre el tema, lea documentos seminales en el subcampo, intente encontrar algunos problemas más simples e impleméntelos.

Es importante destacar que hay muchos algoritmos / paradigmas en el aprendizaje automático. Si bien debe tener alguna comprensión de estos, es igualmente importante tener la intuición básica del aprendizaje automático: conceptos de compensación de sesgo-varianza, sobreajuste, regularización, dualidad, etc. Estos conceptos a menudo se usan en la mayoría o en todo el aprendizaje automático, de una forma u otra

Finalmente, es importante implementar algunos algoritmos básicos cuando comience a hacer ML, como descenso de gradiente, AdaBoost, árboles de decisión, etc. También debe tener algo de experiencia con el preprocesamiento de datos, la normalización, etc. Una vez que haya implementado algunos algoritmos desde cero , para otros algoritmos, debe usar las implementaciones estándar (como LibSVM, Weka, ScikitLearn, etc.) en algunos problemas de juguetes, y obtener una buena comprensión de los diferentes algoritmos.


Además, aquí hay una lista que compilé hace un tiempo para explorar el aprendizaje automático en 10 días:

Día 1:

  • Terminología básica:
    1. Configuraciones más comunes: configuración supervisada, configuración no supervisada, configuración semi-supervisada, aprendizaje de refuerzo.
    2. Problemas más comunes: Clasificación (binaria y multiclase), Regresión, Agrupación.
    3. Preprocesamiento de datos: normalización de datos.
  • Conceptos de conjuntos de hipótesis, error empírico, error verdadero, complejidad de conjuntos de hipótesis, regularización, compensación de sesgo-varianza, funciones de pérdida, validación cruzada.

Dia 2:

  • Conceptos básicos de optimización:
    1. Terminología y conceptos básicos: optimización convexa, lagrangiana, problemas primarios-duales, gradientes y subgraduados, [math] \ ell_1 [/ math] y [math] \ ell_2 [/ math] funciones objetivo regularizadas.
    2. Algoritmos: descenso de gradiente por lotes y descenso de gradiente estocástico, descenso de gradiente coordinado.
    3. Implementación: escriba código para el descenso de gradiente estocástico para una función objetivo simple, ajuste el tamaño del paso y obtenga una intuición del algoritmo.

Día 3:

  • Clasificación:
    1. Regresión logística
    2. Máquinas de vectores de soporte: intuición geométrica, formulaciones primarias-duales, noción de vectores de soporte, truco del núcleo, comprensión de hiperparámetros, búsqueda en cuadrícula.
    3. Herramienta en línea para SVM: juegue con esta herramienta SVM en línea (desplácese hacia abajo hasta “Interfaz gráfica”) para tener una idea del algoritmo.

Día 4:

  • Regresión:
    1. Regresión de cresta
  • Agrupación:
    1. algoritmo k-means y Expectation-Maximization.
    2. Agrupación jerárquica de arriba hacia abajo y de abajo hacia arriba.

Dia 5:

  • Métodos bayesianos:
    1. Terminología básica: Prioridades, posteriores, probabilidad, estimación de máxima probabilidad e inferencia máxima a posteriori.
    2. Modelos de mezcla gaussiana
    3. Asignación de Dirichlet latente: El modelo generativo y la idea básica de la estimación de parámetros.

Día 6:

  • Modelos gráficos:
    1. Terminología básica: redes bayesianas, redes de Markov / campos aleatorios de Markov.
    2. Algoritmos de inferencia: eliminación de variables, propagación de creencias.
    3. Ejemplos simples: Modelos ocultos de Markov. Modelo ising.

Días 7–8:

  • Redes neuronales:
    1. Terminología básica: neurona, función de activación, capa oculta.
    2. Redes neuronales convolucionales: capa convolucional, capa de agrupación, retropropagación.
    3. Redes neuronales basadas en memoria: redes neuronales recurrentes, memoria a corto y largo plazo.
    4. Tutoriales: estoy familiarizado con este tutorial de la antorcha (querrá consultar el directorio [math] \ texttt {1_supervised} [/ math]). Puede haber otros tutoriales en otros marcos de aprendizaje profundo.

Día 9:

  • Temas varios:
    1. Árboles de decisión
    2. Sistemas de recomendación
    3. Procesos de decisión de Markov
    4. Bandidos multi-armados

Día 10: (día de presupuesto)

  • Puede usar el último día para ponerse al día con lo que queda de días anteriores, o aprender más sobre el tema que le parezca más interesante / útil para su trabajo futuro.

Comience a aprender Python, los cursos están disponibles en línea, aprenda su parte de las estructuras de datos y algoritmos. Los básicos son estos, practiquen lo mismo, en hackerrank.

Una vez que sea minucioso con estos, puede crear algoritmos eficientes para lo mismo.

Amigo, no estás interesado en Machine Learning y AI. Usted también ha sido víctima de las palabras de moda que pululan en Internet.

Sin embargo, no hay daño no hay falta. Coursera y Udacity ofrecen algunos cursos bastante sólidos.

El punto importante aquí es hacer un intento de aprender. Si te gusta y te acostumbras, el límite es el cielo. De lo contrario, habría expandido su horizonte. Salud

Primero, no tome sus estudios regulares a la ligera. Si realmente quieres aprender IA, es mejor que te gradúes con una buena puntuación.

Los talleres sobre IA estarían disponibles. Obtenga material en línea y estudie antes de eso. Cuanto más lees, más referencias obtienes. Entonces, te desarrollas.

More Interesting

Soy un estudiante de segundo año de B-Tech Computer Science. Deseo convertirme en desarrollador de Android. ¿Cuáles son mis opciones y cuáles son las empresas en las que puedo trabajar?

¿Dónde puedo encontrarme un mentor si planeo aprender el desarrollo de software?

Realmente me gustan las matemáticas y las ciencias y he dedicado una pequeña cantidad de tiempo a la programación, pero me ha encantado. ¿Valdría la pena mi tiempo para obtener un título en inteligencia artificial?

¿Debo elegir investigación o trabajo en informática?

Quiero estudiar ciencias de la computación y acabo de aprobar la clase 10. ¿Por qué debería estudiar física, química y matemáticas y prepararme para exámenes competitivos como el JEE?

¿Qué hacen los estudiantes que aman la informática pero que pertenecen a otros departamentos en IIT?

¿Cuál es la situación laboral en el campo de la informática en su país?

¿Cómo debo prepararme para una entrevista de ingeniero de desarrollo de software en Amazon?

Programadores de computadoras: ¿Cómo debo distinguirme como futuro estudiante de pregrado de CS?

Soy un estudiante de CSE de BE de último año de una universidad poco reputada pero quiero unirme a Google. ¿Qué debo hacer y en qué tema debo concentrarme más?

¿Quiénes son los reclutadores favorables para un promedio más reciente con una licenciatura en informática?

¿Cuál de los siguientes campos no existe en el bloque de control de tareas?

Para la informática, ¿qué tan inteligente necesitas para ser matemático?

¿Quién es Shreyas Kapur y cómo llegó a ser tan bueno en la programación?

Mi jefe siempre me pregunta cuál es mi objetivo para el próximo año o dónde estaré después de 5 años. ¿Cómo puedo tener una respuesta?