问题标签 [supervised-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.
machine-learning - 使用朴素贝叶斯预测分类并处理不在训练集中的特征/词
使用朴素贝叶斯算法考虑垃圾邮件或非垃圾邮件的文本分类问题。
问题如下:
如果在该组词中你看到一个新词 wordX 是你的模型根本没有看到的(所以你甚至没有估计它的拉普拉斯平滑概率),你如何对文档进行预测?
通常要做的事情就是忽略那个 wordX,即使它在当前文本中被看到,因为它没有相关的概率?即我知道有时使用拉普拉斯平滑来尝试解决这个问题,但如果这个词绝对是新词怎么办?
我想到的一些解决方案:
1)在估计分类时忽略那些词(最简单,但有时是错误的......?但是,如果训练集足够大,这可能是最好的做法,因为我认为假设你的特征是合理的如果您有 1M 或 20M 数据,则选择的东西足够好)。
2)将该词添加到您的模型中并完全更改您的模型,因为词汇表发生了变化,所以概率必须随处变化(这确实有问题,因为这可能意味着您必须经常更新模型,特别是如果您的分析 1M 文档, 说)
我对此进行了一些研究,阅读了 Dan Jurafsky NLP 和 NB 的一些幻灯片,观看了 coursera 上的一些视频,并浏览了一些研究论文,但我找不到我认为有用的东西。我觉得这个问题一点也不新鲜,应该有一些东西(启发式..?)。如果没有,那也太棒了!
希望这是对社区有用的帖子,并提前致谢。
PS:为了让问题更明确一点,我见过的一个解决方案是,假设我们在垃圾邮件中看到一个未知的新词 wordX,然后对于那个词,我们可以做 1/ count(spams) + |Vocabulary + 1|,我在做类似的事情时遇到的问题是,这是否意味着我们改变了词汇的大小,现在,我们分类的每个新文档都有一个新的特征和词汇?该视频似乎试图解决该问题,但我不确定这是否是一件好事,或者 2,也许我误解了它:
machine-learning - 我应该如何使用类不成比例的数据来教授机器学习算法?(支持向量机)
我正在尝试使用看到横幅的人的点击和转换数据来教授我的 SVM 算法。主要问题是点击量约占所有数据的 0.2%,因此其中存在很大的不均衡性。当我在测试阶段使用简单的 SVM 时,它总是只预测“查看”类,而不是“点击”或“转换”。平均而言,它给出了 99.8% 的正确答案(因为不成比例),但如果您检查“点击”或“转化”答案,它给出的正确预测为 0%。您如何调整 SVM 算法(或选择另一种算法)以考虑不成比例?
python - 监督机器学习:根据形状和密度对数据集群类型进行分类(Python)
我有多组数据,在每组数据中都有一个有点香蕉形的区域和两个密集的斑点区域。我已经能够使用 DBSCAN 算法将这些区域与其余数据区分开来,但我想使用监督算法让程序知道哪个簇是香蕉,哪两个簇是密集的斑点,我不知道从哪里开始。
由于有 3 个类别(香蕉、斑点,两者都不是),做两个单独的逻辑回归是否是最好的方法(评估它是香蕉还是非香蕉,以及它是 Blob 还是非 Blob)?还是有一种将所有 3 个类别合并到一个神经网络中的好方法?
这是三个数据集。在每一个中,香蕉都是红色的。第一个,两个斑点是绿色和蓝色,第二个斑点是青色和绿色,第三个斑点是蓝色和绿色。我希望程序能够(现在已经区分了不同的区域,然后标记香蕉和 blob 区域,这样我就不必每次运行代码时都手动选择它们。
web-crawler - 机器学习示例 - 确定网站是企业网站还是个人网站
我有一个机器学习问题。我得到了一长串域名,我必须弄清楚哪些是电子商务网站,哪些是个人网站。这是一个难题,因为我没有任何训练数据可供使用。我想出了几个想法:
手动浏览数百个这样的网站,以判断它们是商业网站还是个人网站,并以这种方式开发训练集(又长又无聊!)。
爬取这些网站并搜索一些关键字,例如。“立即购买”、“价格”、“信用卡”。等等
有人有其他方法吗?
谢谢
machine-learning - 堆叠分级和投票算法有什么区别?
我正在为可能具有多个可能分类器的问题编写机器学习解决方案,具体取决于数据。所以我收集了几个分类器,每个分类器在某些条件下都比其他分类器表现更好。我正在研究元分类策略,我看到有几种算法。谁能指出它们之间的根本区别?
neural-network - 神经网络的两个输出和一个目标
对具有 2 个可能的未知输出的神经网络进行监督训练,其中已知参数 (y,x) 和未知参数 (a,b) 之间存在诸如 y=ax^b 之类的关系。这里 (a,b) 是网络的输出!!!
machine-learning - 使用梯度下降优化方法时如何从新数据中学习?
考虑最终使用梯度下降优化方法的任何情况。假设您已经成功创建了一个适合您的训练集并且运行良好的假设。一段时间后,你的算法会收到越来越多的新数据,它必须从中学习。
问题:1)这个算法可以继续被认为是有监督的吗?
2)如果是这样,有没有办法从新数据中学习而无需再次遍历所有(新+旧)数据?
vector - 使用 SVC 偏差结果可以在特征向量中获得非常大(或非常小)的值吗?[scikit-学习]
我试图更好地理解我的特征向量的值如何影响结果。例如,假设我有以下向量,其最终值为结果(例如,这是使用 SVC 的分类问题):
您会注意到大多数值都以 0 为中心,但是,有一个值小几个数量级,即 -200。
我担心这个值会扭曲预测并且被不公平地加权比其他值更重,仅仅是因为这个值有很大的不同。
这是创建特征向量时需要关注的问题吗?或者我使用的统计测试是否会根据我提供的训练集来评估这个大(或小)值的矢量控制?sci-kit learn 中是否有可用的方法专门用于规范化向量?
谢谢您的帮助!
machine-learning - 标准差减少的回归树
我有一个包含 1k 条记录的数据集,我的工作是根据这些记录进行决策算法。以下是我可以分享的:
目标是一个连续值。
有些预测变量(或属性)是连续值,有些是离散的,有些是离散值的数组(可以有多个选项)
我最初的想法是分离离散值的数组并使它们成为单独的特征(预测变量)。对于预测变量中的连续值,我正在考虑随机选择一些决策边界,看看哪一个最能减少熵。然后制作决策树(或随机森林),在创建树时使用标准偏差减少。
我的问题是:我走在正确的道路上吗?有没有更好的方法来做到这一点?