Machine learning. Análisis gráfico del funcionamiento de algunos algoritmos de clasificacion

De forma gráfica os voy a presentar algunas técnicas de clasificación supervisada de las más empleadas in Machine Learning y podremos ver cómo se comportan de forma gráfica en el plano. Como siempre, prefiero ilustrarlo a entrar in temas teóricos y, para esta tarea, se me ha ocurrido pintar una letra O y comenzar a trabajar con Python, así de simple. Lo primero es tener los datos; evidentemente serán puntos aleatorios en el plano donde pintamos una variable dependiente con forma de O: ...

3 de mayo de 2017 · rvaquerizo

Como salva la linealidad una `red neuronal`

En los últimos tiempos estoy empeñado en usar redes neuronales para la tarificación en seguros. Históricamente, la tarificación de seguros, el pricing, se ha basado en modelos lineales generalizados (GLM por sus siglas en inglés) porque su estructura es sencilla, se interpreta bien y, no olvidemos, el sector asegurador está regulado y es necesario elaborar una nota detallada de cómo se articula una tarifa; el GLM nos ofrece una estructura multiplicativa que se comprende y con la que los reguladores se sienten muy cómodos. Sin embargo, una red neuronal es el paradigma de “caja negra”; ¿cómo podemos saber qué hace esa caja negra? Estoy trabajando en ello: la descripción del funcionamiento de las ponderaciones de una red está muy arriba en la lista de mis tareas pendientes. ...

27 de septiembre de 2016 · rvaquerizo

Resolución del juego de modelos con R

Hace mucho planteé un juego de identificación de modelos con R y ya se me había olvidado daros la solución. Pensando en el Grupo de Usuarios de R y en hacer algo parecido en una presentación, recordé que había que solucionar el ejercicio. Lo primero es la creación de los datos; se me ocurrió una función sencilla y una nube de puntos alrededor de ella: # Variable independiente indep = runif(500, 100, 500) # Función para crear la variable dependiente foo = function(x) { mean(x) * (1 - sin(-0.006042 * x)) } dep = sapply(indep, foo) dep = dep + (runif(length(dep), -100, 100)) datos = data.frame(cbind(indep, dep)) plot(datos) ...

11 de mayo de 2016 · rvaquerizo

Medir la importancia de las variables en una red neuronal con R

Sigo a vueltas con esta gran web y hoy vamos a medir la importancia de las variables en una red neuronal. Al igual que sucede en un modelo de regresión, los parámetros obtenidos pueden servirnos para determinar la importancia de una variable dentro del modelo. En el caso de una red neuronal, los pesos de la red pueden ser utilizados para determinar cómo influye una variable en el modelo. Para ilustrar este tipo de tareas, el gran @beckmw realizó esta entrada: ...

29 de septiembre de 2014 · rvaquerizo

Representación de redes neuronales con R

En la última entrada realizamos un modelo de regresión con redes neuronales. Hoy quería mostraros cómo representar gráficamente la red neuronal creada en esa entrada. A la modelización con redes neuronales siempre se le ha achacado un comportamiento de “caja negra”: nosotros pasamos unas variables de entrada por una capa oculta y obtenemos una salida. No hay parámetros ni inferencia sobre los mismos; no sabemos lo que hace la red por dentro. En el caso concreto de R y continuando con la entrada anterior, si hacemos summary(bestnn): ...

9 de septiembre de 2014 · rvaquerizo

Regresión con redes neuronales en R

La última técnica que me estoy estudiando este verano es la regresión con redes neuronales. El ejemplo que os voy a poner es completamente análogo a este: http://heuristically.wordpress.com/2011/11/17/using-neural-network-for-regression/. Vamos a trabajar con el paquete nnet; si dispusiera de tiempo, replicaría este ejemplo en otra entrada con neuralnet. Para realizar el ejemplo tenemos el conjunto de datos BostonHousing, que contiene el censo de 1970 de 506 hogares de Boston. Empecemos a trabajar con la consola de RStudio: ...

7 de septiembre de 2014 · rvaquerizo

Monográfico. Paquete de R NNET para modelos de redes neuronales

Quiero introduciros a los modelos de redes neuronales con R, más concretamente quiero acercaros al módulo nnet de R. Tenemos extensa literatura al respecto de las redes neuronales; personalmente considero de lectura obligatoria este enlace (y prácticamente toda la documentación de este profesor). El paquete nnet nos permite crear redes neuronales de clasificación monocapa. Las redes neuronales clasifican mediante algoritmos o métodos de entrenamiento; en función de estos métodos podemos tener redes supervisadas y redes no supervisadas. Las primeras buscan un límite de decisión lineal a través de un entrenamiento. Las segundas parten de unos parámetros (pesos) fijos y no requieren entrenamiento porque realizan mecanismos de aprendizaje en función de experiencias anteriores. ...

26 de enero de 2010 · rvaquerizo