2016-11-28 96 views
1

我正在學習機器學習,並且我看到一些材料表明MLP(多層感知器)可能卡在局部最小值處。我想通過做一些實驗來學習,但我在網上搜索了具體的例子,但找不到任何實驗。任何人都可以告訴我在哪裏可以找到可以由我複製的例子嗎?有沒有MLP本地局部最小值的具體例子?

回答

1

您可以通過使用隨機梯度下降的反向傳播簡單地構建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

相關問題