制作多层感知器的训练示例

我正在尝试制作几个训练示例,以便为特定网络获得一组权重和偏置,该网络正确实现了硬阈值激活函数。

  • 四个输入 x_1, … x_4,其中 x_i 为实数,网络必须在 x_1 < x_2 < x_3 < x_4(排序顺序)时输出(y) 1,否则输出 0。

  • 硬阈值激活函数;

f(z) = 1(如果 z >= 0)或 0(如果 z < 0)

h1 = x1w11 + x2w12 + x3w13 + x4w14 + b11h2 = x1w21 + x2w22 + x3w23 + x4w24 + b21h3 = x1w31 + x2w32 + x3w33 + x4w34 + b31y = w1h1 + h2w2 + h3w3 + b (*实际上 h1, h2, h3 是 f(h1),f(h2),f(h3),因为激活函数的关系)

并且,f(y)。

我猜训练示例应该是

(-2,-1,0,1) -> 输出 1, (0,0,0,0) -> 输出 0, (0,0,0,1) -> 输出 0, (1,2,3,4) -> 输出 1。

… 等等。但是输入的范围太广,难以构建具体的示例来使用多层感知器算法。

你能帮我找到适合应用该算法的示例吗?


回答:

不,它并不太广,你可以只关注每个 x_i 的 [0, 1] 范围,因为无论如何你都需要归一化的数据来训练神经网络。

所以你基本上可以生成在 [0, 1] 范围内均匀分布的随机数,检查它们是否排序,然后相应地生成标签。然后你可以重复这一过程,比如进行 10,000 次或 100,000 次,这样你就有了训练多层感知器的数据集。你也可以选择一个步长来对 [0, 1] 范围进行离散化,以生成这些数字。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注