强化学习
1.概述
强化学习可以理解为逐渐得到最好结果的一个过程,类似与半监督学习,整个过程是在不断的逼近结果。强化学习是状态与动作直接的映射。目标是最大化奖赏的数值。
一个简单的例子是迷宫问题,动作就是选择下一步去哪儿,状态就是离重点的距离,如果这个点不能达到距离这个值就是-1
2.奖赏的折扣
对于未来的奖赏,对现在的影响会随着离当前时间的距离愈来越大。
Rt = rt + pow(c,1)*rt+1 + …… + pow(c,k)*rt+k
动作的选择:
(1).贪婪法:选择有最高奖赏的那个动作,所以总是选择利用你当前的知识。
(2).epsilon-greedy:与贪婪算法相似,但是有很小的几率选择别的随机的动作。
while inEpisode: r = R[s,a] sprime = a if np.random().rand()<epsilon: indices = np.where(t[sprime,:]!=0) pick = np.random().randint(np.shape(indices)[1]) aprime = indices[0][pick] else: aprime = np.argmax(Q[sprime,:]) Q[s,a] += mu * (r + gamma*Q[sprime,aprime] - Q[s,a]) s = sprime a = aprime s++ if s == 1000: break