python - 使用强化学习的数学测验应用程序
问题描述
我想使用强化学习开发一个数学测验程序。假设我们手头有 1000 个问题,每个测验要问 25 个问题。程序不是随机提问,而是必须从用户回答的方式中学习并提出下一个问题。
测验程序应该是一个强化学习代理。如何设计解决方案以及要使用哪些强化学习技术?示例: BoT:什么是 5+ 1:用户:3(错误答案) Bot:问简单的问题,或者如果正确答案问了一个困难的问题。
解决方案
PPO 是 edTech 空间中此类 RL 应用的一种非常常见的技术。你可以从这篇文章中得到很多启发。他们使用 RLgraph 包和 PPO 算法。
您首先必须定义您的目标/奖励函数。在您的情况下,我会将奖励函数定义为与正确回答的先前问题的百分比有关。如果此百分比为 0% 或 100%,则奖励很低(太难/太容易)。如果接近 50%,您可能会选择高奖励。
这样,算法将转向正确率达到 50% 的问题(中等难度)。您可以使用范围(最后 2 个 q 或最后 10 个 q)。
作为状态空间,您还可以包括正确回答的问题,也许是年龄等特征,以帮助在用户尚未使用太多时启动算法。
作为行动空间,您可以提出所有问题。您还可以根据您的直觉对问题进行聚类(例如困难/容易,或几何/代数)并进行聚类动作,以减少动作空间。
推荐阅读
- php - Docker PHP-Apache 间歇性错误
- matlab - 可以自动枚举数字或在matlab中保留令牌吗?
- python - 将一个列标题复制到 Pandas 中的另一个列标题
- python - ValueError:层顺序的输入 0 与层不兼容(神经网络)
- amazon-web-services - 我如何使用 Aws amplify 和 s3 存储私下存储项目,但允许管理员访问所有文件
- python - 如何根据满足特定条件的列过滤多索引数据框?
- python - 用于 POST 的 Django API 框架不起作用?
- java - System.out.println("帮助" + 帮助);
- plasticscm - 复制 Plastic Cloud Repo
- flutter - 如何为 google_maps_flutter 设置缩放级别