在一篇文章强化学习与马尔可夫决策中,介绍了使用马尔可夫决策过程对强化学习的过程进行建模。通过建模可以得出,只要求解最优价值函数,即可得到对应的最优策略。那么如何求解最优价值函数呢?本篇文章将介绍一些最优价值函数的求解算法。
predict和control
首先介绍一下强化学习的两个基本问题,预测和控制。
predict
在已知状态集,动作集,模型状态转化概率矩阵,即时奖励,衰减因子的条件下,给定策略,预测该策略的状态价值函数。这一过程一般称为策略评估。
在一篇文章强化学习与马尔可夫决策中,介绍了使用马尔可夫决策过程对强化学习的过程进行建模。通过建模可以得出,只要求解最优价值函数,即可得到对应的最优策略。那么如何求解最优价值函数呢?本篇文章将介绍一些最优价值函数的求解算法。
首先介绍一下强化学习的两个基本问题,预测和控制。
predict
在已知状态集S,动作集A,模型状态转化概率矩阵P,即时奖励R,衰减因子γ的条件下,给定策略π,预测该策略的状态价值函数v(π)。这一过程一般称为策略评估。
动态代理是Java开发中常用的一种设计模式,相比于静态代理方式,动态代理毫无疑问更加灵活,可以在运行时对目标实例进行代理增加,以此对实例方法进行各种增强。在本篇文章中,笔者将介绍如何使用Java字节码操作库Javassist实现动态代理机制。
Javassist实现动态代理机制的方式有两种,一种是使用Javassist提供的ProxyFactory实现,实现方式与JDK类似。另一种是使用Javassist操作字节码,自主实现动态代理机制。两种方式各有好处,前者比较简单,容易上手,后者比较复杂,但好在足够灵活,甚至可以复用JDK的InvocationHandler。下面笔者将介绍后者的实现思路!
在上一篇文章自己动手实现Spring中,介绍了本人自己实现的一个简单的IOC容器spring-toy。spring-toy的v0.1版本初步实现了IOC容器,但并没有实现AOP 功能。
在v0.2版本中,实现了以下功能:
v0.2版本基本实现了SpringAOP的基本功能,在本篇文章中,将介绍笔者是如何实现的AOP功能。
众说周知,Spring是一个具有强大的依赖注入功能的Java框架。本篇文章将介绍笔者自己动手写的一个轻量级依赖注入框架,实现jsr330并兼容jsr330注解。
完整代码托管在github中,可以点击https://github.com/bdqfork/spring-toy 查看完整项目。
另笔者开发经验不足,欢迎大家指正批评。
译者:bdqfork
作者: Robert Guthrie
深度学习表现为使用更高级的方法将线性函数和非线性函数进行组合。非线性函数的引入使得训练出来的模型更加强大。