Você está na página 1de 6

Funciones Hardlim y Hardlims en la Aprobacion de

Creditos Bancarios y Pruebas de Admision para la


Fuerza Aerea Ecuatoriana - Functions Hardlim and
Hardlims in Banking and Credits Approval of
Admission Tests for the Fuerza Aerea Ecuatoriana
R. Chimbo, P. Morocho. Tutor: Ing. Henry Paz.

ResumenEl presente documento muestra dos aplicaciones


de la vida real resueltas a traves de redes neuronales como son
la aprobacion de prestamos o creditos de un ente financiero
a una persona jurdica o natural y el de la admision de
postulantes a ingresar en la Fuerza Aerea Ecuatoriana (FAE) en
ambos su clasificacion se da en terminos de credito aprobado o
no aprobado y de admitido o no admitido correspondientemente.

avances gracias a la IA son: La medicina, la informatica,


ensamblaje o manufacturacion, medio ambiente, fuerzas
militares, economa y finanzas, siendo elevado el grado de
usabilidad y factibilidad el uso de la IA a traves de alguna de
sus tecnicas como algoritmos geneticos y redes neuronales
para resolver problemas o fenomenos de la vida real.

Se hizo uso de la herramienta Matlab para la elaboracion de


la red neuronal y del Toolbox para desarrollar la interfaz grafica.

El artculo se encuentra dividido en secciones, en las que se


describen los contenidos que abarcan. En la seccion estado del
arte se van a encontrar con definiciones generales de inteligencia artificial como: Redes neuronales artificiales, funciones de
activacion y funciones de aprendizaje. En la seccion de caso
practico se dara solucion a los problemas que se han planteado
con las funciones de activacion Hardlim y Hardllims, finalmente en la seccion conclusiones se encontraran los resultados
del caso practico planteado y el link de descarga del cdigo de
la aplicacion.

AbstractThis paper shows two real-life applications solved


by neural networks such as the approval of loans or credit of
a financial entity to a legal or natural person and admission of
applicants to join the Fuerza Aerea Ecuatoriana (FAE) in both
their classification is given in terms of credit approved or not
approved and admitted or not admitted accordingly.
Using the Matlab tool for the development of the neural
network and the Toolbox are made to develop the GUI.
Index TermsInteligencia artificial, neurona, red Neuronal,
funciones de activacion, funciones de aprendizaje, perceptron,
hardlim, hardlims, capa de entrada, capa oculta, capa de salida.
Index TermsArtificial intelligence, neuron, neural network,
activation functions, learning functions, perceptron, hardlim,
hardlims,input layer, hidden layer, output layer.

I. INTRODUCCI ON

l hombre se ha caracterizado siempre por la busqueda


constante de nuevas vas para mejorar sus condiciones
de vida. Estos esfuerzos le han servido para reducir el trabajo
en aquellas operaciones en las que la fuerza juega un papel
primordial. Los progresos obtenidos han permitido dirigir
estos esfuerzos a otros campos uno de ellos es la Inteligencia
Artificial (IA).

Desde su aparicion la inteligencia artificial ha sido de


gran apoyo en campos tecnicos, cientficos y sociologicos
de la humanidad, algunas ramas que han presentado grandes
R. Chimbo, Universidad Nacional de Loja, Loja, Ecuador, rdchimbot@unl.edu.ec
P. Morocho, Universidad Nacional de Loja, Loja, Ecuador, pbmorochom@unl.edu.ec

II. ESTADO DEL ARTE


A. Inteligencia Artificial
Existen varias definiciones acerca de lo que trata la inteligencia artificial, entre las definiciones mas acertadas encontramos en la Encyclopedia Of Artificial Intelligence que:
La Inteligencia Artificial (IA) es un campo de la ciencia
y la ingeniera que se ocupa de la comprension, desde el
punto de vista informatico, de lo que denomina comunmente
comportamiento inteligente. Tambien se ocupa de la creacion
de artefactos que exhiben este comportamiento.[1], [2]

B. Redes Neuronales Artificiales


