任何人都可以帮助我为“宠物”应用程序创建一个简单的机器学习算法

时间:2011-02-04 02:25:54

标签: java algorithm machine-learning genetic-algorithm

我正在为Android创建一个有机体模拟器,所以我想这个算法理想情况下是在Java中。我意识到在youtube上有一个关于机器学习的整个斯坦福课程,但我根本没有时间来讨论整个事情,我认为对于我的目的,解决方案可能非常简单。

有机体将主要通过触摸屏进行交互,或者即使它通过麦克风或加速度计进行交互,算法中的输入也将主要用于不同肢体的坐标位置。我认为对随机行为采用“责骂”或“奖励”机制是不够的,所以我想避免这种情况。因此,跟踪运动中的一般方向或模式,并且当它们具有足够高的频率时能够重复它们将是目标。

说实话,我不确定这有多难实现,但我希望听到任何反馈,知道在实施之前我还需要研究多少。

编辑:这是遗传算法吗?问题是我不知道如何衡量成功或不成功的进化。

编辑2:好的,我会尽量添加尽可能多的细节。该应用程序目前仍处于概念阶段,但我只想知道该算法的难度。所以我在Processing中构建它,它实际上只是Java。生物体由四肢组成,它们之间具有固定的距离,但允许其独立于中心部分移动。四肢自由活动,周期性地找到随机点以便于。该生物体的中心附属物也具有x和y坐标,并且每个外肢将相对于其移动。用户可以通过在触摸屏上用拖动物手动移动附肢或中心件来与生物体交互。当有机体与之交互时,将使用算法,因为从随机数中学习是没有意义的。所以我想这个算法会考虑中心部分的x和y坐标,每个附属物都有自己的算法版本,可以独立于其他算法学习。例如,如果用户不断地将有机体拖到触摸屏的右侧,则当它没有与之交互时可能更吸引该位置。我希望澄清一点。

2 个答案:

答案 0 :(得分:2)

我认为,对于您的情况,您应该尝试坐下来写下您可以观察到的变量以及您想要预测的变量

  • 可观察变量:附肢的位置,特定人与之交互的次数,持续时间,......
  • 您想要预测的变量:下次与哪个附属物进行互动,......

获得输入变量和输出变量后,您可以尝试浏览标准机器学习算法列表。有Weka(Java),Rapidminer,KNIME ......它们都是库和独立工具。尝试将问题抛在可用的工具上,看看你是否做得比偶然。

如果是,请调整其参数。如果你的表现不是很好,你应该问问你的数据挖掘/机器学习的朋友。他们会最清楚知道什么对您的问题有用。

可能影响您选择算法的其他因素:

  • 有隐藏的状态吗?
  • 变量是否独立?

答案 1 :(得分:1)

我看到它的方式,你需要做的就是有一个数组,例如,附肢坐标,然后将它们平均并让它移向屏幕上的那个点