Está en la página 1de 9

SistemaMultiagenteparacombinartcnicasdeAprendizaje

Automatizadosobreplataformalibre
AbdelRodrguez,IsisBonet
abdelr@uclv.edu.cu,isisb@uclv.edu.cu
UniversidadCentralMarthaAbreudelasVillas
Cuba

Resumen
Enlaactualidadlossistemasmultiagentehanadquiridoungranaugeendiversas
reas.Losproblemasabordadoscontcnicasdeaprendizajeautomatizadono
estnexentosdeesteauge,sehandesarrolladoinfinidaddesistemasmultiagente
paracombinarsistemasbasadosenaprendizajeautomatizado.Porotraparteha
habidounagrantendencia,porpartedelosinvestigadores,adesarrollaryprobar
sus sistemas en herramientas desarrolladas a cdigo abierto. En el caso del
aprendizajeautomatizado,laUniversidaddeWeikato,NuevaZelanda,produjoel
software libre Weka (Weikato Environment for Knowledge Analysis), donde se
implementanlasdiversastcnicasdeclasificacin,asociacin,agrupamiento,y
prediccin existentes en la actualidad. Pero esta herramienta no cuenta con
facilidadesparaimplementarsistemasmultiagenteparacombinarestastcnicas.
Esporelloquesehadecidido aadir unpaqueteparael desarrollo de estos
sistemas para poder lograr mayor certeza en las soluciones. Al publicar este
paquetebuscamoselobjetivodefacilitaralosinvestigadoresunaplataformaenla
cualpuedanponerapruebalosdiseosideados,oinclusodetcnicasnovedosas
basadas en este esquema, reutilizando lo que se ha desarrollado e
implementando nicamente loscambios quedeseehacer sobrelosesquemas
estndares.