Podemos definir una red neuronal como un conjunto de
elementos de procesamiento de la informacion altamente
interconectados, que son capaces de aprender con la
informacion que se les alimenta. La principal caracterstica
de esta nueva tecnologa de redes neuronales es que
puede aplicarse a gran numero de problemas que pueden
ir desde problemas complejos reales a modelos teoricos
sofisticados como por ejemplo reconocimiento de imagenes,
reconocimiento de voz, analisis y filtrado de senales,

clasificacion, discriminacion, analisis financiero, prediccion


dinamica, etc.
Una de las principales propiedades es su capacidad de
aprender y generalizar a partir de ejemplos reales; por lo
tanto la red aprende a reconocer la relacion que existe entre
el conjunto de entradas y sus correspondientes salidas, de tal
modo que, finalizado el aprendizaje, cuando a la red se le
presenta una nueva entrada, en base a la relacion funcional
establecida en el mismo, es capaz de generalizarla ofreciendo
una salida.
En conclusion una red neuronal artificial se la puede definir
como un sistema inteligente capaz no solo de aprender sino
tambien de generalizar. [1], [3]

la entrada, denominadas unidades de entrada.

Dicha informacion se transmite a ciertos elementos


internos que se ocupan de su proceso. Es la sinapsis y
neuronas correspondientes a este segundo nivel donde
se genera cualquier tipo de representacion interna de la
informacion. Puesto que no tienen relacion directa con
la informacion de entrada y de salida, estos elementos
se denominan unidades ocultas.

Una vez ha finalizado el periodo de procesado, la informacion llega a las unidades de salida, cuya mision es dar
la respuesta del sistema.

1) La Neurona Biologica: Una neurona es una celula viva,


y como tal, contiene los mismos elementos que forman parte
de todas las celulas biologicas, ademas, de poseer elementos
caractersticos. Una neurona consta de un cuerpo celular mas o
menos esferico de 5 a 10 micras de diametro, del que sale una
rama principal el axon, y varias ramas mas cortas denominadas
dentritas. A su vez el axon puede producir ramas en torno a su
punto de arranque, y con frecuencia se ramifica extensamente
cerca de su extremo.
Figura 2. Esquema de una Neurona Artificial

La tecnologa basada en redes neuronales artificiales es de


caracter bio-inspirado pues su funcionamiento trata de imitar
el funcionamiento de elementos biologicos que en este caso
los constituyen las neuronas del cerebro.[4], [5]

Figura 1. Esquema de una Neurona Biologica

Una de las caractersticas que diferencian a las neuronas


del resto de celulas vivas, es su capacidad de comunicarse. En
terminos generales, las dentritas y el cuerpo celular reciben
senales de entrada, el cuerpo celular las combina e integra y
emite senales de salida. El axon transporta esas senales a los
terminales axonicos, que se encargan de distribuir informacion
a un nuevo conjunto de neuronas.

3) Elementos Basicos que Componen una Red Neuronal:


Las redes neuronales artificiales son redes interconectadas
masivamente en paralelo de elementos simples y con
organizacion jerarquica, las cuales intentan interactuar con
los objetos del mundo real del mismo modo que lo hace el
sistema nervioso biologico.
Se puede observar un esquema de una red neuronal, la misma esta constituida por neuronas interconectadas y arregladas
en tres capas. Los datos ingresan por medio de la capa de
entrada, pasan a traves de la capa oculta y salen por la capa
de salida. La capa oculta puede estar constituida por varias
capas. [5], [6]

2) La Neurona Artificial: Cualquier modelo de red


neuronal consta de dispositivos elementales de procesamiento:
las neuronas. A partir de ellas, se pueden generar
representaciones especficas, de tal forma que un estado
conjunto de ellas pueda significar una letra, un numero o
cualquier otro objeto. Generalmente se pueden encontrar tres
tipos de neuronas:

Aquellas que reciben estmulos externos, relacionadas


con el aparato sensorial, que tomaran la informacion de

