¿Cuál es el uso de las estructuras de datos para el aprendizaje automático?

¿Cuál es el uso de las estructuras de datos para el aprendizaje automático?

  • Big Data
  • junio 27, 2022
  • No Comment
  • 36
  • 9 minutes read


Introducción

La estructura de datos es la forma de organizar los datos para recuperarlos con el mínimo costo y uso de recursos.

Por otro lado, el aprendizaje automático es un área de las ciencias de la computación que se enfoca en usar datos y algoritmos para enseñar la forma de aprender.

En general, el aprendizaje automático consiste en enfoques y técnicas basadas completamente en estadísticas, probabilidad y optimización.

Los primeros dos bloques de construcción están relacionados con las matemáticas y el tercero con estructuras de datos y algoritmos. En última instancia, el aprendizaje automático es un campo que ha sido modelado para jugar con datos y generar algo significativo.

 

¿Para qué se utilizan las estructuras de datos en el aprendizaje automático?

1. La conexión entre las estructuras de datos y el aprendizaje automático

Básicamente, la esencia de las estructuras de datos es cómo almacenamos los datos y cómo los recuperamos. El lenguaje de programación es un medio para mostrar estas estructuras en forma legible por humanos.

Ahora supongamos que hay un problema que queremos resolver usando el aprendizaje automático.

Como experto en aprendizaje automático, debe saber qué modelo es el más rápido y ocupa poco espacio mientras resuelve el problema con precisión.

Este modelo a menudo consta de pasos que utilizan múltiples estructuras de datos para lograr los objetivos anteriores.

Por lo tanto, un especialista que esté familiarizado con las estructuras de datos puede responder a la siguiente pregunta, que debe hacerse en el trabajo diario.

  • ¿Cuánto tiempo tardará el modelo (solución) en completar el proceso?
  • ¿Cuántos recursos de espacio en disco se utilizan durante el proceso?
  • ¿Qué modelo es mejor teniendo en cuenta el equilibrio entre tiempo, espacio y necesidades comerciales?

Cuando un profesional trabaja en producción, se requiere una excelente comprensión de la estructura de datos, los algoritmos y la arquitectura informática para impulsar las soluciones comerciales.

2. Predicciones en tiempo real en aprendizaje automático

Supongamos que tenemos un problema de detección de objetos que queremos resolver mediante el aprendizaje automático. Para resolver esto, tenemos un modelo en el que se nos dan 10 fotogramas por segundo como entrada y nuestros algoritmos en el modelo acumulan esos fotogramas para generar la salida deseada.

Nuestro modelo requiere al menos 10 cuadros por segundo, lo que podemos llamar entrada en tiempo real. En el peor de los casos, si la tasa de entrada supera los 10 fotogramas, la entrada se puede clasificar como obsoleta y la predicción del modelo se puede considerar retrasada y no podría proporcionar la salida deseada.

Por lo tanto, si un profesional tiene conocimiento de estructuras de datos y algoritmos, puede modificar fácilmente los algoritmos usando estructuras de datos apropiadas para mejorar el rendimiento hasta la marca. Lo que conducirá aún más a la predicción de objetos en tiempo real.

3. Algoritmo de aprendizaje automático de predicción de enlaces

Tomemos el ejemplo de las redes sociales. Supongamos que queremos mantenerlo informado con sugerencias sobre quién podría ser su próxima conexión.

Este problema se puede modelar fácilmente como una estructura de datos gráfica donde hay dos entidades y queremos averiguar si existe una conexión entre ellas.

Por lo tanto, primero debe modelar una persona como un nodo y la conexión entre dos personas como un borde, luego debe trazarla o precalcularla de acuerdo con el uso mínimo de recursos.

Luego, debemos usar el algoritmo de recorrido de gráficos BFS/DFS para verificar si podemos visitar el segundo nodo después de comenzar desde el primer nodo. Esta estructura de datos de gráficos tiene un gran impacto en el aprendizaje automático cuando hay un problema con las entidades que tienen relaciones entre ellas.

4. Hashing en aprendizaje automático

Ahora supongamos que tenemos un enorme conjunto de datos que puede consistir en duplicados. Además, recibimos grabaciones como una transmisión.

En este caso, los profesionales generalmente pensarán que cada registro de entrada roza todos los registros disponibles, y si hay un registro que es idéntico a la entrada, descartan la entrada.

Pero si consideramos que el tiempo necesario para cada entrada es lineal porque para cada entrada estamos visitando todos los conjuntos de datos disponibles.

