You are on page 1of 24

Estudio C2 

Este doc fue originalmente hecho (y/o compilado) por varios alumnos del semestre
2017-1, así que los créditos van a ellos; en especial a: José Cáceres, Pablo Castillo,
Ivan Gonzalez, Rafael inostroza y Natalia Trucco.
Correcciones, materia adicional y edición: Bastian Fuenza.
El doc puede tener errores menores, y no debe ser considerado como parte oficial
del curso, es solo un documento con información que les puede ser de utilidad para
estudiar. ​SON LIBRES DE EDITARLO (hay back-up).

1- Algoritmos Genéticos
Los​ principios básicos de los Algoritmos Genéticos fueron establecidos por Holland
(1975), y se encuentran bien descritos en varios textos Goldberg (1989), Davis
(1991), Michalewicz (1992), Reeves (1993).

Introducción

Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para
resolver problemas de búsqueda y optimización, que están inspirados en la evolución
biológica. Un candidato a resolver el problema (llamado “individuo”) es codificado en la
forma de un cromosoma, de manera que la información que lo define esté contenida en sus
genes; estos individuos son sometidos a un proceso de reproducción, donde los individuos
más capaces de resolver el problema tienen una ventaja en el proceso de selección que
escoge a los individuos que se reproducirán, se crean “hijos” con una mezcla de los
materiales genéticos de sus “padres”; se define “qué tan bueno” es un individuo mediante
una función de evaluación (o fitness) que evalúa el desempeño de estos; y se agrega la
posibilidad de ocurrencia de mutaciones, que pueden crear material genético (cualidades
nuevas). Cuanto mayor sea la adaptación de un individuo al problema (fitness), mayor será
la probabilidad de que el mismo sea seleccionado para reproducirse; así, a lo largo de las
generaciones las buenas características se propagan a través de la población.

El poder de los Algoritmos Genéticos proviene del hecho de que se trata de una
técnica robusta, y pueden tratar con éxito una gran variedad de problemas provenientes de
diferentes áreas, incluyendo aquellos en los que otros métodos encuentran dificultades. Si
bien no se garantiza que el Algoritmo Genético encuentre la solución óptima del problema (y
en general no la encuentra), existe evidencia empírica de que se encuentran soluciones de
un nivel aceptable, en un tiempo competitivo con el resto de algoritmos de optimización
combinatoria. ​En el caso de que existan técnicas especializadas para resolver un
determinado problema, lo más probable es que superen al Algoritmo Genético.
Algoritmo genético simple/canónico

Corresponde a la forma más simple o minimalista del algoritmo genético, se compone solo
de las partes esenciales que lo hacen funcionar:
● Inicialización
● Mutación
● Selección
● Cruzamiento
● Funcion de evaluacion

Codificación:
Los individuos se pueden determinar por un conjunto de parámetros (genes), los que
agrupados forman una ristra de valores(hebra, cromosoma), el alfabeto corresponde
a qué valores pueden tomar los parámetros ej: binario{0,1} la cardinalidad
corresponde a la cantidad de valores que posee el alfabeto.
En términos biológicos, el conjunto de parámetros representando un cromosoma
particular se denomina ​genotipo.

Pseudocódigo:

Nota: ​Si bien esta representación funciona, no es la óptima en cuanto a costo


computacional. Además, notar que en este caso se hace selección por ruleta, también
llamada “proporcional”. ​La representación de la P1-Tarea 2 es más general, menos
costosa e igual de valida.
Inicialización:
Crea una población inicial, donde cada individuo tiene características siguiendo una
representación válida del problema a solucionar. Ejemplo: Se busca el orden óptimo de
números del 1 al 10, entonces cada individuo tiene un cromosoma de 10 genes, donde cada
gen es un numero del 1 al 10 sin repetición; si un número se repite, es imposible que
solucione el problema.
Que el método sea acorde a la representación, es importante para TODAS las partes
del algoritmo, no solo la inicialización.

