Cómo comenzar a hacer un proyecto de aprendizaje automático

Usted ve, ninguna cantidad de teoría puede reemplazar la práctica práctica. Los libros de texto y las lecciones pueden adormecerlo con una falsa creencia de dominio porque el material está allí frente a usted. Pero una vez que intentes aplicarlo, es posible que te resulte más difícil de lo que parece.

Los proyectos lo ayudan a elevar sus habilidades de ML aplicadas. También te dan la oportunidad de explorar un área que te interesa.

Además, puede agregar proyectos que complete a su cartera personal. Hacen que sea más fácil conseguir un trabajo, encontrar oportunidades profesionales geniales e incluso negociar un salario más alto.

Aquí hay 6 proyectos divertidos de aprendizaje automático para principiantes. Puede completar cualquiera de ellos en un solo fin de semana, o expandirlos en proyectos más largos si los disfruta.

Tabla de contenido

  1. Gladiador de aprendizaje automático
  2. Jugar dinero bola
  3. Predecir precios de acciones
  4. Enseñe a una red neuronal a leer la escritura
  5. Investigar Enron
  6. Escribir algoritmos ML desde cero

1. Gladiador de aprendizaje automático

Llamamos cariñosamente a este “gladiador de aprendizaje automático”, pero no es nuevo. Esta es una de las formas más rápidas de desarrollar una intuición práctica en torno al aprendizaje automático.

El objetivo es tomar modelos listos para usar y aplicarlos a diferentes conjuntos de datos. Este proyecto es impresionante por 3 razones principales:

Primero, desarrollará la intuición para el ajuste del modelo al problema. ¿Qué modelos son robustos para los datos faltantes? ¿Qué modelos manejan bien las características categóricas? Sí, puede buscar en los libros de texto para encontrar las respuestas, pero aprenderá mejor al verlo en acción.

En segundo lugar, este proyecto le enseñará la habilidad invaluable de crear prototipos de modelos rápidamente. En el mundo real, a menudo es difícil saber qué modelo funcionará mejor sin simplemente probarlos.

Finalmente, este ejercicio lo ayuda a dominar el flujo de trabajo de la construcción de modelos. Por ejemplo, podrás practicar …

  • Importando datos
  • Datos de limpieza
  • Dividiéndolo en trenes / pruebas o conjuntos de validación cruzada
  • Preprocesamiento
  • Transformaciones
  • Ingeniería de características

Debido a que usará modelos listos para usar, tendrá la oportunidad de concentrarse en perfeccionar estos pasos críticos.

Consulte las páginas de documentación de sklearn (Python) o caret (R) para obtener instrucciones. Debe practicar la regresión , clasificación y algoritmos de agrupamiento .

Tutoriales

  • Python: sklearn – Tutorial oficial para el sklearn paquete
  • R: caret: seminario web impartido por el autor del paquete caret

Fuentes de datos

  • Depósito de aprendizaje automático UCI: más de 350 conjuntos de datos de búsqueda que abarcan casi todos los temas. Definitivamente encontrará conjuntos de datos que le interesan.
  • Conjuntos de datos de Kaggle: más de 100 conjuntos de datos cargados por la comunidad de Kaggle. Aquí hay algunos conjuntos de datos realmente divertidos, que incluyen ubicaciones de generación de PokemonGo y Burritos en San Diego.
  • data.gov: conjuntos de datos abiertos publicados por el gobierno de EE. UU. Gran lugar para mirar si estás interesado en las ciencias sociales.

2. Jugar Money Ball

En el libro Moneyball, los Atléticos de Oakland revolucionaron el béisbol a través de la exploración analítica de jugadores. Crearon un equipo competitivo mientras gastaban solo 1/3 de lo que los grandes equipos de mercado como los Yankees pagaban por los salarios.

Primero, si aún no has leído el libro, deberías echarle un vistazo. ¡Es uno de nuestros favoritos!

Afortunadamente, el mundo del deporte tiene muchos datos para jugar. Los datos de equipos, juegos, puntajes y jugadores se rastrean y están disponibles gratuitamente en línea.

