Representación De La Información.
Solo para principiantes.
¿Qué Es Información?
Bit, Como Unidad Mínima De Información.
Es la forma básica de representar información. Con un conjunto de bits se
puede representar información más compleja como:
Números, caracteres, imágenes, etc.
Representación De Números
La representación de números se basa en el álgebra de bool. La mísma es capaz de representar, con un número (n) finito de dígitos booleanos, un número finito
de números naturales (2n).
N = 2:00 = 0, 01 = 1, 10 = 2, 11 = 3.
Números Enteros
Si existen 2n números en n dígitos binarios, entonces podemos
representar 2n-1-1 números enteros positivos y 2n-1-1 negativos.
000 = 0, 001 = 1, 010 = 2, 011 = 3100 = 0, 101 = -1, 110 = -2, 111 = -
3.
Números Reales
Si tenemos números enteros podemos representar a los números
reales con la fórmula M.2n, donde M y n son números enteros.
(¡Notación exponente, pero en base 2!)
Enumerados
Si a cada número entero lo asociamos a un valor en especial, estos valores
especiales los llamamos enumerados.0 = calor, 1 = frío, 2 = cómodo.
Caracteres
Ahora si asignamos a cada valor natural un símbolo tenemos un
enumerado de símbolos: caracteres.Existen varias normas para
determinar esa asociación de símbolos con números, la más
conocida es ASCII.
Secuencias De Caracteres.
La secuencia de caracteres es una lista de símbolos seguidas una de otra.
Tienen orden y las operaciones más comunes son:
S[i] : referencia el carácter que está en la posición i de la secuencia S.
S.a : agregamos el carácter a al final de la secuencia S.
H O L A
Vectores
Es una secuencia de elementos (números, enumerados, referencias, etc.) Donde la referencia a uno de esos elementos es
instantánea. Al igual que una secuencia una referencia es instantánea. Podemos decir que
una cadena de caracteres es un vector de caracteres, la mayor diferencia existe que en un
vector no es común insertar y eliminar datos.
V[i]: referencia al i-ésimo elemento del vector V.
4 5 5 5 6
Matrices
Un vector de vector es una matriz.
M[i][j]: referencia el elemento (i,j) de la matriz M.
0 5 3 8 0
1 1 4 7 1
1 1 1 6 0
Referencias
Las referencias son elementos que identifican elementos.
Los elementos podemos copiarlos, con lo que cualquier modificación a la
copia no modifica al original. O referenciarlo, con lo que si
modificamos la referencia modificamos el origina.
5
Listas
Una lista, a diferencia de una secuencia de caracteres, hay que recorrerla secuencialmente para
poder llegar a algún elemento de la misma.
H O L A
Árboles
Un árbol es una estructura donde se almacenan nodos y referencia a los
nodos. La cantidad de referencias de un nodo determina la topología de un
árbol.
H O L A
L
Redes
Al igual que un árbol, cada nodo tiene un número determinado de
referencia. Pero las referencias puede generar ciclos.
BsAs
Córdoba
S. Fe
Clases vs. Instancias
La clase refiere a la descripción de la estructura.
Una instancia refiere a la estructura.
Programación
Expresiones
Las expresiones devuelven un valor, tanto de verdad como numérico o
estructura.
5 + 4´HOLA´[i].'c'
a = b
Asignación
Los valores devueltos en las expresiones se les puede recordar o
almacenar para luego usar nuevamente. Agrega la noción de
variable.
A <-- 5 + 6B, C <-- S[i], S[i+1]
A, B <-- B, A
Condiciones
Las condiciones usan las expresiones booleanas tomar decisiones durante
un proceso.
Si 5 > a entonces imprimir Verdadero.
Ciclos
Un proceso repetitivo necesita un ciclo. El mismo se detiene cuando cumple alguna
condición lógica.
A <-- 5B <-- 2Mientras A > 0 hacer
M <-- M + BA <-- A – 1
Fin Mientras.
Formalidad y pseudocódigo.
Para poder entender un algoritmo hay que entender el lenguaje en que esta
descripto. Cómo la formalidad molesta a la hora de entender un algoritmo, se decidió que la mejor manera es describirlos un código pseudo formal: el pseudocódigo.
Descanso...
Aprendizaje Automático y Datamining
En Biología Molecular.
¿Qué significa AA?
Decimos que un agente o un programa de computación
aprende de la experiencia E con respecto a cierta clase de tareas T con la medida de performance P, si su performance en la tarea T,
medida por P, mejora con respecto a la experiencia E.
Por ejemplo...
Un programa de computación que aprende a jugar al ajedrez debería mejorar su performance, medida por su habilidad de ganar en la clase de tareas correspondientes a jugar partidas de ajedrez, a través de la experiencia obtenida jugando
partidas.
Algunos ejemplos en Biología Molecular
Análisis inductivo de la estructura super-secundaria de proteínas.Inducción simbólica en secuencias de DNA y proteínas.Regulación molecular.Codificación basada en conocimiento de la topología de proteínas.
Algunos ejemplos en Biología Molecular
Predicción de la topología proteica a través de satisfacción de restricciones.Diseño de drogas.Predicción de alfa-hélices.Etc.
Datamining
Análisis y exploración automática de grandes bases de
datos para extraer información útil y no evidente.
Visualización
Junto con las técnicas de AA, la visualización es esencial para el
datamining.
Entrada
Conceptos, Instancias y Atributos.
¿Qué es un concepto?
Clasificación: Conocer todos los posibles ejemplos, conocidos o no, que existan para una clase.Asociación: Conocer asociaciones entre atributos que nos permita predecir un valor.
¿Qué es un concepto?
Clustering: Grupos de ejemplos que tengan alguna asociación.Predicción numérica: Igual que la asociación, pero el valor que se desea predecir no es discreto sino numérico.
Conclusiones sobre conceptos.
El concepto varía según lo que queremos aprender.El conjunto de ejemplos que elijamos determinará el concepto que aprenderá el algoritmo de aprendizaje automático.
¿Qué es un ejemplo?
La entrada en una esquema de aprendizaje automático es un conjunto de instancias.Las instancias son cosas que queremos clasificar, asociar o clusterizar.Una instancia es un ejemplo individual e independiente de un concepto a aprender.
Ejemplos de Ejemplos
Apariencia, Temperatura, Humedad, Ventoso, Jugar
Soleado Caliente Alta No NoSoleado Caliente Alta Si NoNublado Caliente Alta No SiLluvioso Medio Alta No SiLluvioso Frio Normal No SiLluvioso Frio Normal Si No
Ejemplos de Ejemplos
Nublado Frio Normal Si SiSoleado Medio Alta No NoSoleado Frio Normal No SiLluvioso Medio Normal No SiSoleado Medio Normal Si SiNublado Medio Alta Si SiNublado Caliente Normal No SiLluvioso Medio Alta Si No
¿Qué es un atributo?
Cada instancia individual e independiente que es entrada de un
algoritmo de aprendizaje automático esta caracterizado por
valores fijos ó atributos.
Salida
Representación del Conocimiento
Tablas de decisión
Si apariencia = soleado y humedad = alta entonces jugar.Si apariencia = lluvioso y vientoso entonces no jugar.Si apariencia = nublado entonces jugar.Si humedad = normal entonces jugar.Otro estado entonces jugar.
Árboles de decisión.
Apariencia
Ventoso
Humedad
No Si
No
Si
Si
Reglas de Clasificación
A
CB
C D
D
X
X
X
Ejemplos:Si A y B entonces XSi C y D entonces X
Reglas de asociación
Si ventoso y no juego entonces.apariencia = soleado y humedad = alta.
Otras formas...
Espacio de Búsqueda
Una muestra con todos los ejemplos.
Sesgo
Sesgo del lenguaje.Sesgo de la búsqueda.Sesgo para el sobre-aprendizaje.
Credibilidad
Evaluando lo aprendido.
Entrenando y probando.
Espacio de prueba vs. Muestra: Error. Porcentaje de errores cometidos en la
prueba. Tamaño de la muestra con respecto
al tamaño del espacio de prueba.
¡Comparar algoritmos!
Validación cruzada
Objetivo: Conocer el error y sesgo del algoritmo a partir de una muestra.De un conjunto de ejemplo, dividir aleatoriamente en dos conjuntos: Prueba y Test.Obtener el error del algoritmo.
Validación cruzada
Realizar los dos pasos anteriores varias veces.Cuando exista una suficiente cantidad de pruebas realizadas (>30 ?) se puede calcular el error medio y el sesgo que tiene el algoritmo para ese tipo de prueba.
¿Preguntas?
Referencias Programación
A Method of ProgrammingAutor: Edsger Dijkstra y W.H.J. FeijenEditorial: Addison-WesleyLógica para ComputaciónAutor: Francisco NaishtatEditorial: EUDEBA
Referencias AA y Datamining
Mitchell, T. M. Machine learning, Boston, McGraw-Hill, 1997.Datamining, practical machine learning tools and techniques with JAVA implementatios. IAN H. WITTEN, EIBE FRANK. Mourgan Kaufmann. 1999.