Figura 3. Red Neuronal Interconectada

C. Funciones de Activacion
Las funciones de activacion se utilizan para limitar el
rango de valores de la respuesta de la neurona. Se encarga
de calcular el nivel o estado de activacion de la neurona
en funcion de la entrada total. Generalmente los rangos de
valores se limitan a [0,1] o [-1,1], sin embargo otros rangos
son posibles de acuerdo a la aplicacion o problema a resolver.
Existen diversas funciones de activacion y la decision entre
una u otra dependera nuevamente de la aplicacion o problema
a resolver. Existen funciones de activacion comunmente utilizadas y con las cuales se han obtenido resultados satisfactorios
en diversas aplicaciones. [7]

Figura 5. Funcion Hardlims

D. Tipos de Funciones de Activacion

Aprendizaje Supervisado

Existen varias funciones de activacion, entre las que destacan:

Aprendizaje No Supervisado

Error-correccion (Error-correction learning)

Regla de Refuerzo (Reiforcement learning)

Regla de Hebb (Hebbian learning)

Aprendizaje Competitivo.

1) Funcion Escalon (Hardlim): Esta funcion crea neuronas que clasifican las entradas en dos categoras diferentes,
caracterstica que le permite ser empleada en la red tipo
Perceptron. La siguiente figura muestra como esta funcion
acerca la salida de la red a cero, si el argumento de la funcion
es menor que cero y la lleva a uno si este argumento es mayor
que uno.

III. CASO PR ACTICO


Para el presente trabajo se ha empleado la tecnica de
redes neuronales de inteligencia artificial con la cual se
pretende dar solucion a diferentes problemas empleando las
funciones antes mencionadas, los mismos que se describen a
continuacion:
1) Aplicacion resuelta con Harlim: Esta aplicacion ayuda
al problema o proceso de aprobacion de creditos y prestamos
de una institucion financiera a una persona jurdica o natural.

Figura 4. Funcion Hardlim

El cono para la funcion escalon (Hardlim) reemplazara a


la letra f en la expresion general, cuando se utilice la funcion
Hardlim. Una modificacion de esta funcion puede verse en
la siguiente figura, la que representa la funcion de Escalon
Simetrica (Hardlims) que restringe el espacio de salida a
valores entre 1 y menos 1. [8]
2) Funcion de Activacion Lineal (Purelin):
3) Funcion Sigmoideal (Logsig):
E. Funciones de Aprendizaje
Cuando se produce una respuesta en una neurona e sta debe
adaptarse ante el nuevo entorno, dicha adaptacion se realiza
mediante la modificacion de los pesos que unen las neuronas,
para que e stas den la salida deseada, existen varios modos de
aprendizaje: [9]

A continuacion se presenta una imagen en donde se indican


los valores de entrada (o requerimientos para acceder al
prestamo) y sus respectivas salidas (Credito aprobado o no)
Las casillas X1, X2, X3, X4 representan las entradas de la
red y la casilla salidas como su nombre lo indica, muestra
el resultado de la red, a continuacion se especifica la equivalencia en terminos de requerimientos de las casillas antes
mencionadas:
Casilla X1: Equivale a la edad del solicitante debe ser
menor a 75 aos
Casilla X2: El solicitante no debe contar con hipotecas
Casilla X3: El solicitante debe estar al da con su
tributacion al IESS
Casilla X4: El solicitante no debe tener enfermedades
degenerativas.
Dependiendo del resultado de las entradas la red neuronal
clasifica si el credito fue o no aprobado al solicitante, para
ello debe cumplir con la siguiente condicion (X1 y X4) o (X2
o X3), en donde los requisitos X1 y X4 son imprescindibles

Figura 8. Script 1

Como se puede observar es el codigo del script sin nada


nuevo, pero si se fijan en la lnea 256 se escribe la sentencia
handles.orh1=net; la cual se la utiliza como un puntero para
tomar los valores y usarlos en otra funcion, y la sentencia de
la lnea 257 guidata(hObject, handles) sirve para mantener
actualizada la interfaz.
Figura 6. Valores de Entrada y de Salida

