3 Theoretical background
3.3 Behavioral addictions
Es el proceso mediante el cual se genera conocimiento sin tener un marco referencial (conjunto de entrenamiento) consiste en descubrir las semejanzas en los datos de entrada y se generen reglas de corte como resultado del proceso. Estas reglas deben de ser aplicables a nuevos datos. Se debe procurar que el algoritmo cuente con un modelo que asegure su correctitud ya que el material con el que cuenta es el de las entradas y ningún conjunto de entrada que asegure tendencias.
Proyecto de Investigación II Inteligencia Artificial Pag 31
2.5.1 Teoría de la Resonancia Adaptativa
Uno de los comportamientos extremos que tienen los algoritmos supervisados es que los datos nuevos pueden hacer que el conocimiento adquirido se vea desechado un caso claro es el del perceptrón multicapa que utiliza la función de minimización, esta puede eliminar el conocimiento adquirido. Son dos problemas de este tipo que requieren atención:
Plasticidad: Por una parte se debe permitir aprender nuevos patrones. Estabilidad: Se debe de permitir retener los patrones aprendidos.
En las redes ART existen dos tipos de pesos, los llamados W, que son pesos feedforward (alimentación hacia adelante) entre la capa de entrada y la capa de salida, y los llamados T, que son pesos feedback (alimentación hacia atrás ) entre la capa de salida y la capa de entrada.
Los pesos feedforward (W) son iguales que los pesos feedback (T), solo que estos están normalizados:
Donde es un parámetro que toma generalmente el valor 0,5. El funcionamiento de un modelo ART se divide en cuatro fases: Fase de Inicialización
Se inicializan los parámetros de la RNA y se establecen las señales de control.
Se inicializan los pesos de la siguiente manera:
para conexiones hacia adelante, siendo el número de entradas a la RNA.
para conexiones hacia atrás
Mediante las señales de control (ganancia y reinicio) se controla el flujo de datos a través de la RNA y se pasa a las distintas fases.
Fase de Reconocimiento
En la fase de reconocimiento se efectúa una operación con los datos de entrada y los pesos W asociados a cada neurona de la capa de salida, el resultado de esta operación debe indicar qué clase tiene mayor prioridad para ver si los datos de entrada entran en resonancia con ella. Por ejemplo, se podría calcular la distancia euclídea entre los datos de entrada y los pesos
Proyecto de Investigación II Inteligencia Artificial Pag 32
W, la clase ganadora sería aquella cuyo W estuviese más cerca de los datos de entrada y por lo tanto sería la primera a la que se le intentaría asociar dicho patrón.La fórmula propuesta por sus creadores es:
para cada neurona de la capa de salida
donde corresponde a cada una de las neuronas de la capa de entrada. Los índices i serán para las neuronas de la capa de entrada y los subíndices j para las neuronas de la capa de salida.
La selección de la neurona ganadora será como la neurona que obtenga el mayor valor, esto expresado en fómula es:
Donde J corresponde al índice de la neurona ganadora en F2
el vector generado en dicha capa serán entonces un vector binario con un único valor en 1 el cual indica la neurona ganadora y dada por :
Fase de Comparación
El objetivo es obtener una medida de similitud entre el vector de entrada y el vector prototipo que surge de la capa de salida.
El vector de entrada y el vector producido por los feedback (T) de la neurona ganadora en la capa de salida son comparados en la capa de entrada generando el vector X.
El cálculo del vector X, se realiza mediante: Sea I el vector de entrada.
O sea, se aplica un AND entre la entrada y el vector de pesos hacia atrás correspondientes a la neurona ganadora de la capa F2
Si se cumple que la norma de "X" dividida entre la norma de la entrada es mayor o igual que p, entonces se puede concluir que dicha entrada forma parte de la categoría seleccionada y se debe proceder a ajustar los pesos tanto hacia adelante como hacia atrás:
Proyecto de Investigación II Inteligencia Artificial Pag 33
De lo contrario se envía una señal reinicio, para que inhiba la neurona ganadora y proceda de nuevo la selección de una ganadora, excluyendo la neurona inhibida.Fase de Búsqueda
De no representar la neurona ganadora la categoría del vector de entrada, esta neurona se desactiva y se empieza la búsqueda por otras categorías que ya posea la red. Se repiten entonces los pasos anteriores hasta que se encuentre una neurona ganadora que represente la categoría del vector de entrada.
Si se repitiera el proceso hasta que no quedara ninguna neurona se llegaría a una situación de saturación de la red que podría solucionarse ampliando el número de neuronas de la RNA de forma dinámica.
Proyecto de Investigación II Inteligencia Artificial Pag 34
2.5.2 Redes Bayesianas
Una red bayesiana, red de Bayes, red de creencia, modelo bayesiano (de Bayes) o modelo probabilístico en un grafo acíclico dirigido es un modelo grafo probabilístico (un tipo de modelo estático) que representa un conjunto de variables aleatorias y sus dependencias condicionales a través de un grafo acíclico dirigido (DAG por sus siglas en inglés). Por ejemplo, una red bayesiana puede representar las relaciones probabilísticas entre enfermedades y síntomas. Dados los síntomas, la red puede ser usada para computar las probabilidad de la presencia de varias enfermedades.
Formalmente, las redes bayesianas son grafos dirigidos acíclicos cuyos nodos representan variables aleatorias en el sentido de Bayes: las mismas pueden ser cantidades observables, variables latentes, parámetros desconocidos o hipótesis. Las aristas representan dependencias condicionales; los nodos que no se encuentran conectados representan variables las cuales son condicionalmente independientes de las otras. Cada nodo tiene asociado una función de probabilidad que toma como entrada un conjunto particular de valores de las variables padres del nodo y devuelve la probabilidad de la variable representada por el nodo. Por ejemplo, si por padres son variables booleanas entonces la función de probabilidad puede ser representada por una tabla de entradas, una entrada para cada una de las posibles combinaciones de los padres siendo verdadero o falso. Ideas similares pueden ser aplicadas a grafos no dirigidos, y posiblemente cíclicos; como son las llamadas redes de Markov.
Existen algoritmos eficientes que llevan a cabo la inferencia y el aprendizaje en redes bayesianas. Las redes bayesianas que modelan secuencias de variables (ej señales del habla o secuencias de proteínas) son llamadas redes bayesianas dinámicas. Las generalizaciones de las redes bayesianas que pueden representar y resolver problemas de decisión bajo incertidumbre son llamados diagramas de influencia.
Proyecto de Investigación II Inteligencia Artificial Pag 36
=== Run information ===
Scheme:weka.classifiers.bayes.BayesNet -D -Q weka.classifiers.bayes.net.search.local.K2 -- -P
1 -S BAYES -E weka.classifiers.bayes.net.estimate.SimpleEstimator -- -A 0.5
Relation: iris
Instances: 150
Attributes: 5
sepallength
sepalwidth
petallength
petalwidth
class
Test mode:split 75.0% train, remainder test
=== Classifier model (full training set) ===
Bayes Network Classifier
not using ADTree
#attributes=5 #classindex=4
Network structure (nodes followed by parents)
sepallength(3): class
sepalwidth(3): class
petallength(3): class
petalwidth(3): class
class(3):
LogScore Bayes: -481.00632967833803
LogScore BDeu: -525.3834868062277
LogScore MDL: -536.5317339418378
LogScore ENTROPY: -471.39347511858665
LogScore AIC: -497.39347511858665
Time taken to build model: 0.02 seconds
=== Evaluation on test split ===
=== Summary ===
Correctly Classified Instances 33 89.1892 %
Incorrectly Classified Instances 4 10.8108 %
Kappa statistic 0.8374
Mean absolute error 0.0654
Root mean squared error 0.2173
Relative absolute error 14.7117 %
Proyecto de Investigación II Inteligencia Artificial Pag 37
Root relative squared error 46.0542 %
Total Number of Instances 37
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class
1 0 1 1 1 1 Iris-setosa
0.846 0.083 0.846 0.846 0.846 0.984 Iris-versicolor
0.846 0.083 0.846 0.846 0.846 0.984 Iris-virginica
Weighted Avg. 0.892 0.059 0.892 0.892 0.892 0.989
=== Confusion Matrix ===
a b c <-- classified as
11 0 0 | a = Iris-setosa
0 11 2 | b = Iris-versicolor
0 2 11 | c = Iris-virginica
Proyecto de Investigación II Inteligencia Artificial Pag 38
2.5.3 Cadenas de Markov
Una cadena de Markov es una serie de eventos, en la cual la probabilidad de que ocurra un evento depende del evento inmediato anterior. En efecto, las cadenas de este tipo tienen memoria, "Recuerdan" el último evento y esto condiciona las posibilidades de los eventos futuros. Esta dependencia del evento anterior distingue a las cadenas de Markov de las series de eventos independientes, como tirar una moneda al aire o un dado. En los negocios, las cadenas de Markov se han utilizado para analizar los patrones de compra,los deudores morosos, para planear las necesidades de personal y para analizar el reemplazo de equipo. El análisis de Markov, llamado así en honor de un matemático ruso que desarrollo el método en 1907, permite encontrar la probabilidad de que un sistema se encuentre en un estado en particular en un momento dado. Algo más importante aún, es que permite encontrar el promedio a la larga o las probabilidades de estado estable para cada estado. Con esta información se puede predecir el comportamiento del sistema a través del tiempo. La tarea más difícil es reconocer cuándo puede aplicarse. La caracteristica más importante que hay que buscar en la memoria de un evento a otro.
Considere el problema siguiente: la compañía K, el fabricante de un cereal para el desayuno, tiene un 25% del mercado actualmente. Datos del año anterior indican que el 88% de los clientes de K permanecían fieles ese año, pero un 12% cambiaron a la competencia. Además, el 85% de los clientes de la competencia le permanecían fieles a ella, pero 15% de los clientes de la competencia cambiaron a K. Asumiendo que estas tendencias continúen determine ¿Cuál es la parte que K aprovecha del mercado?:
En 2 años; y
En el largo plazo.
Esta situación es un ejemplo de un problema de cambio de marcas que sucede muy a menudo que se presenta en la venta de bienes de consumo.
Para resolver este problema hacemos uso de cadenas de Markov o procesos de Markov (qué es un tipo especial de proceso estocástico). El procedimiento se da enseguida.
Procedimiento de solución
Observe que, cada año, un cliente puede estar comprando cereal de K o de la competencia. Podemos construir un diagrama como el mostrado abajo donde los dos círculos representan a los dos estados en que un cliente puede estar y los arcos representan la probabilidad de que un cliente haga una cambio cada año entre los estados. Note que los arcos curvos indican una "transición" de un estado al mismo estado. Este diagrama es conocido como el diagrama de
Proyecto de Investigación II Inteligencia Artificial Pag 39
estado de transición (notar que todos los arcos en ese diagrama son arcos dirigidos).
Dado ese diagrama nosotros podemos construir la matriz de la transición (normalmente denotada por el símbolo P) la qué nos dice la probabilidad de hacer una transición de un estado a otro estado.
Sea:
Estado 1 = cliente que compra cereal de K y
Estado 2 = cliente que compra cereal de la competencia
Tenemos así la matriz de transición P para este problema, dada por Para estado 1 2
Del estado 1 | 0.88 0.12 | 2 | 0.15 0.85 |
Note aquí que la suma de los elementos en cada fila de la matriz de la transición es uno.
Por datos de este año sabemos que actualmente K tiene un 25% del mercado. Tenemos que la fila de la matriz que representa el estado inicial del sistema dado por:
Estado 1 2
[0.25, 0.75]
Normalmente denotamos esta fila de la matriz por s1 indicando el estado del sistema en el primer periodo (años en este ejemplo en particular). Ahora la teoría de Markov nos dice que, en periodo (año) t, el estado del sistema está dado por el st de la fila de la matriz, donde:
st = st-1(P) =st-2(P)(P) = ... = s1(P)t-1
Tenemos que tener cuidado aquí al hacer la multiplicación de la matriz ya que el orden de cálculo es importante (i.e. st-1(P) no es igual a (P)st-1 en general). Para encontrar st nosotros podríamos intentar hallar P directamente para la potencia t-1 pero, en la práctica, es mucho más fácil de calcular el estado del sistema en cada sucesivo año 1,2,3 ,..., t.
Proyecto de Investigación II Inteligencia Artificial Pag 40
Nosotros ya sabemos el estado del sistema en el año 1 (s1) tal que el estado del sistema en el año dos (s2) está dado por:s2 = s1P
= [0.25,0.75] |0.88 0.12 | ...|0.15 0.85 |
= [(0.25)(0.88) + (0.75)(0.15), (0.25)(0.12) + (0.75)(0.85)] = [0.3325, 0.6675]
Note que este resultado tiene sentido intuitivo, e.g. del 25% comprando actualmente al cereal de K, 88% continúan haciendolo, aunque del 75% comprando el cereal del competidor 15% cambia a comprar cereal de K - dando un (fracción) total de (0.25)(0.88) + (0.75)(0.15) = 0.3325 comprando cereal de K.
De lo anterior, en el año dos 33.25% de las personas están en estado 1 - esto es, está comprando cereal de K. Note aquí que, como un chequeo numérico, los elementos de st deben sumar siempre uno.
En el año tres el estado del sistema se da por: s3 = s2P
= [0.3325, 0.6675] |0.88 0.12 | ... |0.15 0.85 | = [0.392725, 0.607275]
Por lo tanto en el año tres 39.2725% de las personas están comprando al cereal de K.
Recalcar que está pendiente la cuestión hecha sobre la porción que K comparte del mercado en el largo plazo. Esto implica que necesitamos calcular st cuando t se hace muy grande (se acerca al infinito).
La idea de la largo plazo es basada en la suposición de que, en el futuro, el sistema alcance un "equilibrio" (a menudo llamado el "estado sustentable") en el sentido de que el st = st-1. Ésto no quiere decir que las transiciones entre estados no tengan lugar, suceden, pero ellos tienden "al equilibrio global" tal que el número en cada estado permanece el mismo.
Hay dos enfoques básicos para calcular el estado sustentable:
Computational: - encontrar el estado sustentable calculando st para t=1,2,3,... y se detiene cuando st-1 y st son aproximadamente el mismo. Esto es obviamente muy fácil para una computadora y este es el enfoque usado por un paquete computacional.
Algebraico: - para evitar cálculos aritméticos largos necesarios para calcular st para t=1,2,3,... tenemos un atajo algebraico que puede usarse. Recalcar que en el estado sustentable st = st-1 (= [x1,x2] para el ejemplo considerado anteriormente). Entonces como st = st-1P tenemos eso
[x1,x2] = [x1,x2] | 0.88 0.12 | ...| 0.15 0.85 |
(y también notar que x1 + x2 = 1). De esto tenemos tres ecuaciones que podemos resolver.
Note aquí que hemos usado la palabra suposición anteriormente. Esto es porque no todos los sistemas alcanzan un equilibrio, esto es, no cualquier sistema tiene matriz de transición
Proyecto de Investigación II Inteligencia Artificial Pag 41
|1 0 |Nunca alcanza un estado sustentable.
Adoptando el enfoque algebraico anteriormente para el ejemplo del cereal K tenemos las tres ecuaciones siguientes:
x1 = 0.88x1 + 0.15x2 x2 = 0.12x1 + 0.85x2 x1 + x2 = 1 o 0.12x1 - 0.15x2 = 0 0.12x1 - 0.15x2 = 0 x1 + x2 = 1
Note que la ecuación x1 + x2 = 1 es esencial. Sin élla no podríamos obtener una única solución para x1 y x2. Resolviendo conseguimos x1 = 0.5556 y x2 = 0.4444
Por lo tanto, en la largo plazo, K comercializa una porción del mercado del 55.56%.
Un chequeo numérico útil (particularmente para problemas más grandes) es sustituir el examen final calculando los valores en las ecuaciones originales para verificar que ellos son consistentes con esas ecuaciones.