单输出感知机及其梯度

recap

  • y=XW+by=XW+b

  • y=xiwi+by=∑xi∗wi+b

Perceptron

22-单输出感知机及其梯度-感知机模型.jpg

  • x0ixi0 i表示当成第i个节点
  • w0ijwij0 表示当层的第i个节点,j表示下一个隐藏层的第j个节点
  • σσ 表示激活函数后的节点
  • E表示error值
  • t表示target值

Derivative

  • E=12(O10t)2E=12(O01−t)2
import tensorflow as tf
x = tf.random.normal([1, 3])
w = tf.ones([3, 1])
b = tf.ones([1])
y = tf.constant([1])

with tf.GradientTape() as tape:
    tape.watch([w, b])
    prob = tf.sigmoid(x @ w + b)
    loss = tf.reduce_mean(tf.losses.MSE(y, prob))

grads = tape.gradient(loss, [w, b])
[<tf.Tensor: id=203, shape=(3, 1), dtype=float32, numpy=
 array([[-0.00047306],
        [-0.00288958],
        [-0.00280226]], dtype=float32)>,
 <tf.Tensor: id=201, shape=(1,), dtype=float32, numpy=array([-0.00275796], dtype=float32)>]
grads[0]
<tf.Tensor: id=203, shape=(3, 1), dtype=float32, numpy=
array([[-0.00047306],
       [-0.00288958],
       [-0.00280226]], dtype=float32)>
grads[1]
<tf.Tensor: id=201, shape=(1,), dtype=float32, numpy=array([-0.00275796], dtype=float32)>
原文地址:https://www.cnblogs.com/abdm-989/p/14123306.html