para los entes financieros para la solicitud de un prestamo,


por el contrario los requerimientos X2 y X3 no son tan
estrictos o indispensables para otorgar el prestamo.
Tomando en consideracion esta informacion se elaboro la
red neuronal con la ayuda de la plataforma Matlab que es una
herramienta de software matematico que ofrece un entorno de
desarrollo integrado con un lenguaje de programacion propio,
valiendonos de Matlab lo primero en realizar fue el script.

Una vez entrenada la red se procede a simularla con los


valores que pueden ser ingresados por el usuario en los campos
de texto vacos que corresponden a las entradas (requisitos
del prestamo). Una vez llenados los campos vacos se debe
presionar el boton [Fijar Valores] cuya funcion es el de mandar
a simular la red neuronal con las entradas ingresadas al
usuario, si se colocan valores mayores a uno los aproximara a
uno y si se ponen menores a uno los aproximara a cero, el
boton al ser presionado ejecuta el siguiente codigo:

A continuacion se desarrollo la interfaz con la ayuda del


ToolBoox de redes neuronales de Matlab quedando como
resultado la siguiente interfaz grafica que esta disenada con
la finalidad de ser muy intuitiva para los usuarios.[10]

Figura 9. Script 2

Figura 7. Interfaz Solicitud de Prestamos

Como se puede ver en la imagen en la parte superior


describe el tipo de funcion de activacion. El Boton [Entrenar
RED] de la interfaz es el que se encarga de entrenar la red
neuronal con los valores de entrada y salida, la funcion de
activacion y la funcion de aprendizaje, dicho boton ejecuta
el codigo del script hecho en Matlab que se presenta a
continuacion:

Esta funcion lo que realiza en primera instancia es hacer uso


de los datos obtenidos por la red en el entrenamiento, luego
se declaran cuatro variables en donde se van a obtener los
valores de las entradas ingresadas en los campos vacos de la
interfaz por parte del usuario, a continuacion se guardan esos
valores en un nuevo vector al cual se lo denomina entradas ,
posteriormente se envan los valores recibidos a simular con
el entrenamiento anterior , luego se declaran dos variables op
y op1 con valores de 1 y 0 respectivamente con la finalidad
de poder clasificar los creditos que seran aprobados y los que
no.

2) Aplicacion resuelta con Harlims: Procediendo con


los resultados de la experimentacion se proupuso realizar
el mismo proceso con la funcion de activacion Hardlims
la cual al igual que hardlim sirve para resolver problemas
linealmente separables pero con el distintivo o diferencia que
hardlims recibe valores negativos en las entradas de la red,
lo que nos abre un abanico de posibilidades de aplicaciones
o problemas a resolver, por tal razon se lo propuso para
resolver el proceso o problema de admision de aspirantes a
la Fuerza Aerea Ecuatoriana (FAE) que a diferencia de las
demas Fuerzas Armadas del Ecuador el ingreso a esta rama
del ejercito es sumamente selectiva, y por tal razon son muy
pocos los aspirantes admitidos, los cuales de acuerdo a sus
calificaciones optan por Oficiales o Aerotecnicos.

X3 equivalente a la entrevista realizada al aspirante es la


de mayor peso, se la tomo en consideracion de esa manera
porque debido al sistema nacional de becas, aqu cuando un
profesional de tercer o cuarto nivel postula a una beca del
estado lo que define si se aprueba la beca o no es la entrevista.
Tomando en consideracion esta informacion al igual que el
ejemplo anterior se elaboro la red neuronal en Matlab realizando su correspondiente script. As mismo se desarrollo la
interfaz con el ToolBoox de redes neuronales de Matlab
presentando la siguiente interfaz:[10]

La siguiente tabla indica las entradas (las aptitudes y actitudes del postulante) las cuales como resultado senalan si
el aspirante es admitido o no en la FAE. Las condiciones
que debe cumplir y que se emplea para la seleccion de los
postulantes esta denotada de la siguiente manera [(X4 o X2)
entonces X1] y X3

