问题标签 [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.
machine-learning - 关于机器学习中内核技巧的直觉
我已经成功实现了一个使用 RBF 内核的内核感知器分类器。我知道内核技巧将特征映射到更高的维度,以便可以构造线性超平面来分离点。例如,如果您有特征 (x1,x2) 并将其映射到 3 维特征空间,您可能会得到:K(x1,x2) = (x1^2, sqrt(x1)*x2, x2^2)
.
如果您将其插入感知器决策函数w'x+b = 0
,您最终会得到:w1'x1^2 + w2'sqrt(x1)*x2 + w3'x2^2
它为您提供了一个循环决策边界。
虽然内核技巧本身非常直观,但我无法理解它的线性代数方面。有人可以帮助我了解我们如何能够在不明确指定它们的情况下仅使用内积来映射所有这些附加功能吗?
谢谢!
java - 感知器学习——最重要的特征
对于我在 AI 课上的一项作业,我们的任务是创建 Widrow Hoff delta 规则的感知器学习实现。我用java编写了这个实现:
以下 github 链接包含该项目: https ://github.com/dmcquillan314/CS440-Homework/tree/master/CS440-HW2-1
我遇到的问题不在于感知器的创建。那工作正常。
在训练感知器后的项目中,我将未分类的数据集应用于感知器,然后学习每个输入向量的分类。这也很好用。
我的问题是关于学习输入的哪个特征是最重要的。
例如,如果每个输入向量中的特征集是颜色、汽车型号和汽车品牌,我们想要分类哪个特征是最重要的。怎么会这样做。
我最初对此的理解使我相信计算相关系数是每个输入的特征值和生成的分类向量。然而,事实证明这是一个错误的假设。
还有其他方法可以学习最重要的特征吗?
编辑
样本权重向量:
(-752、4771、17714、762、6、676、3060、-2004、5459、9591.299、3832、14963、20912)
样本输入向量:
(55, 1, 2, 130, 262, 0, 0, 155, 0, 0, 1, 0, 3, 0)
(59, 1, 3, 126, 218, 1, 0, 134, 0, 2.2, 2, 1, 6, 1)
(45, 1, 2, 128, 308, 0, 2, 170, 0, 0, 1, 0, 3, 0)
(59, 1, 4, 110, 239, 0, 2, 142, 1, 1.2, 2, 1, 7, 1)
最后一个元素是分类。
当我找到一个答案时,我会在这里发布一个答案。到目前为止,我认为导师给出的答案是不准确的。
machine-learning - Perceptrol 算法与 MLP(Multiplayer perceptrol 中性网络)的关系
最近开始学习模式识别,对感知器算法很感兴趣。但有时我听到其他学生在谈论感知器网络,它是一种中性网络。他们之间的关系是什么?
perceptron - 感知器的总和无法正常工作。得到大的总和
所以我有一个运行方法,它将人工神经网络中边缘的权重与输入节点的阈值相加。
有点像这样:
现在我的测试感知器应该产生 -3 的总和,但我得到的值为 1176!!!这里发生了什么?
这是我为 run() 方法、构造函数和 main 方法编写的代码。
构造函数:
这是我的 run() 方法:
这是我的主要方法:
machine-learning - 感知器的几何表示(人工神经网络)
我正在参加 Geoffrey Hinton 的 Coursera 神经网络课程(不是当前课程)。
我对权重空间有一个非常基本的疑问。
https://d396qusza40orc.cloudfront.net/neuralnets/lecture_slides%2Flec2.pdf
第 18 页。
如果我有一个权重向量(偏差为 0)为 [w1=1,w2=2] 和训练案例为 {1,2,-1} 和 {2,1,1} 我猜 {1,2} 和{2,1} 是输入向量。如何用几何表示?
我无法想象它?为什么训练案例给出一个将权重空间分成 2 的平面?有人可以在 3 维坐标轴上解释这一点吗?
以下是ppt中的文字:
1.重量空间每个重量有一个维度。
2.空间中的一个点对所有的权重都有特定的设置。
3.假设我们已经消除了阈值,每个超平面可以表示为一个通过原点的超平面。
我的疑问在上面的第三点。请帮助我理解。
matlab - 在 MATLAB 中使用感知器对数据进行分类
我正在生成可以线性分离的随机数据。我想编写自己的感知器版本来分离它们。我知道有些帖子有类似的问题 - 但我找不到我的错误。我真的被困住了。该算法有效,但似乎没有收敛。如果您能帮助我,我将不胜感激。
我的代码:
single_layer_perceptron.m
生成随机数据.m
activationFunctionHeaviside.m
错误函数.m
非常感谢!
artificial-intelligence - 简单的感知器可以执行哪些任务?
我正在尝试教简单的单神经元感知器识别重复序列1
。
这是我用来教它的数据:
这是学习模板的数组,每个模板都是数据数组和该数据的正确结果。
正如你看到的。最后一行评论了——如果我取消评论——感知器将无法学习。如果没有它,感知器在“0101”的情况下无法正常工作。所以问题是:
- 这个任务可以用单个神经元感知器解决还是我应该使用几个分层感知器?
- 我如何确定可以用这样一个简单的感知器解决哪些任务?是否有任何规则可以应用于我的任务并说它可以用简单的感知器完成?
这是用coffeescript编写的perceprton代码:
neural-network - sigmoid 的感知器卡在局部最小值 (WEKA)
我知道通常使用具有线性输出的感知器(无隐藏层)在误差表面中没有局部最小值。但是,由于它不是线性的,是否有可能使用使用 sigmoid 函数的感知器陷入局部最小值?我在 WEKA 中使用 functions.MultilayerPerceptron(使用 sigmoid 激活函数和反向传播),没有隐藏层。我在具有 4 个不同类别的线性可分数据集上对其进行训练。当我更改随机生成器的种子(用于节点的初始权重)时,大多数情况下它只能正确分类 60%(它没有完全学习目标概念)。但是我发现了一个特定的种子,它分类 90% 正确(这是最佳的)。我已经使用了动力、训练时间和学习率,但这并没有改变任何东西。
我很感谢任何帮助
matlab - 使用感知器学习为两组可分离的点找到线性分类器的方程
我想编写一个 matlab 函数来使用一个单层感知器为 2 个可分离的点集找到一个线性分类器的方程。我有2个文件:
脚本文件 - run.m:
分类感知器.m
问题是我不知道我在哪里犯了导致错误结果的错误。看起来线的斜率是正确的,但是平移应该更大一些。我会非常感谢你指出我正确的方向。我得到的结果如下图所示:
machine-learning - 感知器学习
使用更新规则 w_i=w_i + n(y-\hat{y})x 可以轻松完成学习感知器。
到目前为止我阅读的所有资源都说学习率 n 可以设置为 1 wlg
我的问题如下,鉴于数据是线性可分的,是否有任何证据表明收敛速度始终相同?这不应该也取决于初始 w 向量吗?