Hay muchos proyectos divertidos de aprendizaje automático para principiantes. Por ejemplo, podrías intentar …

  • Apuestas deportivas … Predecir los puntajes del cuadro dados los datos disponibles en el momento justo antes de cada nuevo juego.
  • Exploración de talentos … Utilice las estadísticas de la universidad para predecir qué jugadores tendrían las mejores carreras profesionales.
  • Gestión general … Crea grupos de jugadores basados ​​en sus fortalezas para construir un equipo completo.

El deporte también es un dominio excelente para practicar la visualización de datos y el análisis exploratorio . Puede usar estas habilidades para ayudarlo a decidir qué tipos de datos incluir en sus análisis.

Fuentes de datos

  • Base de datos de estadísticas deportivas: estadísticas deportivas y datos históricos que abarcan muchos deportes profesionales y varios universitarios. La interfaz limpia facilita el raspado web.
  • Referencia deportiva: otra base de datos de estadísticas deportivas. Interfaz más desordenada, pero las tablas individuales se pueden exportar como archivos CSV.
  • cricsheet.org – Datos bola por bola para partidos de cricket internacionales e IPL. Los archivos CSV para partidos internacionales de IPL y T20 están disponibles.

3. Predecir los precios de las acciones

El mercado de valores es como una tierra dulce para cualquier científico de datos que esté remotamente interesado en las finanzas.

Primero, tiene muchos tipos de datos entre los que puede elegir. Puede encontrar precios, fundamentos, indicadores macroeconómicos globales, índices de volatilidad, etc. La lista sigue y sigue.

En segundo lugar, los datos pueden ser muy granulares. Puede obtener fácilmente datos de series de tiempo por día (o incluso minutos) para cada compañía, lo que le permite pensar creativamente sobre las estrategias comerciales.

Finalmente, los mercados financieros generalmente tienen ciclos cortos de retroalimentación. Por lo tanto, puede validar rápidamente sus predicciones sobre nuevos datos.

Algunos ejemplos de proyectos de aprendizaje automático amigables para principiantes que podría probar incluyen …

  • Inversión de valor cuantitativo … Predice movimientos fundamentales de precios a 6 meses basados ​​en indicadores fundamentales de los informes trimestrales de las empresas.
  • Pronósticos … Cree modelos de series temporales, o incluso redes neuronales recurrentes, en el delta entre la volatilidad implícita y la real.
  • Arbitraje estadístico … Encuentre acciones similares en función de sus movimientos de precios y otros factores y busque períodos en los que sus precios difieran.

Descargo de responsabilidad obvio: la creación de modelos comerciales para practicar el aprendizaje automático es simple. Hacerlos rentables es extremadamente difícil. Aquí nada es un consejo financiero, y no recomendamos comerciar con dinero real.

Tutoriales

  • Python: sklearn for Investing – Serie de videos de YouTube sobre cómo aplicar el aprendizaje automático a la inversión.
  • R: Comercio cuantitativo con R – Notas detalladas de clase para finanzas cuantitativas con R.

Fuentes de datos

  • Quandl: mercado de datos que proporciona datos financieros y económicos gratuitos (y premium). Por ejemplo, puede descargar a granel los precios de las acciones al final del día para más de 3000 empresas estadounidenses o datos económicos de la Reserva Federal.
  • Quantopian: comunidad financiera cuantitativa que ofrece una plataforma gratuita para desarrollar algoritmos comerciales. Incluye conjuntos de datos.
  • Archivo de fundamentos de EE. UU .: 5 años de datos fundamentales para más de 5000 empresas de EE. UU.

4. Enseñe a una red neuronal a leer la escritura

Las redes neuronales y el aprendizaje profundo son dos historias de éxito en la inteligencia artificial moderna. Han llevado a grandes avances en el reconocimiento de imágenes, la generación automática de texto e incluso en automóviles sin conductor.

Para involucrarse en este apasionante campo, debe comenzar con un conjunto de datos manejable.

El desafío de clasificación de dígitos escritos a mano MNIST es el punto de entrada clásico. Los datos de imagen son generalmente más difíciles de trabajar que los datos relacionales “planos”. Los datos MNIST son amigables para principiantes y son lo suficientemente pequeños como para caber en una computadora.

El reconocimiento de escritura a mano lo desafiará, pero no necesita un alto poder computacional.

Para comenzar, recomendamos con el primer capítulo del tutorial a continuación. Le enseñará cómo construir una red neuronal desde cero que resuelva el desafío MNIST con alta precisión.

