我想要建立的软件,以帮助人们的个人财务。我想要讨论的一个领域是试图根据过去的交易来预测未来的交易。例如,你可能会看到电费在一个月的某一天支付。然后,该算法将能够在预测中创建未来的预测事务,该预测将显示当天正在支付的账单。对于所有的账单,它都能做到这一点,并且能够在此基础上做出现金流预测。
所谓现金流,我指的是根据过去的模式,未来可能发生的交易的清单。因此,就像我的例子一样,任何用特定模式支付的账单都会继续遵循这种模式。
我认为机器学习(ML)是正确的工具。我在这个领域做了很多学习,但还没有看到一些似乎适合这种问题的东西。对于应用什么算法,有什么想法吗?我只是在寻找一些正确的方向,看看哪些ML算法是最好的研究方向。
我将后退一步,尝试给出更多的上下文来解释这个问题。因此,今天,如果你想得到任何一种预测工具的好处,你的个人财务,你通常是手动输入,然后保持一个清单的账单。我想消除这一需要。如果你查看一个支票账户,你可能会清楚地看到,即使你不熟悉这个账户,某些账单也会按一定的时间表支付。因此,模式识别认为,人类目前在更简单的情况下可以很容易地完成任务。对我来说听起来很经典。所以我想试着应用这个方法。由此产生的最终预期结果是预测的现金流,显示如果当前趋势继续下去,未来的支票账户可能会是什么样子。
请注意,完全不使用ML的情绪是很好理解的。我不同意,我在寻求ML方面的帮助。关于ML性质的一般讲座和其他关于简单平均数的建议根本没有解决这个问题。
发布于 2016-09-06 19:14:56
机器学习背后的首要原则是,它使用由输入和历史输出组成的数据集,更新其内部状态,并且在给定一组新的新输入时,可以猜测属于历史数据所演示的历史模式的输出。为了让机器确定输出是否有效,它需要反馈--例如,在历史输入上运行机器,并查看它是否能够计算历史输出。
如果计算出的输出与实际输出不同,则称为成本函数.然后,机器将更新其内部状态变量(通常是某种权重或偏差),以便通过反复接触更多的数据,将成本降到最低。
在一个典型的实验设计中,用于学习的输入和输出来自与测试有效性的输入和输出不同的数据集。例如,如果您将机器暴露于John的输入和输出,看看它是否能够学习到足够的知识来计算Bob的输出(如果给定Bob的输入)。所以你需要大量的数据!
问问自己,输入和输出是什么,你到底希望你的“机器”能计算什么。
例如
投入:一系列的金融交易,在一定时期内进行。数组中的每个项都由以下属性组成:日期、数量和类型。
产出:利息期现金流量总额。
上面的内容可以通过简单的数学来实现,例如,将所有输入的数量字段相加--结果就是输出。
就是这样。
现在,如果您坚持要对此进行过度考虑,我想您可能会花费很大的精力来训练一个神经网络,使其能够计算出正确的梯度值,从而能够执行加法,而不必明确告诉它它必须进行加法(这可不是件小事!)或者,您可以简单地对机器进行编码以执行加法,因为您知道必须这样做。在这种情况下,你根本不需要机器学习。
我猜你想要解决的问题不需要机器学习,你需要的是一个静态的模型,你自己来设计,而不是机器。
简单的移动平均线可能有效。如果你想变得有点疯狂,你可以把你的数据安排在一个一般线性模型中,它可以很好地预测值,假设整体机制不是非线性的。到目前为止,在你的问题中,你还没有证明需要任何比这更复杂的东西。
https://softwareengineering.stackexchange.com/questions/330184
复制相似问题