Función de evaluación:
Debe ser diseñada para cada problema en particular; evalúa el desempeño del individuo y
le asigna un número a éste, en general (depende de cómo se defina), a mayor desempeño
mayor número de “fitness”.

Selección:
Selecciona los individuos de la población para cruzarse y producir descendientes, y lo hace
de una manera que favorece a los individuos con mayor fitness. Tipos de selección
comunes son:
● Ranking: Se pre-define una probabilidad de selección para cada posición (1ro, 2do,
etc) dandoles mas probabilidad de reproducirse a los primeros; luego se ordena a la
población según su fitness, y se le asigna la probabilidad correspondiente a su
posición. ​Es útil para tener una convergencia rápida, pero tiende a converger a
óptimos locales (convergencia prematura).

● Ruleta (o proporcional): Se evalúa el fitness de cada individuo de la población, luego


se le asigna a cada uno una probabilidad de selección igual a su fitness relativo
(fitness/fitness_poblacion). ​Es mejor para converger a óptimos globales (mejor,
no significa que necesariamente lo haga), pero demora más en converger.

● Torneo: Se toman k individuos al azar de la población (k definido a criterio o


experiencia), y se realiza un torneo con estos; se ordenan los k individuos según su
fitness, se toma el ganador (mayor fitness), y se reproduce al ganador con los demas
k-1 individuos del torneo; si los hijos creados no son suficientes para crear una
nueva población, se realiza un nuevo torneo con toda la población. ​Es útil cuando
la función de evaluación es computacionalmente costosa de calcular, reduce
considerablemente el costo al solo evaluar k individuos, pero se pueden
perder buenos candidatos al no ser todos parte de la selección.
Cruzamiento:
Escoge dos padres seleccionados y los cruza de una manera determinada, para producir
hijos que contienen una mezcla del material genético de sus padres.
Ejemplo: Corta sus hebras de cromosomas en una posición escogida al azar, para producir
dos sub hebras iniciales y dos sub hebras finales. Después se intercambian las sub hebras
finales, produciéndose dos nuevos cromosomas completos.

Mutación:
Se aplica a cada hijo de manera individual, y consiste en la alteración aleatoria
(normalmente con probabilidad pequeña) de uno o más genes componentes
del cromosoma.
Ejemplo: Selecciona un gen al azar del cromosoma, y lo cambia a cualquiera de las
posibilidades de gen disponibles (se escoge de manera aleatoria).

Este operador asegura que ​ningún punto de búsqueda tenga probabilidad cero de ser
examinado ​y es de gran importancia para asegurar la convergencia del algoritmo de
búsqueda.

Criterios de convergencia:
● De Jong(1975): Un gen converge cuando al menos un 95% de la población
comparte el mismo valor para un gen.
● De Jong(1975): La población converge cuando al menos un 95% de la población
comparte exactamente el mismo código genético.
ALPS
Age-Layered Population Structure (ALPS) GA, es un algoritmo genético que entra a
solucionar algunos de los problemas de un GA canónico. Es común para un GA converger
prematuramente a un óptimo local, y quedarse estancado en éste hasta que eventualmente
una mutación crea un individuo cercano a un mejor peak, que permite al GA acercarse al
nuevo óptimo encontrado, esto puede llevar mucho tiempo, y se crean muchas
generaciones sin ninguna mejora (debido a que ya hay convergencia, la diversidad es casi
nula); que es lo que pretende mejorar ALPS.

Como su nombre lo dice, ALPS crea una estructura poblacional con capas de edad, y esto
lo logra haciendo “resets” cada cierto tiempo, en los que se crea una nueva población y se
corre el mismo GA desde 0; pero esto es en paralelo, lo que quiere decir que el GA inicial
sigue evolucionando, pero ahora se crean “nuevas versiones” (resets) del mismo GA que
evolucionan al mismo tiempo en paralelo. Estos resets tienen una edad asignada
dependiente de “en qué momento” fueron creados; y además, los resets son capaces de
tomar individuos de resets más jóvenes, pero no de resets más viejos; esto se denomina
“​protección a la innovación​”, ya que solo los GA que llevan más tiempo evolucionando
(que ya muestran una tendencia en su convergencia) son capaces de tomar individuos de
GAs nuevos de utilidad, pero las generaciones nuevas no se ven sesgadas por las
tendencias de los más viejos.

