gpt4 book ai didi

python - 实现感知器分类器

转载 作者:太空狗 更新时间:2023-10-29 19:32:02 24 4
gpt4 key购买 nike

大家好,我是 Python 和 NLP 的新手。我需要实现一个感知器分类器。我搜索了一些网站,但没有找到足够的信息。现在我有一些文件,我根据类别(体育、娱乐等)进行了分组。我还列出了这些文档中最常用的单词及其频率。在一个特定的网站上有人说我必须有某种接受参数 x 和 w 的决策函数。 x 显然是某种向量(我不知道 w 是什么)。但是我不知道如何使用我所拥有的信息来构建感知器算法以及如何使用它来对我的文档进行分类。你有什么想法吗?谢谢:)

最佳答案

感知器的样子

从外部来看,感知器是一个函数,它接受 n 个参数(即 n 维向量)并产生 m 个输出(即 m 维向量)。

在内部,感知器由神经元层组成,因此一层中的每个神经元都接收来自前一层所有神经元的输入,并使用该输入计算单个输出。第一层由 n 个神经元组成,它接收输入。最后一层由 m 个神经元组成,并在感知器处理完输入后保存输出。

如何根据输入计算输出

从神经元 i 到神经元 j 的每个连接都有一个权重 w(i,j) (稍后我将解释它们的来源)。第二层神经元p总输入是第一层神经元加权输出的总和。所以

total_input(p) = Σ(output(k) * w(k,p))

其中 k 遍历第一层的所有神经元。神经元的激活是通过应用激活函数根据神经元的总输入计算的。常用的激活函数是费米函数,所以

activation(p) = 1/(1-exp(-total_input(p))).

神经元的输出是通过应用输出函数从神经元的激活中计算出来的。一个经常使用的输出函数是恒等式 f(x) = x(实际上一些作者将输出函数视为激活函数的一部分)。我只是假设

output(p) = activation(p)

当计算出第二层所有神经元的输出时,使用该输出计算第三层的输出。迭代直到到达输出层。

权重从何而来

首先,权重是随机选择的。然后你选择一些例子(你从中知道想要的输出)。将每个示例提供给感知器并计算误差,即实际输出与所需输出的距离有多远。使用该错误来更新权重。计算新权重最快的算法之一是 Resilient Propagation .

如何构建感知器

您需要解决的一些问题是

  1. 文档的相关特征是什么?如何将它们编码为 n 维向量?
  2. 应选择哪些示例来调整权重?
  3. 应如何解释输出以对文档进行分类?示例:产生最可能类别的单个输出与为每个类别分配概率的向量。
  4. 需要多少个隐藏层,它们应该有多大?我建议从一个包含 n 个神经元的隐藏层开始。

第一点和第二点对分类器的质量非常关键。感知器可能会正确地对示例进行分类,但在新文档上会失败。您可能需要进行试验。要确定分类器的质量,请选择两组示例;一种用于训练,一种用于验证。不幸的是,由于缺乏实践经验,我无法为您提供更详细的提示来回答这些问题。

关于python - 实现感知器分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4663379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com