问题标签 [machine-learning]
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.
sql - sql中的朴素贝叶斯计算
我想使用朴素贝叶斯将文档分类为数量相对较多的类。我希望根据该文章是否与已正确验证该实体的文章相似,来确认文章中提及的实体名称是否真的是该实体。
比如说,我们在一篇文章中找到了“通用汽车”这一文本。我们有一组数据,其中包含文章和其中提到的正确实体。因此,如果我们发现新文章中提到的“通用汽车”,它是否应该属于先前数据中包含已知正品的那类文章提及“通用汽车”与未提及该实体的文章类别?
(我不是为每个实体创建一个类,并试图将每篇新文章分类到每个可能的类中。我已经有一种启发式方法来查找实体名称的合理提及,我只想验证有限数量的合理性该方法已经检测到的每篇文章的实体名称提及。)
鉴于潜在的课程和文章的数量非常大,而且朴素贝叶斯相对简单,我想在 sql 中完成整个事情,但是我在评分查询方面遇到了麻烦......
这是我到目前为止所拥有的:
标记数据中的每篇文章都被拆分为不同的单词,并且对于每个实体的每篇文章,每个单词都被添加到each_entity_word
和/或其word_count
递增和doc_count
递增 in entity_word_sum
,两者都相对于 an entity_id
。对于该文章中提到的每个已知实体都重复此操作。
对于每篇文章,无论每个单词中包含的实体如何,total_entity_word
total_entity_word_sum
都类似地递增。
- P(word|any document) 应该等于该
单词
的
word_count
intotal_entity_word
doc_count
total_entity_sum
- P(word|document 提到实体x ) 应该等于
word_count
ineach_entity_word
对于entity_id
x超过doc_count
ineach_entity_sum
对于entity_id
x - P(word|document没有提到实体x ) 应该等于 (
word_count
intotal_entity_word
减去它的word_count
ineach_entity_word
代表那个实体的那个词) 超过 (thedoc_count
intotal_entity_sum
减去doc_count
那个实体 ineach_entity_sum
) - P(文档提及实体x)应该等于
doc_count
该each_entity_sum
实体 id 超过doc_count
intotal_entity_word
- P(文档未提及实体x)应等于 1 减(
doc_count
ineach_entity_sum
代表x的实体 id overdoc_count
intotal_entity_word
)。
对于进来的新文章,将其拆分为单词,然后选择 where word in ('I', 'want', 'to', 'use'...) 反对each_entity_word
or total_entity_word
。在我使用的数据库平台(mysql)中,IN 子句得到了相对较好的优化。
sql 中也没有 product() 聚合函数,所以当然你可以只做 sum(log(x)) 或 exp(sum(log(x))) 来获得 product(x) 的等价物。
因此,如果我收到一篇新文章,将其拆分为不同的单词并将这些单词放入一个大的 IN() 子句和一个潜在的实体 id 进行测试,我怎样才能获得文章落入该实体的朴素贝叶斯概率id在sql中的类?
编辑:
尝试#1:
algorithm - 对产品列表进行分类的算法?拿 2
几周前我问了一个类似的问题,但我没有正确地问这个问题。所以我在这里用更多细节重新提出这个问题,我想得到一个更面向人工智能的答案。
我有一个列表,代表或多或少相同的产品。例如,在下面的列表中,它们都是希捷硬盘。
- 希捷硬盘 500Go
- 适用于笔记本电脑的希捷硬盘 120Go
- 希捷 Barracuda 7200.12 ST3500418AS 500GB 7200 RPM SATA 3.0Gb/s 硬盘
- 希捷全新闪亮 500Go 硬盘
- 希捷梭子鱼 7200.12
- 希捷 FreeAgent Desk 500GB 外置硬盘 银色 7200RPM USB2.0 零售
- GE Spacemaker Laudry
- 马自达3 2010
- 马自达3 2009 2.3L
对于人类来说,硬盘3和5是一样的。我们可以更进一步,假设产品 1、3、4 和 5 相同,并将产品 2 和 6 放在其他类别中。
在我之前的问题中,有人建议我使用特征提取。当我们有一个预定义描述的小数据集(所有硬盘驱动器)时,它工作得很好,但是所有其他类型的描述呢?我不想开始为我的应用程序可能面临的所有描述编写基于正则表达式的特征提取器,它无法扩展。是否有任何机器学习算法可以帮助我实现这一目标?我能得到的描述范围很广,在第一行,可能是冰箱,然后在下一行,是硬盘。我应该尝试走神经网络路径吗?我的输入应该是什么?
感谢您的帮助!
tdd - TDD 和贝叶斯垃圾邮件过滤器问题
众所周知,贝叶斯分类器是过滤垃圾邮件的有效方法。这些可以相当简洁(我们的只有几百个 LoC),但是在获得任何结果之前,所有核心代码都需要预先编写。
但是,TDD 方法要求只能编写通过测试的最少代码量,因此给出以下方法签名:
下面的文本字符串,显然是垃圾邮件:
我能写的最少代码是:
现在也许我添加另一个测试消息,例如
我可以将代码更改为:
...等等等等。直到某个时候,代码变成了一堆字符串检查、正则表达式等,因为我们已经进化了它,而不是从一开始就考虑它并以不同的方式编写它。
那么,TDD 应该如何处理这种从最简单的代码演变为通过测试的代码不是正确的方法的情况呢?(特别是如果事先知道最好的实现不能简单地进化)。
machine-learning - 用于电子邮件垃圾邮件检测的神经网络
假设您可以访问一个电子邮件帐户,该帐户将过去几年收到的电子邮件(约 10k 封电子邮件)的历史分为 2 组
- 真正的电子邮件
- 垃圾邮件
您将如何处理创建可用于垃圾邮件检测的神经网络解决方案的任务 - 基本上将任何电子邮件分类为垃圾邮件或非垃圾邮件?
让我们假设电子邮件提取已经到位,我们只需要关注分类部分。
我希望得到回答的要点是:
- 选择哪些参数作为 NN 的输入,为什么?
- NN 的哪种结构最有可能最适合此类任务?
此外,任何资源建议或现有实现(最好在 C# 中)都非常受欢迎
谢谢
编辑
- 我开始使用神经网络作为项目的主要方面是测试 NN 方法如何用于垃圾邮件检测
- 仅仅探索神经网络和垃圾邮件的主题也是一个“玩具问题”
web-services - 检索给定 URL 的最流行的 GET 参数变体列表?
我正在围绕链接传播构建智能,因为我需要处理许多需要从确切 URL 地址进行反向查找的短 URL 服务,所以我需要能够解析同一 URL 的多个近似版本。
一个例子是像http://www.example.com?ref=affil&hl=en&ct=0这样的 URL
当然,在某些情况下更改 GET 参数可能会引用完全不同的页面,尤其是当相关的 GET 参数引用配置文件或内容 ID 时。
但是对页面的快速解析将很快确定这些页面彼此之间的相似程度。使用一点机器学习,可以很快清楚哪些 GET 参数不会影响给定站点返回的页面内容。
我假设只有谷歌或雅虎(或 Twitter)等公司才能提供发送 URL 并获取非常相似 URL 列表的服务,但它们似乎不提供此功能,我也没有找到任何其他服务。
如果您知道任何以上述方式将几乎相同的 URL 组聚集在一起的服务,请告诉我。
我的赏金是一个拥抱。
c++ - 用于聚类的 C/C++ 机器学习库
有哪些支持多维数据聚类的 C/c++ 机器学习库?(例如 K 均值)
到目前为止,我遇到了
- SGI MLC++ http://www.sgi.com/tech/mlc/
- OpenCV MLL
我很想自己动手,但我敢肯定,预先存在的优化性能要好得多,并且更多地关注代码。
machine-learning - 音乐分析软件
问候
我可能已经想到了这一点,但有人知道 Last.fm 以前是否使用过某种形式的开源项目来对音乐进行分析以确定相似的音乐。
随着它现在转移到付费版本,我想做一些可以将已知音乐添加到我的播放列表的东西。(我讨厌手动扫描我的电脑寻找类似的音乐)
做不到这一点 - 有没有人知道我可以用来代替它的任何系统?理想情况下,我想要某种形式的 API / 源代码,可用于将整个过程自动化成批处理作业。
谢谢,
[编辑] 理想情况下,我正在寻找更多内容匹配的内容。我是那种把我所有的音乐都扔到一个杂乱无章的地方的人。然后是懒惰的我希望生成一个播放列表,给我一个类似的音乐类型的播放列表。
Last.fm 使用http://www.audioscrobbler.net/ - 它还通过 API 提供对其数据库的访问。
[/编辑]
c++ - 需要神经网络 XOR 反向传播信息
有谁知道我在哪里可以找到一些关于 NN 反向传播的示例代码XOR
,我也可以在系统训练后对其进行测试?
最好在 C++ 或 MATLAB 中。
database - 监控摄像头位置数据库
为了更多地了解 django 编程,我计划创建一个 google maps mashup,它可以找到从 A 到 B 的路线,但会避开穿过公共监控摄像头视角的街道/路口。因此,我将创建一个数据库(可能基于 Postgres,因为它的 GIS 功能)包含
- 监控类型(监控摄像头、测速摄像头、路费摄像头等)
- 地理位置
- 超时(主要用于测速相机)
然后,这些数据当然可以由用户自由编辑。但是,首先,我需要一些数据才能开始运行。是否有任何此类公开可用的数据库包含(可能是近似的)监控摄像机的地理位置?
artificial-intelligence - 从街景图像中提取监控摄像头位置
与我之前的问题相关,是否有一些现实的机会通过计算机视觉算法从谷歌街景图片中提取监控摄像头位置?我不是这方面的专家。但它应该比人脸检测等更容易。