Idée
Avant tout apprentissage, on tire au hasard les coefficients et le décalage : c'est le point de départ de la trajectoire qu'on va corriger pas a pas.
Pourquoi
Avant tout apprentissage, on tire au hasard les coefficients $W$ et le décalage $b$ : c'est le point de départ de la trajectoire qu'on va corriger pas a pas. La fonction initialisation(X) lit la deuxieme dimension de $X$ (nombre de variables $n$), généré $W$ par np.random.randn(n, 1) et $b$ par np.random.randn(1). C'est l'équivalent d'une condition initiale pour une suite recurrente : on choisit $u_0$ avant d'iterer la relation $u_{k+1} = f(u_k)$.
Outil
Condition initiale d'une suite recurrente : on choisit $u_0$ avant d'iterer $u_{k+1} = f(u_k)$.
Formule
Dans la fonction initialisation(X), on tire $W$ avec np.random.randn(X.shape[1], 1). Justifier ce choix de forme : pourquoi $X.shape[1]$ ? Pourquoi un $1$ supplementaire ? Que se passe-t-il si l'on remplace par np.random.randn(X.shape[0]) ?
Piège
Vidéo 5 : b est UN nombre réel pour un neurone. L'apprenant écrit b = np.zeros(2) (vecteur) — broadcasting silencieux fait passer le code mais Z reçoit deux biais, n'est plus celui du modèle voulu. Le présentateur insiste : b shape vide (scalaire), pas (1,) ni (n,).