Etant donné un design matrix (avec une colonne initiale de 1s correspondant à un facteur de biais), je peux effectuer l'estimation du paramètre standard NN style L2-régularisée, dans lequel only the weights are regularized, avec une variété d'outils de python commeComment exclure un biais de la régularisation en utilisant `matrix_solve_ls` de TensorFlow?
scipy.optimize.minimize(lambda p: np.mean((np.dot(dmat, p) - y_data)**2) + lamb*np.dot(p[1:], p[1:]), np.zeros(n_params).T).x
ou
scipy.optimize.minimize(lambda p: np.mean((np.dot(dmat, p) - y_data)**2) + 2*lamb*tf.nn.l2_loss(p[1:]).eval(), np.zeros(n_params).T).x
Mais je ne vois aucun moyen d'exclure le biais de régularisation avec tensorflow de tf.matrix_solve_ls
qui traite
tf.matrix_solve_ls(dmat, np.array([y_data]).T, l2_regularizer=lamb*len(dmat)).eval()
comme équivalent à
scipy.optimize.minimize(lambda p: np.mean((np.dot(dmat, p) - y_data)**2) + lamb*np.dot(p, p), np.zeros(n_params).T).x
Comment puis-je exclure parti pris (ou, par construction, le premier paramètre) de régularisation en utilisant tf.matrix_solve_ls
?
Je ne suis pas sûr d'utiliser 'tf.matrix_solve_ls', mais je l'ai déjà fait en calculant mon terme de régularisation sur les variables qui ne contiennent pas le mot" bias ". Quelque chose comme 'reg_term = tf.norm ([var pour var dans tf.trainable_variables() sinon 'bias' dans var.name])' par exemple. – Engineero