1
我正在學習機器學習,並且我看到一些材料表明MLP(多層感知器)可能卡在局部最小值處。我想通過做一些實驗來學習,但我在網上搜索了具體的例子,但找不到任何實驗。任何人都可以告訴我在哪裏可以找到可以由我複製的例子嗎?有沒有MLP本地局部最小值的具體例子?
我正在學習機器學習,並且我看到一些材料表明MLP(多層感知器)可能卡在局部最小值處。我想通過做一些實驗來學習,但我在網上搜索了具體的例子,但找不到任何實驗。任何人都可以告訴我在哪裏可以找到可以由我複製的例子嗎?有沒有MLP本地局部最小值的具體例子?
您可以通過使用隨機梯度下降的反向傳播簡單地構建XOR神經網絡。一個非常簡單的方法來生成該實驗數據集可以是:
X = [[randint(0, 1), randint(0, 1)] for _ in range(1000)]
y = []
for a, b in X:
if a + b == 1:
y.append([0, 1])
else:
y.append([1, 0])
X = np.array(X)
y = np.array(y)
你會發現這個SO後(XOR neural network error stops decreasing during training)有益,因爲它關係到你的查詢。
其他:如果您熟悉torch,那麼您可以查看此github repository的全面示例。您可以使用手電筒中的描述here爲您的實驗生成數據集。如果你不熟悉火炬,但有興趣學習,你可以考慮通過這個post。
有用的教程: (1)The XOR problem and solution