Tutorial

  • Redes neuronales y aprendizaje profundo (Libro en línea): el Capítulo 1 explica cómo escribir una red neuronal desde cero en Python para clasificar los dígitos de MNIST. El autor también da una muy buena explicación de la intuición detrás de las redes neuronales.

Fuentes de datos

  • MNIST: MNIST es un subconjunto modificado de dos conjuntos de datos recopilados por el Instituto Nacional de Estándares y Tecnología de EE. UU. Contiene 70,000 imágenes etiquetadas de dígitos escritos a mano.

5. Investigar Enron

El escándalo y el colapso de Enron fue uno de los mayores colapsos corporativos de la historia.

En el año 2000, Enron era una de las compañías de energía más grandes de América. Luego, después de ser descubierto por fraude, cayó en bancarrota en un año.

Afortunadamente para nosotros, tenemos la base de datos de correo electrónico de Enron. Contiene 500 mil correos electrónicos entre 150 ex empleados de Enron, en su mayoría ejecutivos senior. También es la única gran base de datos pública de correos electrónicos reales, lo que la hace más valiosa.

De hecho, los científicos de datos han estado utilizando este conjunto de datos para educación e investigación durante años.

Los ejemplos de proyectos de aprendizaje automático para principiantes que podrías probar incluyen …

  • Detección de anomalías. Mapee la distribución de correos electrónicos enviados y recibidos por hora e intente detectar comportamientos anormales que conducen al escándalo público.
  • Análisis de redes sociales. Cree modelos de gráficos de red entre empleados para encontrar personas influyentes clave.
  • Procesamiento natural del lenguaje. Analice los mensajes del cuerpo junto con los metadatos del correo electrónico para clasificar los correos electrónicos según sus propósitos.

Fuentes de datos

  • Conjunto de datos de correo electrónico de Enron: este es el archivo de correo electrónico de Enron alojado por CMU.
  • Descripción de los datos de Enron (PDF): análisis exploratorio de los datos de correo electrónico de Enron que podrían ayudarlo a obtener su base.

6. Escribir algoritmos ML desde cero

Escribir algoritmos de aprendizaje automático desde cero es una excelente herramienta de aprendizaje por dos razones principales.

Primero, no hay mejor manera de construir una verdadera comprensión de su mecánica. Te verás obligado a pensar en cada paso, y esto te llevará a un verdadero dominio.

En segundo lugar, aprenderá a traducir instrucciones matemáticas en código de trabajo. Necesitará esta habilidad cuando adapte algoritmos de investigación académica.

Para comenzar, recomendamos elegir un algoritmo que no sea demasiado complejo. Hay docenas de decisiones sutiles que deberá tomar incluso para los algoritmos más simples.

Después de que se sienta cómodo creando algoritmos simples, intente extenderlos para obtener más funcionalidad. Por ejemplo, intente extender un algoritmo de regresión logística de vainilla en una regresión de lazo / cresta agregando parámetros de regularización.

Finalmente, aquí hay un consejo que todo principiante debe saber: no se desanime, su algoritmo no es tan rápido o elegante como los de los paquetes existentes. ¡Esos paquetes son el fruto de años de desarrollo!

Tutoriales

  • Python: Regresión logística desde cero
  • Python: k-vecinos más cercanos desde cero
  • R: Regresión logística desde cero

171

COMPARTE

Kaggle es bueno si está interesado en probar algunos desafíos que utilizan datos reales proporcionados por las empresas. También puede conectarse con la comunidad para intercambiar ideas y códigos. Otro buen lugar para ir es Numer.ai, que es un fondo de cobertura de ciencia de datos construido en la cadena de bloques que reúne modelos de científicos de datos para predecir un objetivo. Básicamente tienen una serie de características y un objetivo, y los científicos de datos compiten para predecir ese objetivo con las características más precisas. Dado que no tiene mucha más información que estas características arbitrarias, es una excelente manera de probar varios algoritmos diferentes en un conjunto de datos y conocer los pros y los contras de cada algoritmo.

Espero que esto ayude 🙂

Para elegir un proyecto, debe pensar en un problema que desea resolver.

