强化学习:有限马尔科夫决策过程

本文是reinforcement learning:An introduction书第三章的翻译.

在本章中我们将介绍有限马尔科夫决策过程形式的问题(finite MDPs),本书的剩余部分都将解决此类问题.该问题包括可评估的反馈,就像和bandits问题一样,但是同时也有一个相关性的方面-在不同的情形下选择不同的行为.MDPs是序列决策问题的一种经典的形式.行为不光影响立即的回报,同时影响接下去的状态.因此,MDPs包括未来的奖励并且需要权衡立即的奖励与未来的奖励.在bandit问题中,我们估计每个行为$a$的值$q_*(a)$.

在MDPs中我们估计在$s$状态下,在$a$行为的条件下的值$q_*(s,a)$.

CBDict文献取词翻译器

**CBDict:一个专门为Linux环境下的学术党设计的文献取词翻译器**

ClipBoardDictionary

This program monitors the clipboard of the system and translate the word from English to Chinese by YouDao api, especially designed for Students who are working under linux environment where there is no simple translater when you reading papers.

每日工作记录

这篇文章将长期记录我每天的工作情况,和每日总结.

WordPowerMadeEasy生词整理

突然想好好学英语了

我本人的英语水平不算很差,四级600多,六级500多。当年初中高中的时候英语(我在江苏),本身就学得比较多。可是,大学四年在东北,我在那边不是很注重英语,因为不学英语,每次考试也都吊打别人。所以导致我的英语水平不是很好,远远达不到母语是英语的那些人的水平。

减肥的科学原理

减肥中的热量单位

在了解减肥的原理之前,需要首先了解常用的热量单位,卡,卡路里,千卡,大卡,千焦。我们买来的食品的包装袋上一般都标注着每100克该食品的营养成分,使用的就是这些单位。

  • 卡 = 卡路里 = 4.184焦耳
  • 1千卡 = 1大卡 = 1000卡 = 4184焦耳 = 4.184千焦

Manjaro下解决Matplotlib中文显示出错

当我在Manjaro中使用Matplotlib作图时候,会发现中文的图例变成了小方块,现在记录一下解决方法。

  • 将windwos中fonts目录下的simhei.ttf拷贝到/…/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf(文件路径根据实际情况修改)目录中,

  • 删除~/.cache/matplotlib的缓冲目录

  • 在代码中动态设置参数:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #coding:utf-8  
    import matplotlib
    matplotlib.use('qt4agg')
    #指定默认字体
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']
    matplotlib.rcParams['font.family']='sans-serif'
    #解决负号'-'显示为方块的问题
    matplotlib.rcParams['axes.unicode_minus'] = False
    plt.plot([-1,2,-5,3])
    plt.title(u'中文',fontproperties=myfont)
    plt.show()

Python的Anoymous Functions

什么是Python的匿名函数

在Python中,匿名函数的意思是定义的函数没有名字。def命令用来创建普通函数,lambda命令用来创建匿名函数。语法如下:

1
lambda arguments : expression
  • 这个函数可以拥有多个参数,但是只有一个表达式进行运行与返回
  • 换句话说,lambda表达式中不能出现赋值,或者使用任何其他的语句,例如while, try等等

Example

1
2
g = lambda x:x*x*x
print(g(5))

粒子群算法的Python简单实现

需要优化的目标函数

$$target = x^2+y^2+z^2$$

1
2
def target(nparray):
return nparray[0]**2 + nparray[1]**2 + nparray[2]**2

*args 和 **kwargs

很多Python新手都无法搞清*args**kwargs这两个魔术变量。那么他们到底是什么呢?让我来告诉你。在实际程序中,我们没有必要非得写成*args**kwargs这样的形式,你也可以写成*var**vars。写成*args**kwargs的形式只是一种惯例。

Python装饰器

装饰器是Python的重要组成部分。简单来说:它们是修改其它函数的函数。他们有助于使我们的代码更短,更Pythonic。大多数初学者不知道在哪里使用它们,所以本文将介绍一些常见需要使用装饰器的情况。