背景
我目前正在准备一篇论文,其中我将讨论预测用户在给定时间最有可能打开的应用程序的能力。
应用程序将收集信息并学习根据学习到的模式来预测最有可能运行的应用程序。
建议的方法
我正在为机器上运行的任何给定程序收集以下功能:
- 一天中的时间(预测程序是否正在运行)
- 星期几(了解何时使用)
- 最近打开的程序(查看程序之间的连接)
- CPU 负载(阅读下文)
- GPU 负载(阅读下文)
- 内存使用(将程序连接到大量使用)
- 屏幕使用(查看程序是否与活动屏幕连接)
- 最后一次鼠标移动(查看程序在运行时是否被主动使用)
- 上次键盘使用情况(同上)
- App running(应用程序是否正在运行)
提到的特征应该允许存在一些季节性,因此应该产生一些有趣的结果。
收集数据后,将使用标准化输入和每个应用程序作为代表程序运行可能性的单独输出来训练 ANN。(0-1)
问题
所提出的方法是否足以完成这样的任务?我读过关于使用贝叶斯分类器的文章,但它似乎不是我所追求的。
我还读到过这是一项“时间序列”任务——我无法完全理解这一点,但我认为我正在通过建议的方法加以利用。这是一个时间序列吗?有必要这样对待吗?
每个应用程序应该作为单独的输出出现,还是应该将当前应用程序作为输入提供,输出显示给定应用程序正在运行的可能性?