Como dijiste “aprendizaje automático” y “principiante” en la misma oración, apuesto a que estás interesado en un proyecto que te dará una idea sobre qué es el aprendizaje automático y cómo es útil.

Te sorprenderá saber que no eres un principiante; ¡Ya sabes cómo funciona el aprendizaje automático! Los modelos de aprendizaje automático se basan en el aprendizaje humano, y usted aprende cosas todo el tiempo. Desglosaré lo que ya sabes, solo para aclarar las cosas:

  1. Definir un objetivo
    Tu cena está en una sartén caliente. Quieres cenar
  2. Adivina cómo lograrlo
    Usando su experiencia de línea de base como un “capturador de cosas”, sabe que agarrar cosas a menudo conduce a tenerlas.
  3. Intenta lograrlo
    Heroicamente agarras la cena por su asa
  4. Evalúa tus resultados
    Tan pronto como toques el mango, tus reflejos “OUCH” te impiden quitar la cena.
  5. Recuerda lo que paso
    “Hay un viejo dicho en Tennessee, sé que está en Texas, pero probablemente esté en Tennessee, que dice engañarme una vez … avergonzado … avergonzado … ¡si me engañas, no puedes engañarte de nuevo!” -GW Bush
  6. Considere su objetivo (1) en el contexto de su memoria (5), y adivine cómo lograrlo
    Tal vez intente apagar la estufa, tal vez intente usar un guante o tal vez decida comer un sándwich. Sugeriría el guante, pero este es tu proceso creativo.
  7. Repita los pasos 3–6 hasta que esté satisfecho con el resultado del paso 4

Hay muchos paquetes de aprendizaje automático donde los bits creativos en el paso 6 se manejan por usted. Toma mi sugerencia para usar un guante como ejemplo. Tal vez confías en mí que esta es la mejor manera de obtener la cena, pero tal vez no lo hagas. Si confía en otros para resolver su problema, le recomiendo el kit de herramientas de Python sklearn.

Mientras hace esto, sin embargo, no olvide que las estadísticas son la herramienta que debe usar para validar qué tan bien funciona su modelo. De hecho, a menudo puede lograr un poder predictivo mucho mejor utilizando estadísticas.

Supongo que mi recomendación final es:

  1. Piensa en un problema que deseas resolver
  2. Considere si puede resolver el problema con estadísticas
  3. Si el modelo estadístico no funciona lo suficientemente bien, cree o pruebe el modelo de aprendizaje automático de otra persona. Asegúrese de elegir uno que sea apropiado para su problema leyendo todo al respecto.
  4. ¿Con qué frecuencia tiene éxito su modelo de estadísticas? ¿Con qué frecuencia tiene éxito su modelo de aprendizaje automático?
  5. ¡Elige el que mejor funcione!

Comience con un conjunto de datos Iris simple. Use muchos algoritmos como SVM, árboles de decisión, KNN, etc. Una vez que tenga una idea de los modelos, pruebe conjuntos de datos más complicados. Deberías probar kaggle.com para obtener datos y problemas. Use Python para construir modelos. Finalmente comience a trabajar en modelos de aprendizaje profundo.

Hola,

Para simplificar, ML es principalmente 2 cosas

  1. Deduzca una información (esto es más de ML)
  2. Use información parcial o completa cuando sea necesario (Esto es más de Búsqueda + Programación).

Recientemente he cruzado esta fase y también comencé un proyecto de código abierto, solo para entusiastas como tú. Puede obtener detalles del proyecto desde mi perfil.

Comencé a resolver problemas relacionados con la red neuronal artificial, como

  1. ¿Cómo represento un nodo? ¿Cómo puedo mostrar su relación con otras neuronas? Así, creé DataNodes que representa las neuronas y las rutas relacionales para almacenar sus relaciones.
  2. ¿Cómo busco las neuronas correctas de las relaciones? Implementé varias funciones de búsqueda y relaciones ponderadas para ello.
  3. Estoy usando esto para el análisis descriptivo y predictivo. Estoy en proceso de implementar un ChatBot sobre esto.

Estoy tratando de realizar operaciones donde no tengo que enseñar la herramienta inteligente, lo que es correcto o incorrecto. Las personas pueden ejecutarlo con solo copiar y pegar sus datos. Puede ser un candidato para AI Generation 2.

Por favor, siéntase libre de conectarse conmigo sobre esto.