De manera más especifica el algoritmo sigue la cronología:


1. Se crea una población nueva inicial que comienza a evolucionar
2. Pasadas n generaciones (5 por ejemplo), se crea una nueva población (totalmente
nueva) asociada a una nueva “run” del algoritmo.
3. El nuevo GA (y población) pasa a tener edad 0, y los más antiguos ganan +1 edad
4. Todos los GA continúan evolucionando en paralelo, y en cualquier generación un GA
puede tomar individuos de GAs de menor edad a él (si el individuo joven tiene mejor
fitness que todos los individuos viejos, por ejemplo)
5. Se repiten los pasos 2-3-4 hasta que se cumpla algún criterio de convergencia.

*Los números blancos representan cuantas generaciones lleva evolucionando ese GA.
Debido a que pasadas muchas edades, las diferencias entre los GAs de edades altas y
similares son cada vez menores, estas se pueden agrupar en capas de edad, que pasan a
tomar el rol de “edad” (la definición de que uno es mas viejo que otro). Agrupaciones
comunes son:

Auxiliar Repaso Control 2


P1
i) Convierta el número binario 110011 a número real
R: ​1​*2^5+​1​*2^4+​0​*2^3+​0​*2^2+​1​*2^1+​1​*2^0=51

ii) Determine el máximo número real representable con 10 bits


R: Para n bits se tiene que el máximo número real posible es: (2^n)-1, entonces es 1023

iii) Cree una función para representar el conjunto [-10,10] con 5 bits.
R:Para crear la función hay que asignar el mínimo valor en nuestro espacio de bits [0 0 0 0
0] al menor valor del conjunto y el máximo valor en nuestro espacio de bits [1 1 1 1 1] al
máximo valor de nuestro conjunto.
por lo que hay que hacer una ecuacion de la recta que pasa de B(conjunto de Bits) al
intervalo original en los reales.
con esto se llega finalmente a que f(B)=(20/31)B -10

P2
Pasos del Algoritmo genético canónico:
1 Generar la población.
Alfabeto
Largo de la hebra
Cardinalidad
Cantidad de individuos
2 Definir función fitness

3 Producir nueva generación


Computar->evaluar fitness.
Seleccionar.
Cruzar.
Mutar.
Insertar->cambio de población vieja por la nueva.
4 Convergencia i.e 95% de la población tenga el mismo ADN
P3 ​Su profesor favorito del DIM no cree en los algoritmos genéticos y lo reta a implementar
un algoritmo genético que resuelva el siguiente problema de optimización: Maximizar la
función 𝑓(𝑥)=1−𝑥2 en el rango [-5,5].
A Ud. Le parece que con genes binarios de 4 bits y una población de 4 individuos se puede
resolver el algoritmo de manera correcta, pero se enfrenta a los siguientes problemas
durante la implementación del algoritmo.
i) ¿Cuál es el largo de la hebra que escogió?¿Cuál es el alfabeto y la cardinalidad de la
hebra?
R: El largo corresponde a 4, pues es la cantidad de bits, el alfabeto es binario y la
cardinalidad de la hebra es 2.

ii) ¿Cuál es la definición matemática de la función de aptitud para este problema? Considere
que el máximo real representable con 4 bits debe corresponder al máximo del rango dado.
R: Al igual que en la P1 iii se debe hacer una función f(B), de la misma forma que en la P1
se asigna el [0 0 0 0] a -5 y el [1 1 1 1] al 5 de esta manera se tiene
f(B)=(10/15)B-5
con esto ahora nuestra función fitness trabajando con bits, queda de la forma
f(x)=1-x^2=> F(B)=1-((10/15)B-5)^2

Llegado a cierto punto del algoritmo, su población consta de los siguientes individuos