Aquí es donde entra en juego el hashing, reduciendo este tiempo de búsqueda de lineal a constante. Entonces, cuando llegue un registro, lo convertiremos en un valor hash

confirmará si algo está presente en ese valor hash, si es así, podemos decir que se trata de un duplicado, de lo contrario, lo agregaremos. En primer lugar, el uso de un hashmap o conjunto reducirá drásticamente el tiempo requerido para la búsqueda a un tiempo asintóticamente constante.

5. Combinación de K-Way en aprendizaje automático

Ahora imagine un caso de uso en el que necesitamos diseñar el algoritmo de aprendizaje automático donde obtenemos flujos ordenados de K múltiples dispositivos IoT que sirven como entrada. luego, nuestro modelo genera un único flujo ordenado a partir de K flujos.

Aquí es donde la estructura de datos del montón viene al rescate. En resumen, heap es una estructura de datos en un árbol binario completo que devuelve un mínimo o un máximo de ejecución en la secuencia. Cada vez que hay un registro de entrada, lo insertamos en minHeap y el segundo paso es obtener el mínimo del montón e insertarlo en el flujo de salida ordenado.

6. Dispositivos IoT implementables mediante aprendizaje automático

Hay algunos dispositivos de borde que se encargan de que la red funcione correctamente. Arduino y Raspberry-pi son algunos de los dispositivos IoT más utilizados en la industria. En la práctica, muchos algoritmos de aprendizaje automático son muy difíciles de implementar en estos dispositivos a partir de ahora. Por estas razones, varias de las principales empresas tecnológicas de la industria están trabajando para reducir la complejidad temporal y espacial de los algoritmos de aprendizaje automático. Sin el conocimiento de las estructuras de datos y los algoritmos, los profesionales no pueden escribir código optimizado que pueda implementarse en dispositivos de borde.

7. Indisponibilidad de librerías para solucionar el problema

Como profesional de la informática, encontrará problemas que no se pueden resolver con las bibliotecas existentes. Por otro lado, existe la posibilidad de que solo necesite una función de la biblioteca en todo el ciclo de vida de la aplicación, lo que genera una ponderación adicional no deseada de la biblioteca restante, ya que la biblioteca está completamente cargada.

En el primer caso, supongamos que tenemos datos en forma de árbol y queremos visitarlos nivel por nivel. Supongamos que después de ciertos pasos hay un nivel que tiene más nodos de los que se pueden acumular a la vez. Esto puede hacer que el algoritmo se rompa. En tal caso, como profesional, debe tener el conocimiento para implementar deque que acumule el máximo de nodos en el árbol en cada nivel.

En el segundo caso, supongamos que desea implementar el código en el dispositivo IoT que solo necesita una función de la biblioteca NumPy. Entonces no tiene sentido cargar toda la biblioteca solo para un caso de uso cuando tenemos poco espacio en un dispositivo IoT. Así que aquí también

Los profesionales deben conocer las estructuras de datos y los algoritmos para implementar una única función definida por el usuario e importar solo lo necesario.

Resumen:

1. Como profesional, una buena comprensión de las estructuras de datos y los algoritmos es un requisito previo para una carrera en aprendizaje automático.

2. Se pueden usar múltiples estructuras de datos para diseñar modelos de aprendizaje automático que pueden determinar los detalles internos de los algoritmos.

3. La elección correcta de las estructuras de datos puede optimizar la complejidad temporal y espacial de cualquier algoritmo de aprendizaje automático. por ej. Uso de gráficos para algoritmos de predicción de objetos.

La publicación ¿Cuál es el uso de las estructuras de datos para el aprendizaje automático? apareció por primera vez en Datafloq.

Related post

Tesco está electrificando las entregas a más de 400 tiendas del centro de la ciudad en el Gran Londres

Tesco está electrificando las entregas a más de 400…

Tesco es el primer minorista en lanzar un camión eléctrico de cero emisiones para realizar entregas desde sus centros de distribución…
Tennis League VR para Quest podría ayudarte a mejorar tu juego

Tennis League VR para Quest podría ayudarte a mejorar…

Amor. Frase. realidad virtual Liga de tenis VR es una experiencia de tenis increíblemente genial que te ayudará a mejorar todo,…
El panel de la FAA analiza las mejores prácticas de seguridad pública con drones

El panel de la FAA analiza las mejores prácticas…

El canal de YouTube de la FAA incluye una grabación de un evento reciente donde un panel de expertos en seguridad…

Leave a Reply

Tu dirección de correo electrónico no será publicada.