¿Por qué TechieNest para sistemas integrados y capacitación en robótica?

Vasta experiencia de tener una gran experiencia de Taller de Alcance con más de 300 universidades en toda la India, incluidos IIT Roorkee, IIT Mandi, IIT Kanpur, IIT Jodhpur, IIT Hyderabad, IIT Patna, NIT Raipur, NIT Patna, Bits Goa, Bits Pilani y muchos más.

Entrenó a más de 20,000 estudiantes en el campo de SISTEMAS INCORPORADOS Y ROBÓTICA, MATLAB y Visión Artificial, IOT, PLC y SCADA, PYTHON, C / C ++, Andriod, VLSI y VHDL.

Organizamos concursos a nivel nacional para robótica.

TechieNest tiene ingenieros de investigación que tienen una excelente aptitud para la investigación, enseñando pedagogía que ilustra sus hallazgos a través de demostraciones prácticas durante el taller / capacitación.

Fabricante de productos propios y entrega en todo el país.

Techie-Shop: solución integral para todos los productos integrados y de calidad robótica.

Ofreciendo capacitación basada en proyectos, proyectos a pedido, proyectos corporativos, proyectos comerciales y consultoría en proyectos de ingeniería.

TechieNest está asociado con IIHT en Jaipur, CYBERAEGIS en Hyderabad.

Empresa conjunta de TechieNest con tecnología Nanosemi como en Auto-Botics.

Centros de capacitación ubicados en Jaipur, Delhi, Hyderabad, Raipur, Kota, Ajmer y más.

Laboratorio de I + D dedicado 24 × 7 y biblioteca digital para estudiantes.

Entrenó a más de 50 estudiantes internacionales en el Programa de transferencia de tecnología TechieNest 2014.

Escribí un tutorial sobre cómo alguien sin experiencia en codificación puede construir una aplicación web simple de Machine Learning con IBM Watson en 30 minutos, échale un vistazo si está interesado:

Hot Dog o no Hot Dog?

La idea general es que, aunque ciertamente vale la pena que algunas personas aprendan IA y ML en profundidad (académicos, aquellos que desean inventar nuevos algoritmos, etc.), la mayoría de las personas ahora pueden usar IA y ML básicas sin pasar años aprendiéndolas. Las herramientas como Watson que exponen las API RESTful permiten a cualquiera simplemente conectarse a su código y usarlo para crear reconocimiento visual, procesamiento de lenguaje, evaluación de personalidad y otras aplicaciones poderosas. En muchos casos, puede crear una aplicación simple en tan solo un día.

Identifique algunos problemas de la vida real que enfrenta y resuélvalos con sus habilidades de aprendizaje automático o puede visitar Your Home for Data Science (Kaggle) y encontrará muchos desafíos en aprendizaje automático y ciencia de datos con grandes conjuntos de datos.

Algunos proyectos populares son la clasificación de imágenes, la recolonización del habla, el análisis de sentimientos utilizando PNL y ML, etc.

Feliz codificación !!

El primer paso es encontrar un problema que no se pueda resolver de otra manera, pero la solución se puede predecir a partir de los datos. El segundo paso es recopilar datos relevantes tanto como sea posible, más datos nunca perjudican. Los modelos / herramientas de aprendizaje automático que necesita usar que dependen de la naturaleza del problema, la cantidad de datos y, por último, los recursos informáticos que tiene.

No estoy seguro de sus antecedentes, por lo tanto, suponiendo que sea un estudiante que aspira a construir su carrera en ML. Hay muchas oportunidades para trabajar en proyectos en vivo para ML.

  • Puede definir su propio conjunto de enunciados del problema y luego comenzar a trabajar en su enunciado del problema. Puede averiguar qué tipo de conjunto de datos usar, cómo obtener y limpiar los datos, cómo construir modelos, etc. Será divertido. Créame
  • Puede realizar una pasantía en una startup / empresa y le brindarán la oportunidad de trabajar en proyectos piloto / de trabajo en progreso.
  • Puedes participar en Kaggle como competiciones. Sus cualidades de proyecto son la mejor clase del mundo. Trabajar en su tarea a veces es mucho mejor que trabajar en un proyecto en vivo de tamaño promedio
  • Puede contactar a un experto en ML / tipo de mentor en este campo y él puede darle una oportunidad de asociado para alguna tarea que él / ella pueda estar siguiendo.

