• No se han encontrado resultados

Aplicación Java para distribución de código en R

N/A
N/A
Protected

Academic year: 2021

Share "Aplicación Java para distribución de código en R"

Copied!
14
0
0

Texto completo

(1)

Aplicaci´

on Java para distribuci´

on de c´

odigo en R

Rold´an Gal´an Lafarga

[email protected]

(2)

Presentaci´on Aplicaci´on real Otras implementaciones

Implementaci´on

Descripci´

on problema

I Existen muchos problemas, cuya resoluci´on inform´atica

requiere de un enorme tiempo de c´omputo.

I En la actualidad, la soluci´on m´as rentable para mejorar la eficiencia, consiste en ejecutar distintas partes del programa en diferentes computadores paralelamente, de modo que este tiempo se reduce enormemente.

(3)

Descripci´

on problema

I Existen muchos problemas, cuya resoluci´on inform´atica

requiere de un enorme tiempo de c´omputo.

I En la actualidad, la soluci´on m´as rentable para mejorar la eficiencia, consiste en ejecutar distintas partes del programa en diferentes computadores paralelamente, de modo que este tiempo se reduce enormemente.

(4)

Presentaci´on Aplicaci´on real Otras implementaciones Implementaci´on

¿C´

omo hacerlo?

M´aquinas de c´alculo

I Programa en el lenguaje Java que lanza una instancia de R en

la que realiza los c´alculos.

I Conectado a trav´es de la red al equipo principal, desde el que recibir´a el c´odigo que le corresponda ejecutar.

Servidor principal

I Interfaz gr´afico que facilita la construcci´on de las sentencias R. I Tambi´en hace de servidor que las distribuir´a a las m´aquinas

anteriores.

(5)

¿C´

omo hacerlo?

M´aquinas de c´alculo

I Programa en el lenguaje Java que lanza una instancia de R en

la que realiza los c´alculos.

I Conectado a trav´es de la red al equipo principal, desde el que recibir´a el c´odigo que le corresponda ejecutar.

Servidor principal

I Interfaz gr´afico que facilita la construcci´on de las sentencias R.

I Tambi´en hace de servidor que las distribuir´a a las m´aquinas anteriores.

(6)

Presentaci´on Aplicaci´on real Otras implementaciones Implementaci´on

Sintetizaci´

on de la arquitectura

Asistente/Servidor

Selecci´on/Generaci´on del c´odigo a ejecutar y distribuci´on.

Cliente

(7)

Ventajas

I Reducci´on del tiempo de c´alculo.

I Generaci´on autom´atica de c´odigo de calidad.

I Posibilidad de realizar estudios extra al disponer de m´as tiempo.

I Interfaz gr´afica m´as agradable al uso que la consola de comandos.

(8)

Presentaci´on Aplicaci´on real Otras implementaciones

Perceptr´on Multicapa Caracter´ısticas

Entrenamiento de perceptr´

on multicapa bajo R

Nuestra primera aplicaci´on estaba orientada a facilitar el

entrenamiento de la red Perceptr´on Multicapa para resoluci´on de problemas de clasificaci´on binaria.

¿Por qu´e?

Requieren bastante tiempo, que se incrementa con el n´umero de neuronas, de entradas y el total de datos.

Es necesario un comando distinto para cada red con diferentes par´ametros que se desee entrenar.

Comando de ejemplo (paqueteneural)

mlptrain(inp,neurons,out,weight=c(),dist=c(),

alfa=0.2,it=200,online=TRUE, permute=TRUE,thresh=0, dthresh=0.1,actfns=c(),diffact=c(),visual=TRUE)

(9)

Entrenamiento de perceptr´

on multicapa bajo R

Nuestra primera aplicaci´on estaba orientada a facilitar el

entrenamiento de la red Perceptr´on Multicapa para resoluci´on de problemas de clasificaci´on binaria.

¿Por qu´e?

Requieren bastante tiempo, que se incrementa con el n´umero de

neuronas, de entradas y el total de datos.

Es necesario un comando distinto para cada red con diferentes par´ametros que se desee entrenar.

Comando de ejemplo (paqueteneural)

