Entrenando murciélagos en el bosque al azar con la matriz de confusión

Cuando se explora el ámbito del Aprendizaje Automático, siempre es bueno tener algunos datos reales e interesantes con los que trabajar. Ahí es donde entran en juego los murciélagos – son animales fascinantes que emiten llamadas ultrasónicas muy particulares que pueden ser grabadas y analizadas con un software de ordenador para tener una idea bastante buena de qué especies son. Cuando se analiza con un espectograma FFT, podemos ver las formas de las llamadas individuales muy claramente.

Nyctalus noctula (murciélago nocturno) Myotis nattereri (murciélago natterero) Plecotus auritus (oreja larga marrón) Pipistrellus pipistrellus (pipistrelo común)

La creación de un clasificador de código abierto para murciélagos también es potencialmente útil para el mundo fuera del aprendizaje automático, ya que no sólo nos permitiría supervisar más fácilmente a los murciélagos, sino también los efectos de los métodos de cultivo modernos en el entorno natural. Los murciélagos se alimentan de polillas y otros insectos voladores nocturnos que han sido diezmados en número. Incluso en las profundidades del campo aquí en el Reino Unido estos insectos son una fracción de la población que solían ser hace 30 años, pero nadie parece haber monitoreado esta disminución.

Así que volviendo a nuestros espectogramas, sería perfectamente razonable lanzar estas imágenes a una red neural convolucional (CNN) y usar una estrategia de reconocimiento de características de la imagen. Pero yo quería explorar las profundidades del misterioso Bosque Aleatorio.

¿Y qué es exactamente un Bosque al azar? Como era de esperar, el bosque está compuesto por árboles, árboles de decisión. Es como jugar un juego de veinte preguntas. Se toman decisiones secuenciales, y cada una de ellas descarta algunas clasificaciones posibles. Si cada juego de veinte preguntas es un árbol, el Bosque al azar (RF) del ejemplo siguiente está compuesto de 4.000 árboles y es como pedirle a 4.000 personas que jueguen el juego por ti. Aplicamos algún tipo de fórmula de promediación para cotejar todas las respuestas y obtener un método para tomar la decisión final que es marcadamente mejor que si lo hubiéramos hecho solos.

Cuando juegas a las veinte preguntas, preguntas sobre los rasgos definitorios de la cosa en cuestión. El lugar obvio para empezar es el punto de la llamada donde la llamada es más fuerte (se muestra en negro en la imagen de la izquierda), lo que nos daría una frecuencia. Así que en el caso del murciélago de orejas marrones, el número sería algo así como 30 kHz. Ni siquiera tenemos que llamarlo de otra manera – los árboles simplemente procesarán a ciegas todos los números de una columna de datos sin necesidad de saber lo que significan en el mundo real. Sin embargo, como seres sensibles, podemos ver los datos si queremos e incluso ver qué características del espectograma eran las más importantes. ¿Quizás la frecuencia de amplitud máxima también es importante? No lo sabemos todavía – dejaremos que los árboles de decisión lo decidan por sí mismos. La línea roja en la imagen de la izquierda muestra la forma distintiva de la llamada de localización de eco de pipistrelle, filtrada por el software para producir una bonita línea delgada de la que ahora podemos derivar valores para cosas como la pendiente ascendente y la inclinación.

Extraer las características relevantes como esta es increíblemente importante. Un científico de datos, junto con un experto en llamadas de murciélagos, miraría ahora toda la gama de llamadas de murciélagos y haría conjeturas educadas sobre qué características merecen ser observadas – ¿quizás la forma en que la llamada se inclina o si comienza con un $0027bang$0027 de amplitud o no? Podrían producir varios cientos de columnas diferentes para el conjunto de datos y podarlas hasta una veintena, descartando todas las que los propios árboles decidan no utilizar mucho.


Traer a los expertos en murciélagos