iii) Usando selección proporcional, determine la probabilidad de cruzamiento de cada


individuo de dicha población.
R: la probabilidad de selección Ps se define como:

donde f(i) es el fitness de cada individuo


para el primer individuo se tiene F([1 1 1 1])=-24
para el segundo se tiene F([0 1 0 0])=-4.44444
F([0 1 1 0])= 0
F([0 0 1 1])=-8
como no podemos tener probabilidades negativas con este metodo de seleccion, hacemos
que la menor(f([1 1 1 1]))=0
=> F1=0,F2=19.55, F3=24,F4=16
por lo que las probabilidades de cruzamiento son:
P1=0, P2=0.3295, P3=0.40228, P4=0.268186
iv) Según las probabilidades obtenidas anteriormente, haga un cruzamiento puntual entre el
individuo con mayor probabilidad y el con menor, donde el punto de cruzamiento
corresponde a la mitad de la hebra. Luego haga un cruzamiento entre los dos individuos
restantes con el mismo punto de cruzamiento anterior.
R. mayor probabilidad es P3 y menor es P1
punto de cruzamiento en la mitad de la hebra =>
[0 1 .1 0] con [1 1 .1 1] el primer hijo que es la primera mitad del primero con la segunda
mitad del segundo queda como [0 1 1 1] y el segundo hijo es [1 1 1 0]
con los otros dos se tiene [0 1 . 0 0] con [0 0. 1 1] que da como hijo [0 1 1 1] y [0 0 0 0]
ordenando, la nueva generación queda como:
[0 1 1 1]
[1 1 1 0]
[0 1 1 1]
[0 0 0 0]

v)Su profesor favorito del DIM le hace las siguientes preguntas: ¿Cuál es el mejor fitness
que puede entregar su algoritmo? ¿Es la solución óptima? ¿Es única?
R. Al ojo (o fuerza bruta), tenemos que:
f([0 1 1 1])=0.88888
f([1 0 0 0])=0.88888
Son los mayores fitness que se pueden encontrar, no son óptimos (el óptimo es 1), son dos.

vi) Dada sus respuestas anteriores, su profesor favorito del DIM argumenta que los
algoritmos genéticos no sirven para nada si no pueden resolver un problema tan “trivial”
como el que le dio. Busque una forma de codificar la conversión binario-real para que se
pueda obtener el máximo global del problema.
R: Básicamente hacer que uno de los números binarios corresponda con x=0, lo que se
puede lograr eliminando uno de los números binarios; ej: la más alta, [1 1 1 1], entonces el
máximo binario es [1 1 1 0], y se pueden representar 15 números, como ahora es impar, el
del medio corresponde con x=0 (si, es re trucho; y hace que haya que modificar cosas para
que el eliminado no aparezca, cosa que es un atado). En su defecto, también puede
explicarle al profe que, en el límite, si n tiende a infinito y se usan n bits, convergerá a x=0; o
irse a la chucha, mandar al profe a la chucha, y cuestionarse por qué está resolviendo
problemas de “intro al cálculo” 1D en los reales, con binarios en un algoritmo genético.

P4 ​Se tiene un grupo de poblaciones con las siguientes edades: 0,1,2,3,4. Relativo al
método ALPS, determine cuántos grupos etarios existen si se usa una distribución lineal de
edades. ¿Y si se usa una distribución exponencial?.
Distribución lineal => 0 1 2 3 4 5 6 7 8 9 10
{0}, {1}, {2}, {3}, {4} => 5 grupos
Exponencial=> 0 1 2 4 9 16
{0}, {1}, {2}, {3,4} => 4 grupos
2.Redes Neuronales
Ver:​ ​https://www.youtube.com/watch?v=aircAruvnKk