mlptrain(inp,neurons,out,weight=c(),dist=c(),

alfa=0.2,it=200,online=TRUE, permute=TRUE,thresh=0, dthresh=0.1,actfns=c(),diffact=c(),visual=TRUE)

(10)

Presentaci´on Aplicaci´on real Otras implementaciones

Perceptr´on Multicapa Caracter´ısticas

Entrenamiento de perceptr´

on multicapa bajo R

Nuestra primera aplicaci´on estaba orientada a facilitar el

entrenamiento de la red Perceptr´on Multicapa para resoluci´on de problemas de clasificaci´on binaria.

¿Por qu´e?

Requieren bastante tiempo, que se incrementa con el n´umero de

neuronas, de entradas y el total de datos.

Es necesario un comando distinto para cada red con diferentes par´ametros que se desee entrenar.

Comando de ejemplo (paqueteneural)

mlptrain(inp,neurons,out,weight=c(),dist=c(),

alfa=0.2,it=200,online=TRUE, permute=TRUE,thresh=0, dthresh=0.1,actfns=c(),diffact=c(),visual=TRUE)

(11)

Actividades esenciales

I Interfaz gr´afica para facilitar el dise˜no de las diversas redes.

I Generaci´on autom´atica del c´odigo de las distintas redes en base a los par´ametros.

I Computaci´on distribuida para el entrenamiento de todos

modelos deseados.

I Selecci´on autom´atica de la mejor arquitectura utilizando el valor del ´area bajo la curva ROC.

I Muestra por pantalla los par´ametros significativos del mejor modelo.

(12)

Presentaci´on Aplicaci´on real Otras implementaciones Perceptr´on Multicapa Caracter´ısticas

Dise˜

no de la red

I Selecci´on de los datos de test o entrenamiento de forma

manual, o aleatoriamente estableciendo el porcentaje de cada uno.

I Arquitectura

I Pueden a˜nadirse diversas arquitecturas una por una con sus diferentes configuraciones.

I O bien seleccionar un rango de neuronas por capa y que la aplicaci´on realice las combinaciones con ciertos par´ametros en com´un.

I Generaci´on autom´atica de distintas redes en base a los par´ametros.

(13)

acil ampliaci´

on

I Se ha prestado especial dedicaci´on a la creaci´on de un c´odigo Java f´acilmente ampliable y escalable.

I Para implementar una versi´on con otros objetos R s´olo ser´ıa necesario redefinir tres clases de la aplicaci´on original.

I Tambi´en ser´ıa necesario redise˜nar parte de la IGU para concordar con el nuevo modelo de datos.

I Gracias a conceptos de la POO como herencia y polimorfismo,

el resto del programa no requerir´a modificaci´on para trabajar con las nuevas clases. Y de hecho, escribir las nuevas

(14)

Presentaci´on Aplicaci´on real Otras implementaciones

Clases a implementar

Modelo de datos

Una de las clases Java representa el objeto R con el que se trabaja. Encapsula sus datos y par´ametros.

Generador

Define todo el c´odigo R que podr´a generar la aplicaci´on. Se puede

hacer tan compleja como se desee. Automatizar la creaci´on de

c´odigo mediante IGU o introducirlo a mano.

Extractor

Otra clase se encarga de enviar los comandos necesarios al espacio de trabajo R para extraer la informaci´on necesaria calculada e instanciar el equivalente en Java.

Referencias

Documento similar

Sólo que aquí, de una manera bien drástica, aunque a la vez coherente con lo más tuétano de sí mismo, la conversión de la poesía en objeto -reconocida ya sin telarañas

Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

 Tejidos de origen humano o sus derivados que sean inviables o hayan sido transformados en inviables con una función accesoria..  Células de origen humano o sus derivados que

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de

A ello cabría afladir las intensas precipitaciones, generalizadas en todo el antiguo reino valenciano, del año 1756 que provocaron notables inundaciones y, como guinda final,

En primer lugar, como ya se ha señalado, debe precisarse que ambas categorías acce- den a sus puestos de trabajo a través de cauces más flexibles que el personal permanente, pero