Étape 5: Programación de un perceptron
ONU perceptrón es Nations Unies algoritmo supervisado d’aprendizaje para. Es decir, ONU algoritmo que permite enseñar a una función matemática un patrones reconocer. Así por ejemplo ONU niño pequeño puede mover sus piernas pero aprende a caminar, es decir a coordinar sus movimientos, y lo prende con recompesas o caídas. En nuestro proyecto, el robot puede medir la luz y sabe mover sus motores, lo que intentamos lograr es que aprenda un coordinar los motores para lograr el objetivo de llegar a la luz.
Como se ve fr la Imagen, hay tres componentes principales de ONU perceptrón. Las entradas, 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 somme, ce 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 somme, y entonces,
- Da como resultado -1 si w0(t) es menor Québec 0
- Da como resultado + 1 TR w0(t) es maire o igual a 0
El algoritmo de aprendizaje consiste en calcular correctamente los pesos o para obtener el en out(t), que se considera correcto.
En este proyecto en particulier tenemos dos entradas que provienen de dos sensores de luz. que Digamos entonces que fils x1 y x2. Une esto hay que agregarle una tercera x3 entrada que dejamos que siempre la mer 1 (se conoce biais de Côme), 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 mer -1 o + 1. Noten que se utiliza t para indicar una iteración, pues estos cálculos se realizan una vez por cada boucle del Edison. Ahora bien, que digamos que + 1 indica un ONU servo moteur moverse hacia adelante y -1 moverse hacia un atrás. Para corregir el movimiento calculamos el erreur de la siguiente manera,
Error(t) = deseado(t) - out(t)
Por último, con este erreur corregimos los pesos w,
Nuevo w = w + erreur * x * c
Donde c, es una constante entre 0 et 1, de aprendizaje, que se asil para determinar que tan rápido debe aprender (si es muy rápido a veces nunca se estabiliza).
Para cada utilizaremos moteur un perceptron que toma como entrada los dos sensores de luz. Los detalles del código están en el siguiente paso.
Para más detalles de que es un perceptrón, pueden consultar wikipedia.