Figura 11. Ingreso FAE

La interfaz cumple o sigue la misma logica de la funcion


Hardlim, en su parte superior indica que tipo de funcion se
va a ejecutar, el boton [Entrenar RED] se encarga de entrenar
la red neuronal con los valores de entrada y salida, la funcion
de activacion y funcion de aprendizaje que por defecto es la
Learnp.

Figura 10. Valores de Entrada y de Salida

Al igual que el problema anterior se ha colocado campos


de texto vacos para que el usuario coloque el valor a las
entradas correspondiente al tipo de test evaluado, el boton
[Fijar Valores] simula la red con los valores anteriormente
ingresados, y de ser valores negativos se los aproximara a
-1 y de ser valores positivos se los aproximara 1 lo cual
determina si el aspirante fue o no fue admitido a la FAE, esta
respuesta se visualiza en el campo Resultado. Para probar
con otros valores para las entradas se ha implementado el
boton Reset para reiniciar la simulacion.

Las entradas denotadas con X1, X2, X3, X4 de la tabla


representan los diferentes test aplicados a los aspirantes a la
FAE cuya equivalencia se la indica a continuacion:

El codigo de los ejemplo se lo puede descargar por completo


desde el link ubicado al pie de pagina, alojado en el repositorio
Github. 1

Entrada
Entrada
Entrada
Entrada

X1:
X2:
X3:
X4:

Pruebas Fsicas
Pruebas Psicotecnicas
Entrevista
Pruebas Academicas

Dependiendo del resultado de las entradas, la red neuronal


clasifica si el aspirante fue o no admitido. Como se
menciono en el parrafo anterior las condiciones que debe
evaluar para la clasificacion es la siguiente ( X4 o X2 )
entonces X1] y X3, en donde el valor obtenido en el test

IV. CONCLUSIONES
Luego de haber finalizado las aplicaciones empleando las
funciones de activacion hardlim y hardlims hemos llegado a
las siguientes conclusiones:

Las funciones de activacion se utilizan para limitar el


rango de valores de la respuesta de la neurona. En funcion

1 Link
de
descarga:
FuncionesHardlimHardlims.git

https://github.com/priscila1991/

de la entrada total se encarga de calcular el nivel o estado


de activacion.
Los rangos de valores se limitan a [0,1] o [-1,1], sin
embargo otros rangos son posibles de acuerdo a la
aplicacion o problema a resolver.
Las funciones de activacion estudiadas son lineales y
comunmente empleadas en redes de baja complejidad.
La puntuacion para la aprobacion de un credito representa
una tarea de gran riesgo para las instituciones financieras,
la cual puede ser mas fiable con el uso de redes neuronales la cual empleara metodos tecnicos y no se basara
en decisiones de naturaleza subjetiva.
La inteligencia artificial es una alternativa adicional para
enfrentar este tipo de problemas que se han planteado,
que de otra forma seran mas complejo solucionarlos.
R EFERENCIAS

[1] R. Pino Diez, A. Gomez Gomez, N. de Abajo Martnez, Introduccion a la


