问题标签 [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 - 是否存在使用 Perceptron 算法的情况,我不想在每次迭代之前置换数据?
我的机器学习教科书问了这个问题,讨论感知器算法,实在想不出满意的答案。
有哪些案例?
machine-learning - 理解用于 POS 标记的结构化感知器
我在理解应该如何为词性标记实现结构化感知器时遇到了一些麻烦。您能否确认或更正我的想法,和/或填补任何缺失的空白?
因此,基本上结构化感知器是多类感知器的变体,除了您如何实现收集最佳分数。做出一阶马尔可夫假设,表示当前序列索引只依赖于前一个索引。输入是整个单词序列,而不是像在非结构化情况下那样只有一个单词,以及所有可能标签 (y) 的向量。函数 f(x,y) 返回给定单词序列的猜测标签序列。
在多类感知器中,通过迭代很容易获得最佳分数,因为我们只处理将一个标签分类到一个实例。对整个序列进行分类的问题在于它会导致可能的标记数量呈指数增长。这就是需要维特比算法的地方,它使用两个特征集递归地找到最佳路径;一个用于确定给定词性标签与某个词的可能性有多大,另一个用于确定某个词性标签直接出现在另一个词性标签之后的可能性。这些特征集中的分数乘以每个状态的唯一权重。如果选择的路径是错误的,则惩罚错误路径状态中的每个权重,并奖励正确路径中的权重。
这是关于我(希望)了解的程度。我现在最大的问题是特征是如何构造的(之前的标签序列是特征的一部分吗?),以及如何实际实现维特比算法。此外,在我可以分析的任何地方(最好是在 Java 中)是否有使用结构化感知器的 POS 标记器的实现?
如果您能给我一些提示,我将不胜感激!
artificial-intelligence - 阈值感知器可以表示多少个不同的布尔函数?
它指出有 n 个输入的 2^2^n 个不同的布尔函数。问题是,其中有多少可以由阈值感知器表示?
答案不就是全部吗?我这样说是因为感知器与硬阈值相同,其中 z = mx1 + c - x2 并且如果 z>=0 则阈值(z) = 1,如果 z<0 则阈值(z) = 0。
backpropagation - 具有快捷连接的神经网络中的反向传播算法
我目前正在 F# 中实现一个多层感知器,我将实现标准的反向传播算法,但我想知道如何修改该算法以处理快捷连接。对于快捷连接,我指的是跳过层的连接,例如,将输入层直接连接到输出层的连接。
谢谢!
machine-learning - 感知器训练 - delta 规则
根据wikipedia,使用 delta 规则,我们通过以下方式调整权重:
dw = alpha * (ti-yi)*g'(hj)xi
当 alpha = 学习常数时,ti - 真实答案,yi - 感知器的猜测,g' = 激活函数 g 相对于感知器输入的加权和的导数,xi - 输入。
在这个公式中我不明白的部分是乘以导数 g'。让 g = sign(x)(加权和的符号)。所以 g' 总是 0,并且 dw = 0。但是,在我在互联网上看到的代码示例中,作者只是省略了 g' 并使用了公式:
dw = alpha * (ti-yi)*(hj)xi
我会很高兴阅读正确的解释!
先感谢您。
machine-learning - 多层感知器 - 找到“分离”曲线
使用单层感知器很容易找到“分离线”的方程(我不知道专业术语),根据感知器的权重,在训练后将两种类型的点分开的线。在多层感知器中,如何以类似的方式找到在两种类型的点之间分离的曲线方程(不是直线)?
谢谢。
machine-learning - 多层感知器的激活函数
我试图用这个xor
函数训练简单的反向传播神经网络。当我使用tanh(x)
导数作为激活函数时,1-tanh(x)^2
大约 1000 次迭代后我得到了正确的结果。但是,当我使用g(x) = 1/(1+e^(-x))
导数作为激活函数时g(x)*(1-g(x))
,我需要大约 50000 次迭代才能获得正确的结果。可能是什么原因?
谢谢你。
algorithm - 为词性标注创建特征函数
我正在尝试使用感知器来执行监督分类,从而执行句子的 POS 标记。我现在假设每个单词的标签是相互独立的。(即我只是将这个词用作一个特征)。我对机器学习算法相当陌生,所以我无法弄清楚如何表示每个单词的特征函数。
我有一个包含 100 个句子的训练集,其中每个单词都有一个特定的标签(比如 N、V、J(形容词)等等)。例如,
杰克(N)和(&)吉尔(N)去(V)去(PRP)秘鲁(N)
标签在大括号中的位置。假设我总共有 10 个可能的标签。现在我的问题是杰克这个词的特征向量是什么样的?
我对将它实现为向量非常感兴趣,因为我的代码将更好地匹配符号。一旦我弄清楚特征函数的样子,我将能够实现感知器算法!
另外,假设我想添加诸如(a)首字母大写之类的功能?(b) 单词是否带有连字符等,如何将其合并到我的特征向量中?
直觉上我可以看到向量只需要二进制值,但我无法继续。
如果可能的话,请尝试用具体的例子来解释!
python - python - 多层感知器,反向传播,无法学习 XOR
我正在尝试使用反向传播实现多层感知器,但我仍然无法教他 XOR,我也会经常遇到数学范围错误。我在书籍和谷歌中查找学习规则和错误反向传播方法,但我仍然不知道我的错误在哪里
python - Python中的简单感知器
我正在编写一个没有阈值的 Python 中非常简单的感知器,并且我正在使用 sigmoid 函数,但我需要一个明确的指导方针来遵循,我对如何构造输出感到困惑。
我没有在 python 中测试代码,但这只是我从讲座中学到的头脑风暴。但我不确定何时使用 sigmoid_derative?我了解激活功能将包含 2 个部分:
- 加法器:
newInput= w1x1 + w2x2 + w3x3
sigmoid = 1.0/(1.0 + exp(- newInput)
然后我们将使用误差函数来了解权重是否准确。