Introduccin
Desdeelsurgimientodelacienciadelacomputacin,sehanvistolosprogramas
comoentidadesindependientespararesolverproblemas.Conelpasodeltiempo,
sehadeseadoquelasmquinasresuelvanproblemascadavezmscomplejos,
hastaelpuntodedesearquestaspuedanactuarcomosereshumanos.Esta
formadeveralosprogramascomoserespensantes,encerradosensupropio
mundo,esconocidacomosistemasexpertos.Estossonlosprogramasquetratan
de encapsular el conocimiento de humanos sobre tareas extremadamente
complicadas que necesitan de conocimiento, experiencia y cierto tipo de
razonamiento.
Deestamanerasepuedenverlosproblemasdemodocentralizadoysecuencial,
peroestapticatienealgunosproblemas.Enelplanoterico,unsernoescapaz
deadquirirciertashabilidadessinlaayudadeotrosseresasualrededor,sinverse
inmersoenunmediosocial.Enelplanoprctico,losproblemassoncadavezms
complejos, y deben ser divididos en pequeos subproblemas a resolver por
entidadesindependientescapacesdeinteractuarentreellas.Enmuchoscasos,el
conocimientoparadesarrollarunprocesonodependedeunsoloexperto,sino
queestdistribuidoenungrupoenelqueinteractanvariosdeellos.Enestos
casoselconocimientogeneraldelgruponopuedeservistocomolasumadel
conocimiento individual de cada experto, de hecho, en ocasiones, dicho
conocimientopuedeserhasta contradictorio.Esteconocimientotiene queser
integrado en el sistema a pesar de que puedan surgir discusiones,
modificaciones yhasta negociaciones para resolver los conflictos, pues es as
comosuelesucederenlavidarealentrediferentesexpertos.
Entonces,envezdeestarenpresenciadeunamquinaunaentidadconuna
localizacinespecficadefinidaporsuestructurayarquitecturanosencontramos
frenteaungrupodeentidadesinteractivas,cadaentidaddefinidademaneralocal,
sinlapercepcinglobaldelasaccionesdelsistema.
Elproblemahaquedadoenfocadodemaneraqueunaactividadcualquiera,ya
seasimpleocompleja,puedaserresueltacomoelresultadodelainteraccinde
entidadesrelativamenteindependientesyautnomas,quellamaremos agentes,
queoperanencomunidadesdeacuerdoaciertosmodosdecooperacin,conflicto
y competencia con el objetivo de sobrevivir y lograr sus metas. De estas
interacciones surgen estructuras organizadas que restringen y modifican el
comportamientodelosagentes.
Lacaractersticadeenfatizarlasinteracciones,ymsespecficamente,analizar
lossistemasdeinteraccionesqueexistenentrelosagentesesloquedistinguea
los sistemas multiagente (SMA) de los enfoques sistmicos ms clsicos.
Precisamentelasaccionesylasinteraccionessonconsideradasloselementos
motoresenlaconstruccindeunsistematomadocomountodo.
Uno de los problemas que se tratan con sistemas multiagente son los de
clasificacin.Aunquelomsusadoparaestossonsistemasmulticlasificadores.
Como tendencia general, los sistemas de clasificacin son abordados con las
tcnicasdeinteligenciaartificial.Generalmentelosproblemasquedanresueltos
conunaeficienciaaceptable.Enmuchasocasiones,laprecisindeclasificacin
alcanzadaporcadaunadelastcnicasutilizadasnosonsuficientementebuenos,
pero en conjunto son capaces de, tomando en cada oportunidad a los
clasificadoresadecuados,alcanzarunaefectividadirreprochable.
Para abordar estos problemas de clasificacin a partir de varios clasificadores
debemostenerenprimerlugarunequipodeclasificadoresD={D1,D2,,DL},un
conjuntodeclases ={2,1,,c}.Cadaclasificadorobtendrcomoentrada
unainstanciadefinidaporunconjuntoderasgosx=[x1,x2,,xn]T alosquele
harcorresponderunaclasei;odemaneraalternativa,unvector[1,2,,
c]Tquerepresentalosgradosdepertenenciadelainstanciaxacadaunadelas
clasesi.Encasodeobtenerunvectorconlosgradosdepertenenciadelala
instanciaacadaclase,laclasificacindexquedarepresentadapor i,sisetiene
queijparacualquierj.
Elltimoaspectoatratarescmoseharlacombinacindelassalidasdelos
clasificadoresparaobtenerlosgradosdepertenenciafinalesdelainstancia a
clasificar. Para esto existen en general dos tcnicas: combinacin o fusin de
clasificadores.Enelprimercaso,sedebeescogerapriori,quclasificadoresel
indicadoausarparaunainstanciadeterminada,yelprocesodeclasificacinse
realizasolamenteconl.Enelsegundocaso,seusaunafuncindeagregacin
paraunirlassalidasdadasporlosLclasificadores.Elprincipalproblemadela
primeratcnicaradicaenquelaseleccindelclasificadornoestrivial.Mientras
que en la segunda opcin tiene las dificultades propias de una funcin de
agregacin. En la prctica no se usan estas tcnicas de manera pura. Se
selecciona, para la instancia a clasificar, los clasificadores implicados en su
clasificacin,ysemezclansusrespuestasmedianteunafuncindeagregacin.
Laideadelusodesistemasmultiagenteparaclasificacinestmuyrelacionada
conlaideadelossistemasmulticlasificadores,poresonosbasamosenellospara
eldesarrollodeestetrabajo.Enelcualsepresentaeldesarrollodeunpaquete
quefacilitaelusodesistemasmultiagenteparaproblemasdeclasificacin.Este
paquetedesarrollaunaextensinaunaplataformalibre.

