11.07.2015 Views

enriquecimiento del conocimiento previo en programación lógica ...

enriquecimiento del conocimiento previo en programación lógica ...

enriquecimiento del conocimiento previo en programación lógica ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!