2.6 Recognition/Classification
2.6.1 Single-Label Classification
2.6.2.9 Multi-Label Classification Methods
Los algoritmos presentados en esta sección extienden los Algoritmos 3 y 5 del Capítulo 3 con una distribución finita de probabilidades. Al igual que el Algoritmo 3, el Algoritmo 8 es paramétrico en el lenguaje lógico de las ERs generadas. El Algoritmo 9 como el Algoritmo 5 usa el lenguaje lógico EL. De forma similar, se podrían extender algoritmos para los otros lenguajes lógicos presentados en el Capítulo 3.
Antes de empezar explicando el algoritmo, damos algunos conceptos de teoría de modelos necesarios para entenderlo.
Para esta tesis una fórmula corresponde a una descripción de uno o más elementos del contexto y puede ser o no una ER, dependiendo de si su interpretación coincide o no con el target. Por ejemplo la interpretación de la fórmulaballson todas las esferas del contexto. En el contexto de la Figura 4.1 serían: e1, e3 y e5. Así como ||balluyellow|| es: e1 y e3. Como dijimos anteriormente la interpretación de una fórmula es el conjunto de elementos que satisfacen la fórmula. A la interpretación de una fórmula también la llamamos clase.
Decimos que una fórmula ∃R.ϕ es informativa con respecto a otra fórmula γ cuando la interpretación de la conjunción de las dos fórmulas ||∃R.ϕuγ|| contiene menos elementos que la interpretación de γ. Por ejemplo si tenemos la fórmula ball y queremos saber si red es informativa con respecto a ball para el modelo de la Figura 4.1 vemos que sí lo es, ya que e5 es una esfera roja y existen otras esferas que no son rojas, es decir red divide el conjunto de esferas, por lo tanto es informativa. Si un algoritmo permite agregar fórmulas no informativas a las expresiones referenciales, entonces podrá generar ERs sobreespecificadas.
Una fórmula ϕ es redundante por el conjunto de expresiones referenciales si ya tenemos otras fórmulas enRE cuya unión es igual a la interpretación deϕ. Por ejemplo, para el modelo de la Figura 4.1, > que es la fórmula a la cual todos los objetos pertenecen, será redundante cuando se agreguen las fórmulasbally cubeya que todos los elementos de la figura son esferas o cubos. Es decir ya tenemos descripciones más precisas de los objetos que >. Formalmente ||>||= {e1,e2,e3,e4,e5,e6,e7} ||ball||={e1,e3,e5} y ||cube||={e2,e4,e6,e7}. La unión de los conjuntos ||ball|| y ||cube|| dan exactamente||>||.
Trivial es una fórmula para la cual no hay objetos que la satisfagan en el modelo conside- rado, por ejemplo en el contexto de la Figura 4.1,large yellow ball es trivial ya que no hay esferas amarillas grandes en el contexto considerado. En el Algoritmo 9 vamos a utilizar fórmu- las del lenguaje de descripción EL [Baader et al., 2003] para describir clases de refinamiento. Note, sin embargo, que el lenguaje formal utilizado en particular es independiente del algoritmo principal, y diferentes funciones addL(R,ϕ, RE) se pueden utilizar en función del lenguaje en cuestión. La interpretación de la fórmula deEL ||ψu∃R.ϕ||es el conjunto de todos los elementos que satisfagan ψ y que están relacionados por relación R con algún elemento que satisface ϕ. Por ejemplo, la interpretación de la fórmula ball u ∃leftof.cube es el conjunto de todas las esferas que están a la izquierda de algún cubo.
El conjuntoREcontendrá la descripción formal de las clases de refinamiento y es inicializado por la descripción más general >. Al finalizar contendrá las fórmulas que representan las ERs de los elementos del modelo.
Los Algoritmos 8 y 9 realizan los siguientes pasos. Primero, recorre la lista Rs, para cada R (relaciones de la signatura del dominio REL). Luego calcula R.rnduse, un número aleatorio en [0,1], y R.incuse que será (1 - R.puse) / MaxIterations, siendo MaxIterations el número máximo de iteraciones del ciclo principal que queremos permitir. Si R.rnduse ≤R.puse entonces vamos a utilizar R para refinar el conjunto de clases, si no la propiedad R será ignorada en esta iteración. El valor de R.puse se incrementará en R.incuse en cada ciclo principal, para asegurar que todas las relaciones son, en algún momento, consideradas por el algoritmo. Esto asegura que una expresión referencial se encontrará si existe; pero dará mayor probabilidad a las expresiones
que usan las relaciones con R.puse más alta.
Mientras que RE contiene descripciones (fórmulas ϕ) que pueden ser refinadas, (es decir, clases con al menos dos elementos) vamos a llamar a la función de refinamiento addEL(R,ϕ,RE) sucesivamente con cada relación de Rs. Un cambio en una de las clases, puede desencadenar cambios en las otras. Por esa razón, si REcambia, salimos del ciclo for y volvemos a empezar con las relaciones de R.puse más altas.
Se refinará cada una de las descripciones en REutilizando la relación R y las otras descrip- ciones que ya están en RE, bajo ciertas condiciones que se detallan a continuación: La nueva descripción debe ser no redundante (la nueva clase no se puede obtener como la unión de clases ya representadas en RE), no trivial (la nueva clase no es vacía), es informativa (la nueva clase no debe coincidir con la clase original). Si se cumplen todas estas condiciones, la nueva descripción se añade a RE, y las descripciones redundantes posiblemente creadas por la adición de la nueva descripción son eliminadas. Con respecto a la informatividad, se permitirá el agregado de fórmulas no informativas en la primera iteración, antes de incrementar las R.puse.
Entrada: Un modeloMy una lista Rs∈(REL×[0,1])∗ de relaciones con sus valores depuse
ordenados porpuse
Salida : Un conjunto de fórmulasREtal que{||ϕ|| |ϕ∈RE}es el conjunto de clases deL-similaridad deM
RE← {>} // descripción más general > aplica a todos los elementos for (R,R.puse) ∈Rs do
R.rnduse = Random(0,1) // R.rnduse es la probabilidad de usar R
R.incuse = (1 −R.puse) / MaxIterations // R.puse incrementadas por R.incuse
end repeat
FirstLoop ← TRUE
while ∃(ϕ∈RE).(#||ϕ||>1) do // clases con más de 2 elementos?
RE’ ← RE // hacer una copia para futura comparación for (R, R.puse)∈ Rs do
if R.rnduse ≤ R.puse then // R será usada en la expresión
for ϕ∈ REdo addEL(R,ϕ, RE) // refine todas las clases usando R
end
if RE6= RE’ then // la clasificación cambió
exit // salga del ciclo for
end end
if RE= RE’then // la clasificación se ha estabilizado exit // salga del ciclo while para incrementar R.puse
end end
FirstLoop ← FALSE for (R,R.puse) ∈Rs do
R.puse← R.puse+ R.incuse // incrementar R.puse
end
until ∀((R,R.puse) ∈ Rs).(R.puse≥1) // R.puse incrementadas hasta que alcanzan 1 Algoritmo 8:Computando clases de L-similaridad
Entrada: R,ϕ,RE
Salida : RE
if FirstLoopthen // primera iteración?
Informativa ← TRUE // permitir sobreespecificación
end
else Informativa ← ||ψu ∃R.ϕ|| 6=||ψ|| for ψ ∈REcon #||ψ||>1do
if ψu ∃R.ϕno es redundante enRE
and ||ψu ∃R.ϕ|| 6=∅ // es no-trivial: tiene elementos? and Informativa then
Agregar ψu ∃R.ϕ a RE // agregar la nueva clase a la clasificación borrar fórmulas redundantes de RE // borrar clases redundantes end
end
Algoritmo 9:addEL(R,ϕ, RE)