Inteligencia Artificial: Sistemas Expertos, Redes Neuronales Artificiales
y Computacion Evolutiva, Madrid 2001, pp. 1,29-33, 2014/11/01,[En
lnea],
Disponible
en:
http://books.google.com.ec/books?id=
RKqLMCw3IUkC&pg=PA1&dq=inteligencia+artificial+definicion&hl=
es&sa=X&ei=pdtXVIy0FYalNo7Yg9AL&ved=0CBoQ6AEwAA#v=
onepage&q=inteligencia%20artificial%20definicion&f=false
[2] A. Garca Serrano, Inteligencia Artificial: Fundamentos, Practica y
Aplicaciones, primera edicion, Espan 2012, pp. 2-8, 2014/11/01,
[En lnea], Disponible en: http://books.google.com.ec/books?id=
WDuqquRP70UC&printsec=frontcover&dq=inteligencia+artificial&hl=
es&sa=X&ei=uDVZVI VB8OVNtipgOAJ&ved=0CBoQ6AEwAA#v=
onepage&q=inteligencia%20artificial&f=false
[3] C. Perez Lopez, D. Santn Gonzalez, Minera De Datos: Tecnicas
y Herramientas, primera edicion, Madrid 2008, pp. 669-700,
2014/11/01,[En lnea], Disponible en: http://books.google.com.
ec/books?id=wz-D 8uPFCEC&printsec=frontcover&dq=mineria+
de+datos&hl=es&sa=X&ei=TepXVPrUK8mogwTrxYP4Cg&ved=
0CCUQ6AEwAA#v=onepage&q=mineria%20de%20datos&f=false
[4] R. Florez Lopez, J. Fernandez Fernandez, Las Redes Neuronales
Artificiales: Fundamentos Teoricos y Aplicaciones Practicas, primera
edicion, Espana 2008, pp. 11-28, 2014/11/01,[En lnea], Disponible en:
http://books.google.com.ec/books?id=X0uLwi1Ap4QC&printsec=
frontcover&dq=redes+neuronales+artificiales&hl=es&sa=X&ei=
nDtZVPiINIilgwT2 oCICQ&ved=0CBoQ6AEwAA#v=onepage&
q=redes%20neuronales%20artificiales&f=false
[5] Redes Neuronales, Introduccion y Conceptos Basicos, 2014/11/01,[En
lnea], Disponible en: http://members.tripod.com/jesus alfonso lopez/
RnaIntro.html#introduccion
[6] Universidad Tecnologica Nacional, Redes Neuronales Conceptos
Basicos y Aplicaciones, 2014/11/01,[En lnea], Disponible en:
http://www.frro.utn.edu.ar/repositorio/catedras/quimica/5 anio/
orientadora1/monograias/matich-redesneuronales.pdf
[7] Villasana Minaya, Introduccin a Las Redes Neuronales (Neurales)CO6612, 2014/11/01, [En lnea] Disponible en: http://prof.usb.ve/mvillasa/
redes/Introduccion-vl.pdf
[8] Istituto Politecnico Nacional, Introduccion a Las Redes Neuronales
Artificiales, 2014/11/01, [En lnea] Disponible en: http://hugo-inc.com/
RNA/Unidad%201/1.6.html
[9] A. Pastor Cuevas, Reconocimiento de Objetos Mediante Redes Neuronales, Madrid 2012, pp. 38-39, 2014/11/01, [En lnea], Disponible en:
http://books.google.com.ec/books?id=dQiXAwAAQBAJ&pg=PA38&
dq=funciones+de+aprendizaje+redes+neuronales&hl=es&sa=X&ei=
ZgVYVMmnBajIsASB8IDQCg&ved=0CCAQ6AEwAQ#v=onepage&
q=funciones%20de%20aprendizaje%20redes%20neuronales&f=false
[10] X. Flores, Entrenamiento de Redes Neuronales Usando el Toolbox
NEURAL NETWORK TRAINING De Matlab, 2014/11/01,
[En lnea], Disponible en: http://noticias.espe.edu.ec/xavierflores/
entrenamiento-de-redes-neuronales-usando-el-toolbox-neural-network-training-de-matlab/

BIOGRAFIA

Richard Daniel Chimbo Torres ,estudiante de la


Carrera de Ingeniera en Sistemas de la Universidad Nacional de Loja, Mantenimiento y Soporte de
Hardware, Desarrollador WEB y Administrador de
Bases de Datos.
Provincia de Loja, Ciudad Loja - Ecuador, 2014.

Priscila Beatriz Morocho Morocho ,estudiante de


la Carrera de Ingeniera en Sistemas de la Universidad Nacional de Loja, Conocedora de Software Libre, Mantenimiento de Hardware, inclinacion por las
Telecomunicaciones y Seguridad de la Informacion.
Provincia de Loja, Ciudad Loja - Ecuador, 2014.

Você também pode gostar