Después de algunos inicios en falso, finalmente me decidí por este sistema escrito por Jean Marchal, Francois Fabianek y Christopher Scott. Es básicamente un paquete de extracción de características escrito en R que ha sido específicamente dirigido a los llamados de murciélagos y pájaros. Hay un tutorial fácil de seguir que descarga datos de aves y clasifica un solo pájaro y, como alguien que no tiene absolutamente ninguna experiencia previa con R, pude usarlo fácilmente para armar una versión multiclase que clasificó las seis especies de murciélagos que viven cerca de mi casa. Estoy seguro de que hay una manera más elegante de implementar en Random Forest, pero sólo clasifiqué cada especie por separado y luego combiné los resultados. Por favor, siéntase libre de mejorar mi método, pero parece funcionar bien.

El sistema se ejecuta mejor en Rstudio en Windows 10 y todo se instala sin problemas de principio a fin. También lo tengo funcionando en Ubuntu 18, pero sólo desde la línea de comandos usando $0027$ Rscript Train_bats.R$0027 . En realidad nunca terminé el tutorial oficial y encontré la estructura de datos bastante confusa para empezar. Afortunadamente, resultó ser muy simple. Parece que el sistema que he creado es una serie de $0027clasificadores binarios$0027 que escupe una nueva matriz de confusión para cada especie, que está entrenada contra todas las demás especies del directorio $0027data$0027.

La especie que se está investigando es el pipistrel común – c_pip. Durante el entrenamiento automático y el proceso de prueba, 1435 puntos de datos que en realidad $0027no eran c_pip$0027 fueron correctamente pronosticados como $0027no c_pip$0027 … ¡lo cual es bueno! Además, se predijo correctamente que 880 etiquetas que eran realmente c_pip eran c_pip, lo cual también es bueno. Desafortunadamente, 33 de los murciélagos de c_pip fueron incorrectamente predichos como que no eran de esa especie y, peor aún, 28 que no eran c_pip fueron incorrectamente predichos como c_pip – ¡maldita sea! Afortunadamente, los porcentajes de predicciones incorrectas son bastante bajos – 2.2% y 3.1% respectivamente, a pesar de tener sólo 320 MB de datos de murciélagos.

Los resultados pueden mejorarse trabajando con más datos, así que si tienes algún archivo .wav de espectro completo acechando en tus unidades USB para las 17 especies de murciélagos del Reino Unido, ¡por favor envíamelo! Las grabaciones deben ser del orden de 384 ks por segundo (192 KHz) y no deben estar distorsionadas / recortadas. Grabaciones débiles están bien, ya que representan las condiciones de la vida real. La otra cosa que hay que mencionar es que la misma especie de murciélago en una ubicación geográfica diferente puede tener diferentes llamadas, por lo que es importante añadir las propias llamadas de murciélagos locales a los datos para obtener buenos resultados.

Mis propios datos se ofrecen sin licencia de Google Drive aquí. ¡Utilízalos de la manera que creas conveniente! Las especies fueron identificadas con la ayuda de expertos en la localización del eco de murciélagos en el grupo de Facebook: Taller de Análisis de Sonido de Llamada de Murciélago. (¡Gracias chicos!)

Así que tenemos unos 320 MB de datos de entrenamiento, un clasificador de trabajo en Rstudio y una grabación de un bate de la noche anterior con un micrófono UltraMic384K. Ahora sólo hay que encontrar el directorio Bioacoustics/unknown_bat_audio/, borrar los archivos existentes y pegar en nuestro bate desconocido. Es muy sencillo! Presiona el botón $0027run$0027 ……..

Es muy probable que sea un plecotus auritus, el murciélago de orejas largas marrón eminentemente lindo! A veces el clasificador tiene dificultades, sobre todo si las grabaciones son indistintas. Además, los murciélagos del género Myotis tienden a tener llamadas muy similares entre sí y en realidad se superponen, por lo que a menudo es imposible clasificarlos sin atrapar físicamente a la criatura y extraerle el ADN, o algo parecido. Esto no lo recomiendo y si realmente debe hacerlo, compruebe si se requiere una licencia de la Reserva Federal y no sea mordido – los murciélagos pueden ser portadores de algunas enfermedades mortales.

¿Y qué es lo siguiente? ¿Tal vez llevar el clasificador a un Raspberry PI y enviar los resultados a través de una conexión LoRa? ¿O si hay una señal de teléfono móvil 2G, enviarla a través de HTTP? O un detector de murciélagos de mano que diga el nombre del murciélago. «Hola amigos. Ahí va Barry el murciélago de orejas marrones, y está de humor para la fiesta!»

