百度百科:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
众所周知,R语言的优势是进行统计分析和数据可视化,那要是把它像java、python一样进行编程去实现机器学习算法,会怎么样呢?本文使用R语言来实现Q学习算法,看看它在算法编程方面的可行性和有效性。不了解Q学习算法原理的读者可以看看相关资料。
一、案例介绍与环境参数设置
假设仓库中有两种货物A和B,均可进行零库存管理,库存环境的约束条件为:
当且仅当 时库存达到最优状态。
目的是使用Q学习算法后能够输出任意初始状态到达零库存状态的调整方案。
1.状态的划分
为了将本案例库存环境划分为有限状态,一方面,库存的变化量默认以整数为单位,实现离散化处理;另一方面,两货物实施零库存管理时相互影响。
综合考虑两种货物变化情况,建立二维直角坐标系,横纵坐标分别表示A和B的库存量wA和wB,其中 且均为整数,坐标系中每个点均表示一个状态量,故系统状态可表示为 。系统一共可分为11×11=121个状态,其中最优零库存状态s*=(2,3),如下图所示。
2.动作的设计
环境