Neurona artificial
Emulan ciertas características de neuronas reales, las cuales son:
● Procesamiento paralelo:​ Todas las neuronas actúan a la vez en el sistema
● Memoria distribuida:​ Redundancia de almacenamiento para evitar pérdida de
información en caso de daño de neurona.
● Adaptabilidad al entorno:​ mediante información de las sinapsis. Permite aprender
de la experiencia, generalizando a partir de casos particulares
Los componentes de una neurona artificial son (ver figura):
● Entradas y pesos:​Conjunto de entradas con respectivos pesos sinápticos, xi y wi.
● Regla de propagación hi(x,w).​ Se suele usar una suma ponderada o promedio
ponderado de entradas y pesos: sum(xi*wi) , sum(xi*wi)/sum(wi)
● Umbral: ​Parámetro adicional que se resta a la regla de propagación.
hi(x,w)=sum(xi*wi)-thetai, representa un criterio de activación para la neurona
● Función de activación:​ Representa salida y estado de activación de la neurona,
yi=fi(hi)
1. Todo o nada: ​(threshold activation)
Función escalón, 1 si hi es mayor al umbral, 0 si hi es menor al umbral (es utiliza por
el modelo de neurona del perceptron original). Salida digital.
2. ​Neurona continua sigmoidea:​ Respuesta continua (no binaria)
● Función sigmoide (activación logística)
● Tangente hiperbólica
3. ​Activación lineal:
ReLU.

Arquitectura de redes neuronales


Conjunto de nodos unidos por sinapsis, las cuales son direccionales, i.e., la información se
transmite en una sola dirección (ver Figura). Las unidades estructurales en que se agrupan
las neuronas se denominan capas.
● Capa de externa (sensorial): ​Reciben datos del entorno
● capa de salida: ​Entregan la respuesta de la red
● Capa oculta: ​Sus entradas vienen de otras neuronas y sus salidas van hacia otras
neuronas, no están en contacto con el exterior

Tipos de arquitectura:
● Según estructura: Monocapa o multicapa
● Según flujo de datos (ver figur de abajo):
○ Unidireccionales: Información circula en un único sentido
○ Recurrentes o realimentadas: Información puede circular entre distintas
capas en cualquier sentido

Definición formal de red neuronal


(No tan relevante)
1. A cada nodo (neurona)_i se le asocia variable de estado X_i
2. A cada conexión (i,j) entre los nodos (neuronas)_i y j se le asigna un peso sináptico
w_ij.
3. A cada nodo (neurona)_i se le asocia un umbral theta_i
4. Para cada nodo i se define una función f_i(x_i,w_ij,theta_i). El valor de f_i entrega el
nuevo estado del nodo.

Otros?
Neuronas de entrada: Sin sinápsis (conexiones) entrantes
Neuronas de salida: Sin sinápsis (conexiones) salientes
Neuronas ocultas: No son de entrada ni salida v:

Red dinámica síncrona: Neuronas de una misma capa se actualizan a la vez comenzando
en la entrada y llegando hasta a al salida (capa por capa)
Red dinámica asíncrona: Cada neurona actualiza su estado independiente de las demás

Lo más común en redes artificiales son las redes síncronas, no así en sistemas biológicos.

TWEANN PROBLEMS​ (Topology and weight evolving artificial neural


networks)
● Reproducir topologías incompatibles
● Con qué topología comenzar? Random?
○ Podría partirse con individuos innecesariamente complejos
○ La población inicial podría tener defectos
● Estructuras innovadoras poseen más conexiones, no pueden competir con
estructuras simples
● A largo plazo es mejor la innovación
● Se necesita proteger la innovación
● NEAT soluciona estos problemas

NEAT ​(NeuroEvolution of Augmenting Topologies)


https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume21/stanley04a-html
/node3.html
● Especiación: Mantiene separadas topologías incompatibles, protege la innovación
● Evolución desde lo más simple a lo más complejo. Evita buscar en espacios
demasiado grandes. Hace posible encontrar soluciones de dimensiones grandes.
Codificación genética NEAT:

