问题标签 [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.
c++ - 如何在 DOD 之后创建多层感知器?或者如何存储动态分配的数组?
首先,我对 DOD 的这个概念很陌生,虽然对它很陌生,但从程序员的角度来看,我发现它真的很令人兴奋。
不久前,我为自己制作了一个多层感知器作为 OO 项目,并且由于我现在正在学习 DOD,所以我认为使用这种范例来制作它会很好。
我知道它可能不是(而且几乎肯定不是)最好的格式,但我试图将我在不同图层数组中使用得更多的东西分开。但是数组的存储方式确实让我很感兴趣,因为它们应该作为一个结构堆叠在一起,以便更快地读取内存(或者我错过了什么?)。如果我没记错的话, new[] 将数组分配在内存中的某个位置,并且只存储指向该位置的指针,而结构中的静态数组将在其空间内分配。
基于此,我想到了制作层(和网络)模板结构:
但是,如果 Layer 变成了这样的东西,是否有任何方法可以制作具有任意数量隐藏层的 Network 可变参数模板?还是我对静态数组的理解是错误的?创建此类数组(和访问时间)之间有什么区别吗?我的钥匙在哪里?
python - 感知器单层
我正在努力实现一个单层感知器:http ://en.wikipedia.org/wiki/Perceptron 。根据权重,我的程序要么在学习循环中丢失,要么找到错误的权重。作为测试用例,我使用逻辑 AND。你能告诉我为什么我的感知器不收敛吗?这是为了我自己的学习。谢谢。
svm - 为什么不在感知器或 SVM 中使用 0-1 损失函数?
为什么在感知器或 SVM 算法中不使用 0-1 损失函数(从概念二元分类模型的角度来看是最明显和信息最丰富的)?
c# - 创建一个为数组 c# 中的每个值打印不同输出的方法
嗨,我目前有一个数组,其中包含文本文件的所有值,并且当前它在运行时读取文件,但我想在运行时为数组中的每个值生成输出。现在,在读回所有值后程序运行结束时,我有一个输出,但我想在程序打印回的每个值旁边生成一个输出列表。输出是使用训练算法创建的。这是我的代码:
这是我定义数组和其他变量的地方:
这是将文本文件放入数组的位置:
这是我用来创建输出的算法:
所以我基本上希望在打印值时为 x 中的每个值打印输出,有人可以帮助我吗?
artificial-intelligence - 在训练神经网络时,您必须包含偏差吗?
artificial-intelligence - 在神经网络中,偏差会改变激活函数的阈值吗?
我已经阅读了一些关于此的其他问题(和相关答案),但我仍然有疑问:向阈值激活函数添加偏差会改变阈值吗?据我所知,添加偏差应该会沿 x 轴移动激活函数,因此它也应该改变阈值。
假设我们只有一个输入节点和一个输出节点,输入节点有一个阈值激活函数,阈值设置为 0。现在如果我们给 1 作为输入,神经元将激活并返回1 * weight
到输出节点,但是如果我们添加一个权重为 2 的偏置节点a_0 = -1
,连接到输入节点,并给之前的输入 1,则神经元将不再激活,因为现在我们必须至少达到 2 才能激活它。这是否可以被视为“改变”阈值?
backpropagation - 多层感知器实现:权重变得疯狂
我正在编写具有单个输出单元(二进制分类)的 MLP 的简单实现。我需要它用于教学目的,所以我不能使用现有的实现:(
我设法创建了一个有效的虚拟模型并实现了训练功能,但 MLP 没有收敛。实际上,输出单元的梯度在多个时期内仍然很高,因此它的权重接近无穷大。
我的实现:
以及输出单元在 epoch 上的梯度和权重的演变:
...
我尝试了不同的数据集,不同数量的隐藏单元。我试图用加法而不是减法来更新权重......没有什么帮助......
有人可以告诉我可能出了什么问题吗?提前致谢
javascript - 简单/单层感知器算法不起作用
我试图(完全)掌握神经网络背后的想法,所以我从创建自己的简单感知器算法开始。
这是我的代码(在 JavaScript 中):
结果不一致,(我正在使用 AND 算法来学习)。
情节应如下所示:
但通常如下所示:
我确定我在这里遗漏了一些小东西,
在此先感谢。
python - 感知器问题
我正在尝试通过制作一条线(感知器)f并使一侧的点+1和另一侧的-1来制作一组数据点。然后制作一条新线 g 并尝试通过更新 w = w+ y(t)x(t) 使其尽可能接近 f,其中 w 是权重,y(t) 是 +1,-1 和 x(t ) 是错误分类点的坐标。实施此操作后,我并没有从 g 到 f 非常合适。这是我的代码和一些示例输出。
117 <--- 带有 g 的原始错误分类数
[-116.9, -300.9, 190.1] <--- 最终权重
617 <--- 算法后带有 g 的原始错误分类数
956 <--- 带有 g 的原始错误分类数
[-33.9, -12769.9, -572.9] <--- 最终权重
461 <--- 算法后带有 g 的原始错误分类数
python - 绘制决策边界 matplotlib
我对 matplotlib 非常陌生,并且正在从事简单的项目以熟悉它。我想知道如何绘制决策边界,它是 [w1,w2] 形式的权重向量,它基本上将两个类分开,比如说 C1 和 C2,使用 matplotlib。
是否像绘制从 (0,0) 到点 (w1,w2) 的线一样简单(因为 W 是权重“向量”)如果是这样,如果需要,我如何在两个方向上扩展它?
现在我正在做的就是:
提前致谢。