编辑:我正在将其移至cstheory.stackexchange.com
我想对输入的整数序列做出二元决策。对于序列输出中的给定n是否为素数。不要使用AKS,不要使用米勒拉宾,不要使用试验分区,甚至不要硬编码,因为最后一位必须是1,3,7,9并且它必须与1或5一致模数6.
仅使用机器学习。
我不确定,但我评估“普遍共识”是/机器学习技术(神经网络,SVM,二元分类器,聚类,贝叶斯推理等)将无法处理这个问题问题
人们的想法是什么?
好的,其次,如果我们有一些带有一些有用信息的整数的向量表示,(未知),对于机器学习能否将n分类为素数或复合的任何主要的原则反对,我们可以“选择正确的功能”可以这么说吗?
让我们忽略一个简单的例子,其中向量包含n的分解。
答案 0 :(得分:4)
机器学习不是一切的答案。顾名思义,机器学习是从数据中学习的。问题是,要学习一些东西,我们需要一个数据模式,我们可以教算法学习。
根据定义:素数是一个大于1的自然数,除了1和它本身之外没有正除数。
这里的基本困难是素数序列
2,3,5,7,11,13,17,19,23,.... 。
表现为“不可预测”或“随机”,我们没有第n个素数的(有用)精确公式!
即使您尝试训练算法,您也会得到一些近似解决方案的东西。 您无法选择足以预测解决方案的功能。
让我们说,艰难的方法是用这些功能训练你的模型:
你最终得到的所有素数都以1,3,7或9结尾,但不是全部都是素数。
因此,当我们需要精确的解决方案以及已经有一种精确的计算方法时,无需找到能够逼近某事的算法。