● 3 entradas
● 1 salida
● 1 oculto
● Se definen 7 conexiones con una recurrente (4-5, 5-4)
● El segundo gen está inactivo, por lo que su conexión (2-4) no es expresa en el
fenotipo
● Para permitir complejización, el tamaño del genoma no tiene un tamaño definido
● Cada genoma en NEAT posee una lista de genes conectados, indicando el nodo de
entrada, el nodo de salida, el peso sináptico, si la conexión del gen es expresa o no
(activo o inactivo) y un número de innovación que identifica a los distintos genes al
hacer crossover
Innovación topológica/Mutación NEAT:

Los nuevos nodos quedan guardados como innovaciones en el genoma, guardando una
“historia” de esa especie. Para añadir una conexión basta con incluirla al final. Para un nodo
es necesario desactivar las conexiones que puedan impedir la inclusión del nodo con sus
respectivas conexiones.

La mutación NEAT puede modificar tanto topología como pesos.


Al hacer la mutación de añadir un nodo, la conexión entre el primer nodo y el nuevo nodo
tiene un peso de 1 mientras que la conexión del nuevo nodo con la última conexión tiene un
peso igual al de la conexión antigua. Esto genera una no linealidad en la red (función
sigmoide) que no existía antes. Al hacer esto, la función del individuo se mantiene
cualitativamente igual (hay cambios pequeños), pero se suma la opción de adquirir nuevas
funcionalidades con el nuevo nodo.
Tracking de genes mediante marcas históricas:
El historial del genoma nos permite identificar qué genes pueden cruzarse entre 2 individuos
cualesquiera de la población.

Cada vez que surge una nueva mutación, se aumenta el número global de innovación y se
asigna al gen en cuestión, por lo que es fácil identificar genes comunes. Los genes no
comunes son “disjoint” si están dentro del rango de número de innovación de ambos
padres, o bien “excess” en caso que el número de innovación exceda el número máximo de
innovación de alguno de los padres.

Los genes con igual número de innovación se eligen de manera aleatoria para el hijo (por
eso en la figura el número 5 está inactivo, se eligió random entre ambos papis :3)
Genes no coincidentes se heredan del padre con mayor fitness, si tienen igual fitness se
heredan de ambos en forma aleatoria.

Genes inactivos tienen probabilidad de 25% de reactivarse en el crossover, por lo que se


pueden reutilizar genes antiguos.
Toda esta wea permite complejizar las estructuras topológicas sin perder compatibilidad
para desarrollar hijos. Sin embargo, a corto plazo, aumentar nodos disminuye el fitness, por
lo que estructuras complejas tienen menos probabilidad se sobrevivir, esto es un
PROBLEMA D:.

Especiación NEAT

NEAT soluciona esto mediante especiación, los individuos compiten con otros individuos
similares, así no se pierden innovaciones que podrían eventualmente producir una buena
solución

“Protecting innovation through speciation follows the philosophy that new


ideas must be given time to reach their potential before they are
eliminated”.

Las marcas históricas permiten dividir la población entre especies con topologías similares.
Se define la “distancia” (umbral de compatibilidad) entre 2 códigos genéticos como

Donde E son los excesos, D los disjoints, W la diferencia promedio de pesos de genes
coincidentes.c1, c2 y c3 asignan importancia a cada factor. N es el largo del genoma más
largo (puede ser 1 para cadenas cortas).

Criterio para asignación y creación de especies:


● Tomar un genoma y compararlo con otro elegido al azar que pertenezca a una
especie:
● Si la distancia del genoma es menor a un delta (umbral de compatibilidad)
● Se incluye el gen dentro de la especie
● Si un genoma no es compatible se crea una nueva especie a partir de dicho genoma

El valor de delta puede ser dinámico, de forma que si hay demasiadas especies, aumentarlo
(la “exigencia” para pertenecer a una especie es menor) o si hay muy pocos, disminuir delta
DDDDDD:

Explicit fitness sharing

