问题标签 [perceptron]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3991 浏览

c++ - 感知器 Sigmoid

您好我正在尝试创建一个程序,该程序将根据感知器算法计算权重。我现在一切都在工作,但在最基本的情况下,它是一个阶梯函数,它是单层的。在我继续进行多层之前,我试图使其成为最佳和 sigmoid。

所以这些是我的问题,我对 sigmoid 有一个大致的了解,但我找不到任何关于如何使线最优的信息,所以它与数据点的距离相等。有人有什么想法吗?

这是我当前查找“y”变量的代码,我在这里将其称为输出,它使用简单的阶跃函数阈值 = 0 找到它。如何将其转换为 sigmoid?

0 投票
1 回答
242 浏览

r - 使用闭包增加 R 中的函数(递归地将使用闭包构造的函数添加到现有函数)

我正在尝试w(t)从一些数据创建一个函数。我通过循环数据、创建函数并将其添加到w(t). 我遇到了无限递归问题,因为我不知道 R 何时评估变量。我得到的错误信息是:

错误:评估嵌套太深:无限递归/选项(表达式=)?总结期间出错:评估嵌套太深:无限递归/选项(表达式=)?

下面是一个内核化感知器的示例。我生成了一些线性可分的数据并尝试拟合它。函数加法发生在函数kern.perceptron中,其中 I:

  1. 从数据创建一个函数:kernel <- FUN(x, ...). 从调用这转化为创建一个function(t) (x %*% t)^3应该评估x 的函数。(我认为这是我可能会摔倒的地方)。
  2. 将此函数添加/减去现有函数wHat

我怎样才能正确地更新函数这样wHat(t) = wHat(t) + kernel(t)

0 投票
1 回答
88 浏览

matlab - 在 Matlab 中使用前馈网络进行分类奇怪的结果?

我在 Matlab 中使用前馈网络进行了一些分类测试。使用标准tansig函数,在隐藏层使用更多神经元时,结果会更好。但是,当我切换到隐藏层时,pure lin我惊讶地发现当我在隐藏层上设置较少数量的神经元时结果会更好。你能帮我就这些情况提出一个论据吗?

0 投票
2 回答
2722 浏览

algorithm - Understanding Perceptrons

I just started a Machine learning class and we went over Perceptrons. For homework we are supposed to: "Choose appropriate training and test data sets of two dimensions (plane). Use 10 data points for training and 5 for testing. " Then we are supposed to write a program that will use a perceptron algorithm and output:

  • a comment on whether the training data points are linearly separable
  • a comment on whether the test points are linearly separable
  • your initial choice of the weights and constants
  • the final solution equation (decision boundary)
  • the total number of weight updates that your algorithm made
  • the total number of iterations made over the training set
  • the final misclassification error, if any, on the training data and also on the test data

I have read the first chapter of my book several times and I am still having trouble fully understanding perceptrons.

I understand that you change the weights if a point is misclassified until none are misclassified anymore, I guess what I'm having trouble understanding is

  1. What do I use the test data for and how does that relate to the training data?
  2. How do I know if a point is misclassified?
  3. How do I go about choosing test points, training points, threshold or a bias?

It's really hard for me to know how to make up one of these without my book providing good examples. As you can tell I am pretty lost, any help would be so much appreciated.

0 投票
2 回答
752 浏览

python - 如何在类中访问 theano 符号变量的值?

我想访问 my_classifier.y_binary 的值。我的目标是计算 my_classifier.error。

我知道如何使用 eval 获取 my_classifier.y_hat 的值,但是当输入是 self 参数时我不知道如何使用它。

谢谢

0 投票
0 回答
1036 浏览

matlab - 如何为感知器算法绘制分类线(决策边界)

在 Matlab 中运行了感知器代码,并获得了一组数据的以下结果:

结果:

在此处输入图像描述

并获得了这个情节

在此处输入图像描述

如何在两个类之间绘制分类线(决策边界)???

0 投票
2 回答
77 浏览

java - 加上对整数对象的操作,从目录中读取多个文件以在 Java 中创建词袋

词袋与文档术语矩阵是一样的吗?

我有一个包含许多文件的训练数据集。我想将它们全部读入数据结构(哈希图?),为特定类别的文档(科学、宗教、体育或性)创建一个词袋模型,为感知器实现做准备。

现在我有最简单的简单 Java I/o 构造,即

所以我想要做的是从一个目录中的多个文件中读取输入并将所有数据保存到一个底层结构中,如何做到这一点?我应该把它写到某个地方的文件中吗?

根据我对词袋的理解,我认为哈希图,正如我在上面代码的注释中所描述的那样会起作用。那正确吗?我怎么能实现这样的事情来同步读取来自多个文件的输入。我应该如何存储它,以便以后可以将其合并到我的感知器算法中?

我已经看到这样做

但这是一个蹩脚的解决方案,因为您需要提前指定所有文件,我认为应该更加动态。如果可能的话。

0 投票
2 回答
256 浏览

java - 在哈希图特征向量上运行感知器算法:java

我有以下代码,它将目录中的许多文件读入哈希映射,这是我的功能 vecteur。从某种意义上说,它没有阻止,这有点天真,但这不是我现在主要关心的问题。我想知道如何使用这个数据结构作为感知器算法的输入。我想我们称之为一袋文字,不是吗?

您可以看到该路径指向一个名为“无神论”的目录,还有一个名为 sports 的目录,我想尝试线性分离这两类文档,然后尝试将看不见的测试文档分成任一类别。

怎么做?如何将其概念化。我会很感激一个可靠的参考,全面的解释或某种伪代码。

我在网上没有找到很多信息丰富且清晰的参考资料。

0 投票
1 回答
148 浏览

java - java中感知器实现的数据结构混淆

我正在尝试在 java 中实现感知器算法,只是一层类型,而不是完全神经网络类型。这是我正在尝试解决的分类问题。

我需要做的是为政治、科学、体育和无神论四个类别之一的每个文档创建一个词袋特征向量。是数据。

我正在努力实现这一点(直接引用这个问题的第一个答案):

例子:

字典是:

所以作为向量的文档看起来像:

有了它,你可以做各种花哨的数学运算并将其输入你的感知器。

我已经能够生成全局字典,现在我需要为每个文档制作一个,但我怎样才能让它们保持一致呢?文件夹结构非常简单,即 `/politics/' 里面有很多文章,对于每一篇我都需要针对全局字典创建一个特征向量。我认为我正在使用的迭代器让我感到困惑。

这是主要课程:

这会遍历数据结构:

这填满了全局字典:

这是填写文档特定字典的初步尝试:

0 投票
0 回答
392 浏览

java - 感知器算法计算局部误差/RMSE

我强烈怀疑它与本地错误有关,这似乎总是-1.

完整代码可以在我的github 页面上找到。

我已经按照本教程实现了感知器算法。

我的输入是一袋单词特征向量,形式为:

例子:

字典是:

所以作为向量的文档看起来像:

但是,当我运行该算法时,我始终得到0.01.00.7071067811865476作为均方根误差的值,即Math.sqrt(globalError / inputSize)

这不可能是正确的,因为我每次都将权重初始化为不同的随机变量。此外,我认为迭代次数相当少,因为我有数百个单词作为我的全局字典。

我一直在网上查找并使用调试器仔细挑选代码,我认为我已经正确实现了算法,但一定有一些我没有捕捉到的东西,也许你们中的一个人可以发现它。

这是三种不同执行的输出结果:

第一的:

第二:

第三:

代码如下所示:

这是Prcptrn_CalcOutpt.calculateOutput