Quiero comenzar un proyecto para estandarizar un método de evaluación llamado Clock Drawing Test ( https://goo.gl/2TQKzd ). Esta prueba quiere evaluar el deterioro cognitivo basado en un reloj dibujado por un paciente. El problema es que la evaluación depende de la medida cualitativa del especialista en evaluación.

Mi grupo de investigación tiene una base de datos de 200 relojes, y quiero crear una IA para evaluar futuros relojes en función de las calificaciones otorgadas por el especialista.

¿Cómo puedo comenzar y cómo debo proceder?

intente construir algunos algoritmos NEAT o algoritmos opcionales N eoro E volution A y T opology. Quiero hacerlo yo mismo, pero estoy agobiado por el trabajo escolar.

Básicamente, dejas que los AI aprendan a jugar videojuegos por su cuenta. realmente genial

Hay muchos sitios web que le brindan algunos desafíos y debe enviar su código de acuerdo con eso

Es la mejor opción para mejorar sus habilidades de codificación.

Mire un sitio como UCI ML Repository

Use una herramienta simple como Weka, cargue datos de cualquiera de los conjuntos de datos en el repositorio

IR a través de la Guía Weka para ejecutar Regresión o Clasificación

En primer lugar, debe tener un conocimiento adecuado sobre la lengua de programación.

Después de eso tienes que trabajar en tu proyecto.

En el proyecto, debes tener en cuenta estas cosas.

1. ¿Cuáles son los requisitos básicos que se cumplen con su programación?

2.¿Cuáles son los conceptos que necesita para realizar el trabajo del proyecto de manera efectiva?

3. Si trabaja con proyectos de programación que la complejidad del tiempo también es importante.

4.Live Project te ayuda a explorar tus ideas sobre programación que deberías

Se aplicará.

Puede buscar varias ideas de aprendizaje automático en GitHub. Es la mejor fuente para estudiar y analizar un proyecto. También puede realizar una solicitud de extracción si encuentra alguna mejora en los proyectos existentes y comienza a contribuir en la comunidad de código abierto.

Para proyectos independientes, puede consultar varios archivos de cursos abiertos del MIT y el siguiente enlace también podría ayudar:

https://elitedatascience.com/mac

Kaggle es un gran lugar para comenzar.

He enumerado 40 proyectos divertidos interesantes para principiantes aquí. Revisa.

Mi objetivo es kaggle, es un gran recurso para encontrar conjuntos de datos y participar en muchos proyectos / competencias diferentes para mejorar su conjunto de habilidades.

More Interesting

¿Puedo trabajar en Google Machine Learning con una licenciatura en Informática pero habiendo realizado dos pasantías y 3 proyectos de código abierto?

¿Cuáles son algunos de los usos del aprendizaje automático en los motores de búsqueda?

Karpathy mencionó durante una conferencia que es posible reemplazar la capa FC al final de una CNN con una capa de agrupación promedio. ¿Alguien lo ha intentado?

Cómo hacer que un estudiante de pre-varsity entienda la diferencia entre estadística paramétrica y no paramétrica

¿Cómo se hace la inferencia en una red neuronal con capas de normalización por lotes?

¿Cuál es la mejor herramienta de optimización bayesiana para optimizar hiperparámetros de grandes redes neuronales?

¿Cuáles son los campos de negocios donde se puede usar la red neuronal?

¿Qué lenguajes de programación son adecuados para el procesamiento del lenguaje natural?

¿Qué son los asombrosos papeles gráficos de conocimiento?

¿Cuál es la diferencia entre aplicar la descomposición del tren Tensor y agregar más capas a la red donde cada una tiene un tamaño reducido?

¿Por qué los nodos en una capa oculta producen resultados diferentes (cuando se basan en las mismas entradas)?

¿Cuál es actualmente la mejor GPU para el aprendizaje profundo?

¿Qué otros algoritmos / métodos se pueden usar como alternativa al algoritmo vecino más cercano para la medición de distancia y cuál funciona mejor que NN?

¿Cómo utiliza Facebook feed el aprendizaje profundo?

¿Cuál es el significado intuitivo de una matriz de covarianza?