Python之Tensorflow
TensorFlow™是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现。
——百度百科
TensorFlow 是由 Google Brain 团队为深度神经网络(DNN)开发的功能强大的开源软件库,
Tensorflow是一种计算图模型,即用图的形式来表示运算过程的一种模型。
开源深度学习库 TensorFlow 允许将深度神经网络的计算部署到任意数量的 CPU 或 GPU 的服务器、PC 或移动设备上,且只利用一个 TensorFlow API。
3.自编码器
3.1 什么是自编码器
自编码器是前馈非循环神经网络,是一种无监督机器学习方法,具有非常好的提取数据特征的能力,
自动编码机也被称为 diabolo 网络或 autoassociator。
自动编码机的目标是重构一样的输入。
可以将自动编码机看作由两个网络组成,第一个网络是一个编码器,负责接收输入 x,并将输入通过函数 h 变换为信号 y:

第二个网络将编码的信号 y 作为其输入,通过函数f得到重构的信号 r:

定义误差 e 为原始输入 x 与重构信号 r 之差,e=x–r,网络训练的目标是减少均方误差(MSE),同 MLP 一样,误差被反向传播回隐藏层。
3.2 自编码器的应用
根据隐藏层的大小,自动编码机分为
欠完备自动编码机(隐藏层神经元数量小于输入层神经元数量)和
过完备自动编码机(隐藏层神经元数量大于输入层神经元数量)。
而根据对损失函数的约束条件,又可以分为:
稀疏自动编码机、去噪自动编码机和卷积自动编码机。
4.Tensorflow基本单位
TensorFlow 使用 张量 (Tensor)作为数据的基本单位。
TensorFlow 的张量在概念上等同于多维数组,我们可以使用它来描述数学中的标量(0 维数组)、向量(1 维数组)、矩阵(2 维数组)等各种量,
示例如下:
# 定义一个随机数(标量)
random_float = tf.random.uniform(shape=())
# 定义一个有2个元素的零向量
zero_vector = tf.zeros(shape=(2))
# 定义两个2×2的常量矩阵
A = tf.constant([[1., 2.], [3., 4.]])
B = tf.constant([[5., 6.], [7., 8.]])
Refenrence
浙公网安备 33010602011771号