Mtodos
Weka
La seleccin de esta plataforma viene dada por las facilidades que brinda la
misma.Elsoftwarelibreesunaformacompartiresfuerzosconelfindenorepetir
elmismotrabajounayotravez.SehaescogidoelsoftwareWeka,desarrollado
con la intensin de proveer a los investigadores del campo del aprendizaje
automatizado con un ambiente de prueba para experimentos rpidos, sin
necesidaddeimplementarlastcnicasexistenteshastaelmomento.Demodo
que si se necesita usar estas tcnicas para probar nuevas teoras, o si
simplementesenecesitatenerunpatrndecomparacinparasabercunbuena
es una tcnica novedosa, solamente debemos usar las desarrolladas en este
ambiente,loquepuedeahorrarmuchotiempoyesfuerzo.Parafortaleceresta
plataforma, al lograr una contribucin a este campo, podemos incluirlo en las
nuevasversionesqueseproducendeestesoftware.
Paradesarrollarnuestrosistemamultiagentenecesitaremosdefinirunconjuntode
agentesapartirdeloscualesobtendremoslaclasificacinfinal.Estosagentes
basarnsufuncionamientoenlastcnicasdeclasificacinconocidas.Laayuda
quepuedebrindarelsoftwareWekaenestasituacinesinnegable.
Este sistema implementa las principales tcnicas de aprendizaje automatizado
paralaclasificacin,yelagrupamientodeinstancias,ascomolaasociaciny
prediccinnumricaderasgos.Elcdigodelmismoestdisponibleparaquelos
investigadores en este campo puedan hacer cambios a los algoritmos
desarrolladosenl,odesarrollartcnicastotalmentenuevasusandolastcnicas
yaimplementadas.
EstdesarrolladoenellenguajeJava,ysecomponedevariospaquetesparasu
funcionamiento. Los principales paquetes dedicados a las tcnicas ya
mencionadas son associations, attributeSelection, classifiers, clusterers y
estimators,deloscualessehandesarrolladootrosmsespecficosparacadauna
de las tcnicas de estos campos. Adems posee un paquete nombrado core
dondesedefinenestructurasnecesariasparasufuncionamiento,comoeselcaso
delaclase Instance usadaparadefinirlasinstanciasdeunproblemaespecifico
cualquiera. El paquete filters ofrece las clases especializadas en el filtrado de
datos. Y el paquete gui, las clases encargadas de la visualizacin de la
informacincontenidaenelsistema.
Deestaforma,paradesarrollarunnuevoclasificador,debemosextenderlaclase
classifier ubicada en el paquete classifiers. Los mtodos que deben ser
recodificados son buildClassifier para definir el proceso de entrenamiento, y
distributionForInstancequedebecomputarelgradodepertenenciadelainstancia
dadaacadaunadelasclases.

Tcnicasdefusinyseleccindeclasificadores
Los temas restantes a tratar son las tcnicas de fusin y seleccin de
clasificadores. Para esto existen varios modelos. Los ms sencillos son los
sistemasdevotacin:pluralidad,mayora,unanimidad,etc.Losmsavanzados
sonlosbasadosenperfilesdedecisin.
Losmtodosbasadosenperfilesdedecisinsepuedendividiralavezenlos
mtodos indiferentes a la clase: fuerza bruta, DempsterShafer, plantillas de
decisin; y los que toman en consideracin las clases. Esta ltima categora
abarca los mtodos lineales; los no lineales: producto, media geomtrica,
integracinborrosa,redesneuronales;yotrasestadsticascomosonelmnimo,el
mximo,la mediana, OWA.Delosmtodoslinealespodemosdestacarlosde
pesofijo,yaquellosdondeelpesoesdependientedelosdatosdelasinstanciasa
clasificar.Estaltimadenominacineslaquedalugaralastcnicasdeseleccin
declasificadores.Estaclasificacinpuedeversedeformamsclaraenlafigura
1.
ComoresultadodeestetrabajoselogrproveeralWekadeunpaquetedestinado
al desarrollo de sistemas multiagente para la clasificacin. Para probar este
resultado se adaptaron los mtodos de integracin borrosa y peso fijo a este
sistema.
Figura1.Diferentesmtodosdeclasificacin

Integracinborrosa
Parautilizarintegracinborrosa,debemosobtenerunamedidaborrosaparacada
unodelosagentes,representadosporlosclasificadoresdelconjuntoD,respecto
asucertezaenlaclasificacindelasclasesi,deformaqueencadamomento
podamosfundirlasrespuestasdelosmismossegnlarelevanciadecadaunode
ellos.Enestasituacinutilizaremosdostiposdeintegracinborrosa:Sugenoy
Choquet.Acontinuacinsepresentanestosmtodos.
1. Fijar las L medidas difusas g1,, gL tomando gi como la certeza del
clasificadorDiparalaclasek.
2. Calcularsegn:
L (1)
1= 1g i , 0, 1
i=1