Simulación de circuitos en Python

Simulación de circuitos en Python

El uso de SPICE para simular un circuito eléctrico es una práctica bastante común en la ingeniería que "SPICEing a ...
Leer Más
La Guía de Jóvenes Ingenieros para los Proyectos Finales de la Universidad

La Guía de Jóvenes Ingenieros para los Proyectos Finales de la Universidad

Las carreras de ingeniería son tan amplias y variadas como las carreras potenciales que se ofrecen en el mundo real ...
Leer Más
Raspberry Pi 4 HDMI está interfiriendo su propio WiFi

Raspberry Pi 4 HDMI está interfiriendo su propio WiFi

Hacer actualizaciones a una línea de productos populares puede parecer una buena idea, pero añadir piezas más grandes/mejores/rápidas a un ...
Leer Más
Un radio reloj Nixie adecuado para un científico loco victoriano

Un radio reloj Nixie adecuado para un científico loco victoriano

construyó un reloj de nixie con una vertiginosa variedad de características. ¿Alguna vez has deseado poder acceder a tu reloj ...
Leer Más
¿Qué necesita un banco de trabajo electrónico?

¿Qué necesita un banco de trabajo electrónico?

¿Alguna vez ha estado en una situación en la que no está seguro de dónde empezar a construir su propio ...
Leer Más
Te veo en el lado oscuro de la luna: Observatorio de la Radio Lunar de China

Te veo en el lado oscuro de la luna: Observatorio de la Radio Lunar de China

Durante casi todo el tiempo que ha habido radio, ha habido antenas entrenadas en el cielo, mirando el universo de ...
Leer Más
Desmontaje: El PreComputador 1000 de VTech es un PC icónico en una envoltura de juguete

Desmontaje: El PreComputador 1000 de VTech es un PC icónico en una envoltura de juguete

En los días anteriores a que los niños pudieran ser aplacados con un teléfono Android de 50 dólares, a muchos ...
Leer Más
Colorear las imágenes con la ayuda de la IA

Colorear las imágenes con la ayuda de la IA

El mundo nunca fue en blanco y negro, simplemente carecíamos de la tecnología para capturarlo a todo color. Muchos han ...
Leer Más
Hacer trampa en los bolos, a la manera de los hackers

Hacer trampa en los bolos, a la manera de los hackers

Cualquier persona que haya ido alguna vez a una bolera sabrá la técnica preferida (pero ineficaz) para controlar telepáticamente una ...
Leer Más
Un reproductor multimedia de Raspberry a prueba de tontos

Un reproductor multimedia de Raspberry a prueba de tontos

El panorama de los medios de comunicación en el hogar ha cambiado precipitadamente a lo largo de los años. En ...
Leer Más
Pequeñas burbujas en el reloj

Pequeñas burbujas en el reloj

Cuando [DonHo] cantaba sobre las pequeñas burbujas, probablemente no pensaba en ellas incrustadas en la glicerina. Pero ahí es donde ...
Leer Más
La prensa de perforación casera de tus sueños

La prensa de perforación casera de tus sueños

Tenemos la suerte de vivir en una época en la que las herramientas casi nunca han sido tan asequibles, cuando ...
Leer Más
Una mini máquina expendedora para aumentar sus ventas

Una mini máquina expendedora para aumentar sus ventas

Una visión común en el mundo de los espacios para hackers es una vieja máquina expendedora que se ha reconvertido ...
Leer Más
Los tubos de acero y las placas de tierra forman el esqueleto de esta fresadora vertical CNC de bricolaje

Los tubos de acero y las placas de tierra forman el esqueleto de esta fresadora vertical CNC de bricolaje

Si lo vas a hacer tú mismo, es mejor que te superes a ti mismo. Esa parece ser la idea ...
Leer Más
La impresora de línea hace su mejor impresión de teletipo

La impresora de línea hace su mejor impresión de teletipo

En los primeros días de la computación, las terminales de usuario utilizaban impresoras de línea para la salida. Naturalmente, esto ...
Leer Más
Jonas Salk, virólogo y vanguardia de la vacunación

