A partir de cada screen poner explicación y fórmulas y comparar con las guías.
Representación del conocimiento:
Sabiendo que W, M, A y C son falsos, determine el valor de verdad del resto de las
variables, justificando cada respuesta. Hacer modus ponens, modus tollens, separar ors y
de morgan. Algunas variables pueden quedar como ?. ¿El orden importa?
Coherencia de reglas:
Un conjunto de reglas es coherente si al menos uno de los conjuntos de valores de sus
variables no produce contracción. Hay que crear cuadro con las variables, sus valores de
verdad y las reglas y dentro ir aplicando modus ponen y modus tollen cuando se pueda.
Terminar de mirar un renglón cuando una regla es incoherente (derecha), terminar cuando
un conjunto de valores es coherente
Algoritmo a priori, generación de ítems frecuentes:
Este algoritmo recibe las transacciones y devuelve el conjunto de ítems frecuentes.
Inicialmente tenemos C1 con todos los elementos individuales. Pasan a F1 todos los que
cumplen el mínimo soporte. Ahí arranca el for a partir de F2. Hacemos C2 con
generarCandidatos con todos los F1 de entrada. Generamos candidatos uniendo los F1 en
orden lexicográfico con el último elemento como diferente. Eliminamos los candidatos que
tengan subelementos que no formen parte de Fk-1 por downward closure. Luego para
formar F2 nos quedamos con los C2 que cumplan el soporte mínimo.
Soporte para regla X – Y = (X u Y).count/N.
Generación de reglas:
Tenemos como entrada todos los F y como salida las reglas. Arrancamos con F2 y
generamos todas las reglas de un solo consecuente que cumplan la confianza mínima. Las
alreves tmb. Luego a partir de F3 entramos a apGenRules y generamos H1 con todos los
consecuentes de las reglas anteriores. suponete 4 letras individuales. Ni bien entramos
generamos H2 con H1 y generamos las reglas con la siguiente forma:
Fk - H+1 — H+1 que cumplan con la minConf.
Hacemos Hs para cada F. Si es F3 hacemos H1 y H2, si es F4 hacemos H1, H2 y H3.
Vemos que generamos un H1 y H2 por cada elemento de F3
Tree C4.5:
Planning:
NB para distribuciones gaussianas:
Siendo v la clase del nuevo elemento
Las verosimilitudes se calculan así, se calcula una vez por cada clase por cada dimensión:
Luego se multiplican las probabilidades a priori y las verosimilitudes de cada dimensión y se
elige la mayor.
Luego tenemos NB para intervalos de clases o beans, para distribuciones no gaussianas.
La probabilidad a priori es igual. rojo/rojo+azul
Las verosimilitudes cambian, p(B5|R) = los rojos del bean 5 sobre todos los rojos, eso lo
multiplicas por los rojos del bean 7 para sacar las verosimilitudes.
Sacas los n del bean de clase c1 sobre todos los elementos de c1, esto para cada
dimensión.
Tengo un hueco de teoría de probabilidad como intro a NB, onda demostrar el teorema de
bayes y la independencia de variables.
Algoritmos geneticos:
Selección: Proporcionales: Ruleta, los individuos tienen más ranuras si tienen más aptitud,
igual se tira un número aleatorio entre las ranuras para que tmb puedan pasar los malos.
Control de copias: La cantidad de copias van a ser los que superen la aptitud promedio
aptitud i sobre el promedio
Elitista: Pasa el 30% mejor
Basados en orden: Por ranking (la fórmula rara)
Cruce: simple, multipunto y cruce binomial
Mutación:
Adaptativa por convergencia. Aumenta la probabilidad de mutación si en la población hay
poca diversidad. Cantidad de individuos distintos/ total
Adaptativa por temperatura. Mide el tiempo que pasa para mutar. puede ser ascendente o
descendente y va aumentando o disminuyendo su probabilidad de mutar
si te dice gen 3, cambias a partir del 4
Te preguntan para generaciones altas, más de 100
Búsquedas:
Agarras el nodo actual, ves si es objetivo. Si no es, lo eliminas y expandis al comienzo de la
lista en orden alfabético los nodos conectados por los que no hayas pasado, señalando el
padre. Si hay repetidos borras el de más a la derecha. En el dibujo final dibujas la primer
columna y los del ultimo renglon
Agarras el nodo actual, ves si es objetivo. Si no es, lo eliminas y expandis al final de la lista
en orden alfabético los nodos conectados por los que no hayas pasado, señalando el padre.
Si hay repetidos borras el de más a la derecha. En el dibujo final dibujas la primer columna y
los del ultimo renglon
Escalada simple, mira por orden alfabetico, si encuentra un nodo con mejor h, se sube
Para encontrar un mínimo local en escalada simple hay que ir por todo el nivel
En escalada máxima pendiente se revisa todo el nivel y se elige el mejor, a diferencia de A*
no tiene vuelta atrás y los caminos no tienen costo
En A* o primero el mejor tenemos la heuristica y el costo del camino, siempre se elije el
mejor de los nodos abiertos, se cierra un nodo cuando existe en otra parte del árbol uno
mejor con la misma letra, es decir, una mejor forma de llegar
Casos particulares:
g=0 va a ser maxima pendiente con vuelta atrás, la busqueda la dirige h
h=0 alreves
h= cte, g=0 primero en amplitud
si h no sobreestima, se encuentra el camino óptimo, sino no se garantiza
Perceptron:
Hacer lo que dicen las fórmulas nomas. La condición de parada es que no de error en toda
la época. Xo=1 y Wo= -tita
Para calcular de forma analitica
MLP:
Tenemos 2 tipos de ejercicios: calcular propagación, errores y pesos y después los
ejercicios de errores.
Para la propagación es importante saber las fórmulas de la función de transferencia y las
derivadas. Para los errores entender la diferencia entre error de patrón, error de neurona,
error global o de entrenamiento, error de validación (detiene el entrenamiento) y de test.
Te pueden dar los errores de cada salida, que calcules el error global y que veas cuando
corta el entrenamiento, que sería early stop si el error de validación empieza a subir antes
de que el error de entrenamiento llegue al mínimo aceptable.
SVM: El objetivo es minimizar esa función, con esas restricciones. Para resolverlo tenemos
El primal y las condiciones de KKT
Que termina siendo esto de arriba lo único a recordar si solo queres resolver, para obtener
los alfa. Luego los vectores de soporte van a ser los que tengan alfa distinto de cero. (los
vectores de soporte son los que tocan los hiperplanos límite).
Luego la segunda parte del ejercicio es calcular vector W y b, el vector W es uno solo y los
b son varios y se toma el promedio. Para ambos cálculos solo se tienen en cuenta los alfa
distintos de cero, osea los vectores de soporte, ysi, son los importantes para crear la mejor
recta. Hay que aprender bien fuckin matrices
SOM:
Tenemos 2 fases: competencia y cooperación. En la fase competencia comparamos el
punto entrada con los pesos y vemos cual es el más cercano, el peso más cercano será la
neurona ganadora. Luego se actualizan los pesos, si la función vecindad es igual a cero,
solo se actualizan los pesos de la neurona ganadora, sino todos. Este proceso se hace por
cada punto entrada para finalizar una iteración. La condición de finalización es que la
variación de los pesos sea nula o por debajo de un umbral. Las distancias se calculan
teniendo en cuenta ambas dimensiones pero la actualización de los pesos se consideran las
dimensiones por separado
Hopfield:
Tenemos patrones a memorizar en matrices de 1xN, multiplicamos E por su traspuesta
menos la identidad. Así para cada patrón y al final sumamos todo para obtener la matriz de
pesos. Comprobamos multiplicando la matriz por el patrón ‘nuevo’, si es negativo es -1 y si
es positivo es 1. Hay que iterar al menos 2 veces para asegurarse que se estabilizó.
Y nada loco la capacidad y la ortogonalidad son fórmulas noma, significan cuanto puede
recuperar y que tan diferentes son los patrones.
ortogonalid
ad
KNN: Nos llega un nuevo punto, calculamos la distancia de todos los puntos al nuevo y nos
quedamos con los K mas cercanos. La clase del nuevo elemento será igual a la clase más
repetida de los K vecinos cercanos. Se puede usar el ponderado para tener en cuenta la
distancia a la que estamos de cada vecino.
K fold: tomamos todos los puntos como columnas. En cada columna ordenamos los puntos
más cercanos para abajo y vamos viendo con cada K como lo clasificaría si no supiéramos
su clase. Gana el K que clasifique más puntos mejor
Kmeans:
1 Tomamos K semillas random como centroides
2 Medimos las distancias de todos los puntos a las semillas y vemos a qué grupo-cluster
pertenece cada punto. (en el primer cálculo no calculamos la distancia de las semillas a sí
mismas, después sí porque no van a ser más centroides)
3 Re-calculamos los centroides haciendo los promedios de las componentes de los
elementos de cada cluster-grupo
Para elegir los centroides se deben intentar seleccionar las semillas más lejanas
Clustering:
Cada letra es un cluster individual, unir los clusters más cercanos (el menor número de la
matriz) y recalcular las distancias entre clusters (al recalcular entran SingleLink,
CompleteLink y AvgLink). Tomar las distancias siempre desde la matriz original