rbc*_*089 9 python nlp artificial-intelligence machine-learning perceptron
嗨,我对Python和NLP都很陌生.我需要实现一个感知器分类器.我搜索了一些网站,但没有找到足够的信息.现在我有很多文件,我根据类别(体育,娱乐等)分组.我还列出了这些文档中最常用的单词及其频率.在一个特定的网站上有人说我必须有一些接受x和w参数的决策函数.x显然是某种向量(我不知道w是什么).但我不知道如何使用我所拥有的信息来构建感知器算法以及如何使用它来对我的文档进行分类.你有什么想法吗?谢谢 :)
Osw*_*ald 16
从外部看,感知器是一个接受n参数(即一n维向量)并产生m输出(即一m维向量)的函数.
在内部,感知器由神经元层组成,使得层中的每个神经元接收来自前一层的所有神经元的输入并使用该输入来计算单个输出.第一层由n神经元组成,它接收输入.最后一层由m神经元组成,并在感知器处理完输入后保持输出.
从神经元i到神经元的每个连接j都有一个重量 w(i,j)(我稍后会解释它们来自哪里).的total input神经元的p所述第二层的神经元的从所述第一层的加权输出之和.所以
total_input(p) = ?(output(k) * w(k,p))
Run Code Online (Sandbox Code Playgroud)
在k第一层的所有神经元上运行.的激活神经元是从神经元的总输入通过施加计算的激活功能.常用的激活函数是费米函数,所以
activation(p) = 1/(1-exp(-total_input(p))).
Run Code Online (Sandbox Code Playgroud)
神经元的输出是通过应用a来激活神经元计算出来的output function.常用的输出函数是标识f(x) = x(事实上,有些作者将输出函数视为激活函数的一部分).我会假设的
output(p) = activation(p)
Run Code Online (Sandbox Code Playgroud)
当计算出第二层的所有神经元的输出时,使用该输出来计算第三层的输出.迭代直到到达输出层.
首先,权重是随机选择的.然后选择一些示例(从中您可以知道所需的输出).将每个示例馈送到感知器并计算误差,即与期望输出的距离与实际输出的距离.使用该错误更新权重.计算新权重的最快算法之一是Resilient Propagation.
您需要解决的一些问题是
n矢量?n神经元的隐藏层开始.第一点和第二点对分类器的质量非常关键.感知器可能正确地对示例进行分类但在新文档上失败.您可能需要进行实验.要确定分类器的质量,请选择两组示例; 一个用于培训,一个用于验证.不幸的是,由于缺乏实践经验,我无法给出更详细的提示来回答这些问题.
我认为当你不熟悉神经网络试图解决NLP问题可能是一个太过分的步骤.你用一种新语言做这件事是你最不担心的事情.
我会链接到我在大学教授的神经计算模块幻灯片.你需要在第2周的会话1和会话2的幻灯片.在页面底部是一个如何在C中实现神经网络的链接.通过一些修改应该能够将它移植到python.您应该注意它详细说明了如何实现多层感知器.您只需要实现单层感知器,因此请忽略任何与隐藏层相关的内容.
快速解释x和w.x和w都是向量.x是输入向量.x包含您关注的每个单词的标准化频率.w包含您关注的每个单词的权重.感知器的工作原理是将每个字的输入频率乘以其各自的权重并将它们相加.它将结果传递给一个函数(通常是一个sigmoid函数),该函数将结果转换为0到1之间的值.1表示感知器是肯定的,输入是它所代表的类的实例,0表示它确定输入真的不是它的类的一个例子.
使用NLP,您通常会先了解一揽子单词模型,然后再转到其他更复杂的模型.有了神经网络,希望它会学习自己的模型.这个问题是神经网络不会让你对NLP有太多了解,除了文件可以按照它们包含的单词进行分类,并且通常文档中单词的数量和类型包含大部分信息你需要对文档进行分类 - 上下文和语法不会增加太多额外的细节.
无论如何,我希望这能为你的项目提供一个更好的起点.如果你仍然困在一个特定的部分,那么再问一次,我会尽我所能来帮忙.
你应该看一下Frabizio Sebastiani关于文本分类的调查报告.它告诉您进行文本分类的所有最佳方法.
现在,我不打扰你阅读整篇文章,但最后有一张桌子,在那里他比较了很多不同人的技术如何叠加在许多不同的测试语料库上.找到它,选择最好的一个(最好的感知器,如果你的任务是专门学习如何用感知器做这个),并阅读他引用的那篇详细描述该方法的论文.
您现在知道如何构建一个好的主题文本分类器.
将Oswald给你的算法(以及你在其他问题中发布的算法)转换为代码是Small Matter of Programming(TM).如果您在工作期间遇到TF-IDF等不熟悉的术语,请让您的老师通过解释这些术语来帮助您.
| 归档时间: |
|
| 查看次数: |
7047 次 |
| 最近记录: |