Capítulo 3Revisión de métodosA continuación pres<strong>en</strong>tamos la revisión realizada de métodos ILP que implem<strong>en</strong>tan estrategias para elmanejo de atributos numéricos y/o categóricos. Estos los clasificamos <strong>en</strong> aquellos métodos que utilizanla discretización, la programación lógica de restricciones, los algoritmos g<strong>en</strong>éticos, y la transformación deun problema relacional <strong>en</strong> otro tipo.3.1 Discretización <strong>en</strong> ILPPara el manejo de valores numéricos, algunos sistemas ILP discretizan el rango numérico de un atributo A,con el algoritmo Minimum Description L<strong>en</strong>gth Principle -MDLP [12]. Este algoritmo ord<strong>en</strong>a de maneraasc<strong>en</strong>d<strong>en</strong>te el conjunto numérico S, donde cada s ∈ S ti<strong>en</strong>e asignada una de k clases. Después se crea unconjunto T de puntos provisionales, donde cada T i ∈ T es el punto intermedio <strong>en</strong>tre dos valores consecutivosde S, dividiéndolo <strong>en</strong> los subconjuntos S 1 y S 2 .Después se calcula la información de <strong>en</strong>tropía de clase para cada E (A, T i ; S) = |S1||S| Ent (S 1)+ |S2||S| Ent (S 2),donde Ent (S i ) = − ∑ kj=1 P (C j, S i ) log 2 (P (C j , S i )), k es el número de clases, P (C j , S i ) es el número deejemplos de S i con clase C j . Se selecciona el intervalo con el valor más pequeño: E (A, T min ; S).Si Gain (A, T min ; S) ≤ log2(N−1)N+ ∆(A,Tmin;S)N, <strong>en</strong>tonces T min divide a S, y el proceso se repite recursivam<strong>en</strong>te<strong>en</strong> S 1 y S 2 . En otro caso el proceso se deti<strong>en</strong>e.(Además ∆ (A, T min ; S) = log 2 3 k − 2 ) − [kEnt (S) − k 1 Ent (S 1 ) − k 2 Ent (S 2 )]; N =| S |; Gain (A, T min ; S) =Ent (S) − E (A, T min ; S) es la ganancia de información de T min ; k, k 1 , k 2 son las clases repres<strong>en</strong>tadas <strong>en</strong>S, S 1 yS 2 respectivam<strong>en</strong>te.INDUBI/CSLEste sistema utiliza dos tipos de literales: f (t 1 , . . . , t n ) = V y f (t 1 , . . . , t n ) ∈ R, donde f es una funciónde aridad n; t i es una variable o una constante; V es el valor que toma f; R es un conjunto de posiblesvalores que puede tomar f [23].Si una literal numérica f (ya sea V un valor numérico o R un conjunto de valores numéricos) es elegidapara especializar una cláusula G, <strong>en</strong>tonces el sistema INDUBI/CSL define un conjunto de puntos de divisióne intervalos a lo largo <strong>del</strong> rango numérico de la sigui<strong>en</strong>te manera: un punto de división d define dos intervalosdisjuntos [l 1 , l 2 ],[r 1 , r 2 ], donde l 1 es el valor más pequeño <strong>del</strong> intervalo izquierdo con clase +, l 2 es el valormás grande tal que l 2 < d, r 1 es el valor más pequeño tal que r 1 > d, r 2 es el valor más grande con clase +.Después se calcula la ganancia de información para cada intervalo (de acuerdo al algoritmo MDLP).El intervalo con mayor ganancia de información, d<strong>en</strong>otado BestR, es usado para crear una nueva literal:7
3. Revisión de métodos 8f ′ (t 1 , . . . , t n ) ∈ BestR. Por último para especializar la cláusula G se añade f ′ , <strong>en</strong> lugar de f, al cuerpo deG.TILDE/ICLTop-Down Induction of Logical DEcision Trees o TILDE [3], es un sistema ILP cuyo esquema de apr<strong>en</strong>dizajees el de interpretaciones, y las teorías construidas con árboles de decisión lógicos [4].Los argum<strong>en</strong>tos numéricos que serán discretizados se declaran a priori con el metapredicado to be discretized.Así, to be discretized (atom (A, B, C) , [A, C]) indica que los argum<strong>en</strong>tos A y C deb<strong>en</strong> ser discretizados.La discretizaciòn de cada argum<strong>en</strong>to declarado, se lleva a cabo antes <strong>del</strong> proceso de apr<strong>en</strong>dizaje conel algoritmo MDLP, al cual se le han hecho dos adaptaciones. Primero, <strong>en</strong> lugar <strong>del</strong> número de ejemplospara el cálculo de la ganancia de información, se utiliza una suma de pesos. Esto se debe a que <strong>en</strong> losdatos relacionales un ejemplo puede t<strong>en</strong>er más de un valor por cada argum<strong>en</strong>to. De esta manera un ejemplosin valores ti<strong>en</strong>e un peso igual a 0. Si ti<strong>en</strong>e el máximo de valores posible, <strong>en</strong>tonces ti<strong>en</strong>e un peso igual a1. La segunda adaptación es respecto al criterio de paro, ya que <strong>en</strong> el algoritmo de discretización original,el criterio de paro dep<strong>en</strong>de <strong>del</strong> Mminimum Description L<strong>en</strong>gth Principle. En TILDE el usuario define unnúmero máximo de intervalos M, con lo cual la ejecución <strong>del</strong> algoritmo se deti<strong>en</strong>e cuando el rango numéricose divida <strong>en</strong> M intervalos.Los intervalos creados pued<strong>en</strong> ser usados de las sigui<strong>en</strong>tes formas: usando desigualdades (, ≥)para id<strong>en</strong>tificar si un valor numérico es m<strong>en</strong>or o mayor que algún punto de división; con igualdad (=) paraverificar si algún valor cae d<strong>en</strong>tro de algún intervalo limitado por dos puntos de división consecutivos, p.e.V alor ∈ Intervalo = [d 1 ..d 2 ]; y por último verificando si un valor se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> un intervalo creado pordos puntos de división no consecutivos.En [19, 20], los autores adaptan el algoritmo de discretización MDLP exactam<strong>en</strong>te igual que <strong>en</strong> TILDE,pero el esquema de apr<strong>en</strong>dizaje es el de Inductive Constraint Logic - ICL.Ent MDL o ECL-GSDEl sistema Entropy Minimization plus Minimum Description L<strong>en</strong>gth Principle - Ent MDL [9] (llamado ECLwith Global Univariate Supervised Discretization - ECL-GSD <strong>en</strong> [11]), utiliza el algoritmo MDLP paradiscretizar el rango de de cada atributo numérico. Al igual que TILDE e ICL la discretización es a priori,aunque no se m<strong>en</strong>ciona ninguna modificación al algoritmo original. En este caso cada intervalo creado esutilizado como un valor categórico durante el apr<strong>en</strong>dizaje.Apr<strong>en</strong>dizaje Multivalores <strong>en</strong> ILP (AMILP)En nuestro trabajo de maestría llevamos a cabo una discretización global (antes <strong>del</strong> proceso de apr<strong>en</strong>dizaje)de los atributos categóricos y numéricos. Esta discretización es binaria y para cada atributo numérico obt<strong>en</strong>emosun punto de división d, y para cada atributo categórico se obti<strong>en</strong><strong>en</strong> dos subconjuntos de categorías.Esta discretización se lleva a cabo con el algoritmo de división de nodo de dos inductores de árbolesde decisión: QUEST (Quick Unbiased Effici<strong>en</strong>t Statistical Tree) [22] y CRUISE (Classification Rule withUnbiased Interaction Selection and Estimation) [18].Después de discretizar los atributos, se crean nuevas variables (multivalores) que son agregadas al<strong>conocimi<strong>en</strong>to</strong> <strong>previo</strong> <strong>del</strong> conjunto de <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to.Por último se ejecuta el proceso de apr<strong>en</strong>dizaje utilizando dos de los sistemas más populares <strong>en</strong> ILP:Aleph [26] y FOIL [25].