TensorFlow教程(一):算法流程(重点)

从TendorFlow的发布的最开始关注到现在已经到2.0了,见证了TF的飞速发展,真心佩服Google的大神们。加油吧!

TensoFlow的一般算法流程:

1、导入和生成样本数据集合:所有的机器学习算法都依赖样本数据集合。

2、转化和归一化数据:一般来说,输入样本数据集合并不符合TensorFlow期望的形状,所以需要转化数据格式以满足TensoFlow的要求。

data = tf.nn.batch_norm_with_global_normalization(...)

3、划分样本数据为训练样本集合测试样本集合验证样本集合。一般要求机器学习算法的训练样本集和测试集是不同的数据集。另外,许多机器学习算法要求超参调优,所以需要验证样本集来决定最优的超参数。

4、设置机器学习参数(超参数):机器学习经常需要一系列的常量参数。如:迭代次数、学习率或者其他固定参数。一般的习惯是一次性初始化所有的参数。

learning_rate = 0.01
batch_size = 100
iterations = 1000

5、初始化变量和占位符,在求解最优化过程中(最小化损失函数),TensorFlow通过占位符获取数据,并调整变量和权重/偏差。TensorFlow指定数据大小和数据类型初始化变量和占位符。

x_input = tf.placeholder(tf.float32, [None, input_size])
y_input = tf.placeholder(tf.float32, [None, num_classes])

6、定义模型结构:在获取样本数据集、初始化变量和占位符后,开始定义机器学习模型。TensoFlow通过选择操作变量和占位符的值来构建计算图。

y_pred = tf.add(tf.mul(x_input, weight_matrix), b_matrix)

7、声明损失函数:定义完模型后,需要声明损失函数来评估输出结果。损失函数能说明预测值和真实值的差距。

loss = tf.reduce_mean(tf.square(y_actual - y_pred))

8、初始化模型和训练模型:TensorFlow创建计算图实例,通过占位符赋值,维护变量的状态信息。

with tf.session(graph=graph) as session:
    ...
    session.run(...)
    ...

9、评估机器学习模型:一旦构建计算图,并训练机器学习模型后,需要寻找某种标准评估机器学习模型对新样本数据集的效果。通过对训练样本集和测试集的评估,可以确定机器学习模型是过拟合还是欠拟合。

10、调优超参数:通过调整不同的超参数来重复训练模型,并用验证样本集来评估机器学习模型。

11、发布模型和预测结果。

 

你可能感兴趣的:(TensorFlow)