El fitness dentro de una especie se “reparte” entre todos, por lo que si una especie crece
demasiado, el fitness de sus individuos disminuirá incluso si posee individuos de buen
fitness por sí solos. Esto es útil porque evita que una especie “domine” y extinga al resto, ya
que esto no aporta a la diversidad topológica.
La ecuación define el fitness ajustado para un individuo i, esta depende del fitness del
individuo por si solo, f_i y su relación con el resto de individuos de la especie (j) mediante la
“sharing function”, la cual es cero si delta es mayor que el threshold o 1 si no. Por lo que la
sumatoria incluirá a los individuos de una especie.

Dentro de una especie, primero se eliminan los individuos de menor fitness, luego, toda la
población es reemplazada por la decendencia de los organismos que quedaron en cada
especie.

Complejización

Debido a que NEAT utiliza la especiación, esto permite que la población inicial sea simple,
de redes sin capas ocultas. Al ir evolucionando, las innovaciones pueden pertenecer a
nuevas especies para ver si tienen características favorables, evitando analizar topologías
excesivamente complejas. La complejidad aumenta gradualmente, a medida que las
innovaciones logran superar a especies más simples.

AUX REPASO CONTROL 2

1. Indique los elementos que componen una neurona artificial


Nodo
X_i:​ Conjunto de entradas al nodo
w_i:​ Pesos sinápticos de cada entrada
h(x,w):​ Función de propagación. Suma ponderada de entradas y pesos. Sum(xi*wi) o
Sum(xi*wi)/w_t normalizando por el peso total
theta:​ Umbral de activación. Se debe restar a h(x,w)
f(h-theta): ​Función de activación
y(f):​ Función de salida
2. Cuál es la función de los pesos sinápticos?
● Asignan importancia a cada entrada
● Permiten modificar la salida
● El aprendizaje de la red está sujeto a ellos

3. Si una neurona pertenece a la capa externa de la red, a qué corresponden las señales de
entrada que recibe?

Recibe los estímulos externos a la red (parámetros del problema, distancia, velocidad, color,
etcetcetc)

4.i)Cuál es la función del umbral de activación?


● Establecer qué estímulos serán válidos o cuáles se desea considerar y cuáles no.
● Establecen un estímulo mínimo
● Pueden servir como filtro para el ruido
ii) Nombre y defina matemáticamente dos funciones de activación comúnmente usadas
a.Función sigmoide: f(h)= 1/(1+exp(-h))
b. Función tangente hiperbólica: f(h)=tanh(h)=(exp(h)-exp(-h))/(exp(h)+exp(-h))

Las funciones de activación continuas sirven para problemas en que las respuestas forman
parte de un espectro, no son “´sí” o “no” exclusivamente. La función escalón es una función
que sí es útil para los casos “sí” o “no”.

5. Dibuje una red monocapa realimentada.


6. Si la capa oculta de la red contiene 3 neuronas, la capa de entrada 1 neurona y la capa
de salida 1 neurona.
i) ¿Cuántas representaciones posibles tiene dicha red?
Una capa de n neuronas tiene n! ordenamientos diferentes. En este caso n=3, por lo que
hay 3!=6 combinaciones posibles

ii)¿Qué problemas puede traer lo anterior al momento de hacer crossover entre


2 redes?
● Al juntar 2 ordenamientos se pueden perder neuronas (ABA)
● Se soluciona clasificando redes por edad (?)
● Se soluciona con codificación NEAT

Nodo1 Nodo2
In 1 In 1
Out A,B,C Out 2
Encendido Encendido

Se cambian los encendidos y apagados (LO VAN A PREGUNTAR D:) (REPASAR


TWEANNS, NEAT)

7. Red que maneja acelerador y freno.


Entradas: velocidad (v), distancia a cualquier objeto (d).
f(h)=escalón(h)=1 si h>=0 (Acelerar), 0 si no (Frenar)
h(x) 
¿y los memes? 
Alguien los borró 
 
Y hay back-up de los memes? 
Si, ahi van de nuevo: 

 
 
 

 
 
 
 
 
the pile get soaked with data and starts to get mushy over time, so it’s 
technically recurrent.

 
 

 
 

 
 

You might also like