3. Paralainstanciaaclasificarx,ordenarlassalidasdelosclasificadorespara
obtener [d1,k(x),,dL,k(x)]T de forma que d1,k(x) sea el mximo grado de
pertenenciaydL,k(x)elmnimo.
4. Ordenar las medidas borrosas correspondientemente: g11,,g1L. Hacer
g(1)=g11.
5. Parat=2hastaL,calcular:
g t =g 1t g t1 g 1t g t1 (2)

6. Calcularlosgradosdepertenenciaalaclasekapartirde:
L (3)
{
x =max min { d 1t , k x , g t }
k
t=1
}
LadiferenciaenlaintegracindeltipoChoquetselimitaalafrmuladecmputo
delosgradosdepertenenciaalaclaseusadaenelpaso6.Laexpresindebeser
cambiadapor:
L (4)
k x =d 11 , k x d 1j1,k x d 1j , k x g i1
j=2

Pesofijo
Enelmodelodepesofijo,seasignaigualmenteunamedidadeconfianzaacada
unodelosagentesinvolucrados,yposteriormente,enlaclasificacin,serealiza
unasumapesadadelasrespuestasobtenidasparadarlarespuestafinal.Se
utilizaprendizajereforzadoparalaasignacindelospesos.

Aprendizajereforzado
El aprendizaje reforzado consiste en penalizar las malas respuestas, y
recompensarlasacertadas,demaneraquelosagentesaprendana,apartirde
suserroresyaciertos,corregirsufuncionamiento.Enestecasoseprobcon
variasformasderepartirlasrecompensas.Separtidelaformamsprimitiva,
recompensar las respuestas correctas y penalizar las incorrectas de forma
indiferente.Elprximopasoconsistienrepartirunamismarecompensaentrelos
que respondan de manera adecuada, logrando que una respuesta correcta
cuandopredominenloserroresfuesemejorrecompensadaqueunacuandola
mayoracoincidiera.Perolaquemejorresultadosofertfuedistribuirunanica
recompensa entre los agentes que lograban aciertos, pero slo en los casos
dondefuesencapacesdeaventajaralresto.Conestoselogrnorecompensarel
dar respuestas obvias, o sea responder correctamente cuando todos logran
hacerlo.

Resultados
En este trabajo se desarroll un paquete basado en el software Weka para
desarrollar sistemas multiagentes para la clasificacin. Esto puede ofrecer un
marcoparaaplicarlastcnicasdecomunicacineinteligenciacolectiva,tpicode
estos sistemas, al problema de la mezcla y seleccin de clasificadores para
mejorarlosporcentajesdeclasificacionescorrectasenlosproblemasactuales.El
usodeWekacomounaherramienta,brindlaoportunidaddepodercentrarnos
solamenteeneldesarrollodelsistemamultiagente.
Comomuestralafigura2,enestepaqueteproveeunaclaseparalaconstruccin
desistemasmultiagentequeesunaextensindelclasificadoraportadoporWeka.
Los mtodos principales son buildClassifier y distributionForInstance. En el
primero de estos mtodos debe quedar el clasificador listo para su
funcionamiento. Mientras que el segundo define, a partir de una instancia, la
distribucin de probabilidades de la pertenencia a cada una de las clases. El
mtodoclassifyInstanceclasificaunainstancia,perosufuncionamientoselimitaa
buscar, a partir de distributionForInstance, a cul de las clases tiene mayor
pertenencia.
Deestaformadefinirunnuevosistemamultiagenteparalaclasificacinsereduce
aredefinirlosmtodos buildClassifier y classifyInstance.Yasescomosehan
creadodosnuevossistemas:eldeintegracinborrosa,yeldepesofijo.
Figura2.Diagramadelasclasesprincipales.

Conclusiones
EnestetrabajoseimplementunpaqueteenelsoftwarelibreWeka,quefacilitael
desarrollo de sistemas multiagentes para resolver problemas de clasificacin,
obteniendounsistemacompletoparaelensayodenuevastcnicasparalafusin
yseleccindeclasificadores.Deestaformabrindamoslaoportunidaddeproveer
alosinvestigadoresdeestecampodeunaplataformadondedemanerasencillay
rpidapuedanponerapruebalastcnicasdeseadas,confacilidadesdeextensin
aotrostiposdesistemasmultiagentes.Laherramientasevalidconbasesde
datosinternacionalesobteniendomuybuenosresultados.

También podría gustarte