Entradas

Mostrando entradas de septiembre, 2021

¿Qué es el DESCENSO DEL GRADIENTE? Explicado por el Volcán de La Palma

Imagen
 El DESCENSO DEL GRADIENTE en el Backpropagation del Machine Learning Los modelos de aprendizaje profundo (o deep learning), se basan en encontrar la tasa de error de cada cálculo realizado en cada una de las neuronas y corregirlo para llegar al valor más bajo de la función e ir aprendiendo cada vez más, para predecir así un mejor resultado con los cálculos que se le facilite en un futuro. Para realizarlo, hay que 'mover' unas características de cada neurona y ajustarla, y para encontrar el error cometido y corregirlo, se utilizan fórmulas matemáticas como las aplicadas en el descenso del gradiente. Estos días, el Volcán Cumbre Vieja de La Palma tiene muchísimo protagonismo en las notícias y vidas de todo el mundo, ya que hace unos días ha entrado en erupción ( y a día de hoy continúa ), pero como tengo una cabeza que no para, mi subconsciente ha encontrado una manera muy fácil de explicar qué es el descenso del gradiente en el Backpropation, simplemente observando boquiabierto

Visualización de datos en gráficos de barra. Entorno CLI-PHP. Encuentra Outliers

Imagen
  Visualización de datos en gráficos de barra para ayudar en la búsqueda de Outliers La limpieza de los datasets en los procesos anteriores al Deep Learning son esenciales. Encontrar los Outliers (o datos que están fuera de lo común), es primordial para rectificarlos y conseguir unos datos homogéneos. Si no los detectamos o no los regularizamos, nuestras redes neuronales tendrán serios problemas para aprender correctamente, ya que un solo dato de estos puede hacer 'volverse loco' a nuestro modelo y no servir de nada. Ya os comenté en un artículo anterior la importancia que tenía este paso, y es necesario de disponer las herramientas adecuadas. Existen algunas que son de pago y privativas. Yo me he decantado por creármela por mi mismo y liberar el código fuente para que alguien más la pueda aprovechar. Se puede utilizar PHP para realizar Machine Learning . En PHP, cuando se realizan las tareas de búsqueda de errores en nuestros datasets, debemos emplear la Ingeniería de datos

Extraer propiedades de los datos .csv para saber cada dato si es string, entero, vacío, numérico, fecha, ip, ....

Imagen
Clase en php para limpiar los valores y extraer sus propiedades dentro de un .csv (tipo string, entero, decimal, vacío, fecha, .....) Hoy os traigo una clase en php que he realizado para extraer las propiedades de los datos de un fichero .csv. Esta clase es útil para el proceso de limpieza de datasets antes de utilizar las redes neuronales en machine learning. La clase se llama row-math-ml-csv y se puede descargar desde github.com o desde phpclasses.org . Con ella podemos extrar las siguientes características de cualquier valor de una fila de nuestro dataset: 'empty': El campo está vacío. No tiene ningún valor o bien contiene '-' 'empty_null': El campo contiene un valor NULL 'empty_nan': El campo contiene un valor numérico no válido NA ó NAN 'empty_anyway': Nos sirve para saber si está vació de cualquier manera anterior. Estos campos nos sirven para estar alerta si nuestro dataset contiene datos vacíos o nulos y poder actuar en ellos. 'strin

Visualización en tabla para detectar datos incorrectos y limpiar los datasets antes de realizar el Deep Learning (aprendizaje profundo) en PHP

Imagen
  Clase en PHP para visualizar la estructura de datos, preparar y limpiar el dataset antes del Deep Learning Los datos que facilitamos a nuestros modelos de redes neuronales deben de estar impecables, tal y como explicaba en el artículo de Ingeniería de datos para el Machine Learning . No vale con que le demos los datos a nuestro modelo de red neuronal tal cual lo importamos. Nos podemos encontrar con: - Campos vacíos: '' ó '-' - Campos Nulos: null - Campos numéricos erróneos: 'na' ó 'nan' - Valores numéricos 0. Puede ser que falten datos o que realmente sean correctos - Fechas que podemos separar en sub features - Otros campos que podemos separar en sub features, como por ejemplo una IP o códigos de paises 'es', 'de', 'fr',…. - Campos en texto donde el sistema no podrá aprender nada y deberemos eliminarlos o cambiarlos. En definitiva, todo se reduce en tener bajo nuestro control todos los datos, que no se nos escape un dato incoh

Ganador 2 premios internacionales a la innovación en PHP en Inteligencia Artificial Machine Learning

Imagen
  2 PREMIOS INTERNACIONALES A LA INNOVACIÓN EN PHP (System Resources & Csv Pair File). Destinadas a la Inteligencia Artificial  Las dos clases en php nominadas el mes pasado han quedado clasificadas como ganadoras en los premios de Innovación en PHP . Ambas an quedado en 1ª posición. Es todo un reconocimiento, lo que indica la calidad del código y la utilidad de ellas. No basta con escribir código y subirlo. Hay que limpiarlo, que lo pueda entender cualquier programador, utilizar al ser posible el inglés como idioma internacional para poder llegar a más programadores, generar una buena, detallada y comprensible documentación, .... Siempre hay unos estándards que habría que cumplir para hacer más fácil la programación de todo el mundo. Estas dos clases están orientadas a mejorar la usabilidad del Machine Learning & Deep Learning en PHP dentro del marco de la Inteligencia Artificial. La primera está destinada a obtener los recursos del sistema en php , como Uso y obtener la tempe

Nominadas en PHPClasses.org Imprimir Etiquetas en PDF desde PHP y Encender/Apagar Led Raspberry GPIO

Imagen
Este mes estamos de enhorabuena. Dos de las clases que publiqué en phpclasses.org han sido nominadas a los premios internacionales de innovación en PHP . Las dos librerías están bien documentadas. Recientemente hice un artículo para cada una de ellas, para Imprimir etiquetas en PDF desde PHP y para Encender/apagar LED en Raspberry GPIO . Podéis encontrar el código fuente aquí: - Imprimir etiquetas en PDF desde PHP - Encender/Apagar LED en Raspberry GPIO El mes pasado, las dos clases que publiqué en PHP y que fueron nominadas,  han sido premiadas y han quedado ambas en 1ª posición . No está mal, ¿no? 👏👏👏 Por cierto.... ya se ha abierto el período de votación ... por si queréis echar una mano😁.