Stap 5: Programación de VN perceptron
VN-perceptrón es un algoritmo para aprendizaje supervisado. Es decir, un algoritmo que permite enseñar een una función matemática een patroonzoekende reconocer. Así por ejemplo un niño pequeño puede mover sus piernas pero aprende een caminar, es decir een coordinar sus movimientos, y lo prende con recompesas o caídas. Nl nuestro proyecto, el robot puede medir la luz y sabe verhuizer sus motores, lo que intentamos lograr es que aprenda een coordinar los motores para lograr el objetivo de llegar een la luz.
Como se ve nl la Imagen, hooi tres componentes kern gereedschappen de VN-perceptrón. Las Relacionadas, la función de suma, y una función de activación.
Cada entrada x se multiplica por un peso w, y estas se suma tal que:
W0(t) = x1 * w1 + x2 * w2 +... + xn * wn.
Entonces som, es la suma de cada entrada multiplicada por un peso w. La función de activación out(t), es una función que toma como valor som, y entonces,
- Da como resultado -1 si w0(t) es menor que 0
- Da como resultado + 1 si w0(t) es burgemeester o igual a 0
El algoritmo de aprendizaje consiste nl calcular correctamente los pesos w para obtener el nl out(t), que se considera correcto.
Nl este proyecto nl bijzondere tenemos dos Relacionadas que provienen de dos sensoren de luz. digamos entonces que son x1 y x2. Een esto hay que agregarle una tercera x3 entrada que dejamos que siempre zee 1 (se conoce como bias), para evitar sumas 0. Los valores de entrada de los fotoresistores van de 0 a 1023. Entonces,
W0 (t) = x1 * w1 + x2 * w2 + x3 * w3
La función de activación out(t) hará que el resultado zee -1 o + 1. Noten que se gebruikt t para indicar una iteración, pues estos cálculos se realizan una vez por cada lus del Edison. Ahora bien, digamos que + 1 indica een un servo motor moverse is adelante y -1 moverse is een atrás. Para juiste el movimiento calculamos el fout de la siguiente manera,
error(t) = deseado(t) - out(t)
Por último, con este fout corregimos los pesos w,
Nuevo w = w + fout * x * c
donde c, es una constante entre 0 y 1, de aprendizaje, que se ajusta para om ketting que tan rápido debe aprender (si es muy rápido een veces nunca se estabiliza).
Para cada motor utilizaremos un perceptron que toma como entrada los dos sensoren de luz. Los detalles del código están nl el siguiente paso.
Para más detalles de que es un perceptrón, pueden consultar wikipedia.