1:单一输出单层感知机
(1)单一输出单层感知机的优化过程(损失函数对权重的微分过程)
[注]
x的上标表示第几层,下标表示第几号节点。
W的上标表示第几层(也即是第几层输出层)。W的第一下标表示输入层的第几号节点,下标表示加权求和层(输出层)的第几号节点。
O输出的上标表示第几层,下标表示第几号节点。
σ为激活函数sigmoid
E为loss函数
t为目标值
φE/φWj0表示对相应的节点进行求导
[注]在上图求导过程中省略步骤的解释:φσ(x0)/φWj0用链式求导法则=(φσ(x0)/φx0)*(φx0/φWj0)
而φσ(x0)/φx0为激活函数sigmoid函数的求导,然而φx0/φWj0为对加权求和∑的求导。
(2):单层感知机在pytorch中的使用(通过反复的运算的优化,可以得到最优的w权值)
[注]x@w.t()为x*w的转置
2:多输出单层感知机
(1)多输出单层感知机的优化过程(损失函数对权重的微分过程)
[注]上图中有一错误需要改正:σ下面的两个∑改成σ。
(2)多输出单层感知机在pytorch中的使用
[注]59行中mse_loss()的第一参数最好与o的shape保持一致。如图之所以能够运行成功是因为满足broadcasting机制。