Jonas Salk, virólogo y vanguardia de la vacunación

A principios de la década de 1950, lo único que daba más miedo que la amenaza de una guerra nuclear ...
Leer Más
Transmisores de Hacking, estilo 1920s

Transmisores de Hacking, estilo 1920s

El origen del término "breadboard" viene de un divertido pasado cuando las tablas de madera para el pan fueron arrancadas ...
Leer Más
Este árbol RGB tiene sus raíces en un PCB

Este árbol RGB tiene sus raíces en un PCB

El árbol RGB de [Paczkaexpress] es una mezcla de ingeniosas técnicas de construcción y formas artísticas que se unen en ...
Leer Más
Puesta a punto del panel de intercomunicación ThinkGeek Star Trek

Puesta a punto del panel de intercomunicación ThinkGeek Star Trek

En Star Trek , todo lo que Kirk y sus amigos tenían que hacer era apretar el botón en el ...
Leer Más
El reloj de la fecha no requiere (casi) ninguna interacción

El reloj de la fecha no requiere (casi) ninguna interacción

Muchas ofertas comerciales de tecnología dirigida a ayudar a los ancianos parecen hacer un buen trabajo en la superficie, pero ...
Leer Más
Bruselas mira hacia la prohibición del transporte de combustibles fósiles ya en 2035

Bruselas mira hacia la prohibición del transporte de combustibles fósiles ya en 2035

Muchas ciudades del mundo luchan rutinariamente contra el smog. Además de ser antiestético, la fuerte contaminación atmosférica tiene graves efectos ...
Leer Más
Vea que tan diferentes pueden ser los aires acondicionados (en el interior)

Vea que tan diferentes pueden ser los aires acondicionados (en el interior)

Los aires acondicionados son fáciles de dar por sentado. Desde los refrigeradores hasta el control de climatización, la mayoría de ...
Leer Más
Ted La Tostadora Parlanchina

Ted La Tostadora Parlanchina

El equipo detrás de [8 Bits and a Byte] ha construido una tostadora parlante. Más exactamente, han actualizado su tostadora ...
Leer Más
Hacer sus propios piñones de cadena, de forma ordenada

Hacer sus propios piñones de cadena, de forma ordenada

Los piñones de la cadena son un componente clave de la transmisión en muchas construcciones. Desafortunadamente pueden ser difíciles de ...
Leer Más
Emulador de la unidad de cinta Commodore en una Raspberry Pi

Emulador de la unidad de cinta Commodore en una Raspberry Pi

Nos imaginamos que la mayoría de la gente que lee Digital Lithium tiene un viejo Raspberry PI o dos tirados ...
Leer Más
El fracaso de la semana: El Bote de la Impresora 3D Limpia que no

El fracaso de la semana: El Bote de la Impresora 3D Limpia que no

Algunos de ustedes estarán familiarizados con la idea de usar un cepillo como un limpiador de boquillas en una impresora ...
Leer Más
Sleeper PlayStation esconde un Pi 4 de Raspberry

Sleeper PlayStation esconde un Pi 4 de Raspberry

[Andreas Wilcox] quería darle a su hermano un regalo de cumpleaños que reflejara el amor que compartían por los primeros ...
Leer Más
Desmontaje de la pulsera PixMob LED (más emisores IR y cómo detectarlos)

Desmontaje de la pulsera PixMob LED (más emisores IR y cómo detectarlos)

Las unidades PixMob son dispositivos LED vestibles destinados a las multitudes de asistentes a eventos como conciertos. Estos dispositivos permiten ...
Leer Más
Bucear con un suministro de aire ilimitado

Bucear con un suministro de aire ilimitado

Si quieres explorar bajo el agua, tienes algunas opciones. Puedes aguantar la respiración. Puedes intentar reciclar tu aire. Puedes llevar ...
Leer Más
Vea un tirachinas hecho en arena, de principio a fin

Vea un tirachinas hecho en arena, de principio a fin

La fundición en arena de piezas metálicas es una técnica que existe desde hace mucho tiempo, pero puede ser educativo ...
Leer Más

Deja un comentario