标签 AI 下的文章

在局面确定的双人对弈里,常采用博弈树搜索。我方追求更大的赢面,而对方会设法降低我方的赢面。由于局面确定,因此可以对赢面进行评估。我方往较大赢面的方向走,同时考虑对方的走法。由于对方的走法不确定,就假设对方会选择最大程度降低我方赢面的方向走,我方应规避那些对方可以大幅降低我方赢面的走法。

Minimax算法

称我方为MAX,对方为MIN,图示如下:

阅读全文

机器学习里经常需要用到向量微积分。向量微积分其实并不难,但大学数学一般不提,导致在看机器学习的一些推导时常常感觉疑惑。

机器学习里经常用到标量和向量、向量和向量的求导,其实只是把向量对应位置的元素进行求导。但是,这些元素的组织方式有两种,分别是分子布局和分母布局,二者并无本质上的差别,只是结果相差个转置。这两种布局都存在,初学者常常混淆。

阅读全文

MNIST数据集官网可以下载MNIST数据集。

MNIST数据集以.gz格式压缩,Python可以直接读取而不需要解压缩:

import gzip

with gzip.open('t10k-images-idx3-ubyte.gz') as f:
    buf = f.read()

MNIST数据集使用二进制文件,而不是常规的图片文件格式。以t10k-images-idx3-ubyte为例,在官网有其结构说明:

阅读全文

TensorFlow安装

CPU版本直接pip install tf-nightly即可。

GPU版本需要安装显卡驱动、cuda、cudnn,注意版本。若手动安装cuda还要将cuda的lib64目录加入LD_LIBRARY_PATH环境变量。然后使用pip install tf-nightly-gpu安装即可。

在Python中一般使用

import tensorflow as tf

来import tensorflow。

阅读全文

架构

Artist是图像上所有可见元素的基类,以对象的方式对可见元素进行描述。

图像渲染依赖于Backend,Backend作为后端绘图渲染引擎,支持GUI方式(直接将图像显示在屏幕上,如GTK、WX等)与非GUI方式(输出为某种格式的文件,如PS、AGG等)。

阅读全文

numpy随机抽样

随机数生成

numpy.random.rand(d0, d1, ..., dn) 方法的作用为:指定一个数组,并使用 [0, 1) 区间随机数据填充,这些数据均匀分布。

In [1]: import numpy as np

In [2]: np.random.rand(2,3)
Out[2]:
array([[ 0.09887339,  0.75074537,  0.9944429 ],
       [ 0.92790081,  0.84365033,  0.3087985 ]])

阅读全文

术语

axis

对于二维数组,垂直为轴0,水平为轴1。许多操作可以沿着一个轴进行。

>>> x = np.arange(12).reshape(3,4)
>>> x
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> x.sum(axis=0)
array([12, 15, 18, 21])
>>> x.sum(axis=1)
array([ 6, 22, 38])

阅读全文