从感知机到人工神经网络与K-means算法详解
1. 从感知机到人工神经网络
1.1 反向传播与权重更新
在神经网络中,我们会近似计算输出层神经元 $o_1$ 的预激活值相对于权重 $w_5$ 的变化。预激活值是权重和输入的线性组合,偏置项 $b_2$ 和 $w_6acth_2$ 关于 $w_5$ 的导数为 0,因为这两项与 $w_5$ 无关。
回答完相关问题后,我们可以计算误差关于 $w_5$ 的偏导数,进而更新 $w_5$ 的值,公式为从 $w_5$ 中减去学习率与 $\frac{\partial E}{\partial w_5}$ 的乘积。然后按照类似的过程更新其余权重,完成第一次反向传播。之后,使用更新后的权重再次进行前向传播。
1.2 训练多层感知机近似XOR
使用 scikit-learn 训练一个近似XOR的网络,代码如下:
from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPClassifier
y = [1, 0, 0, 1]
X = [[1, 1], [1, 0], [0, 1], [0, 0]]
clf = MLPClassifier(solver='lbfgs', activation='logistic',
hidden_layer_sizes=(2,), random_state=12)
clf.fit(X, y)
predi
超级会员免费看
订阅专栏 解锁全文
841

被折叠的 条评论
为什么被折叠?



