Tensorflow基础学习笔记

个人理解:

机器学习

通过已知数据,经过机器,得到需求的未知数据的过程

概述:

总体来说,我们通过已知数据,为求需求的为止数据,需要得到已知数据的最佳拟合函数。当我们得到了拟合函数的时候,需要评估它是否为最佳,这时候我们需要损失函数或者是成本函数来描述拟合函数的好坏程度。为了使损失函数得到最小值,我们有很多方法,诸如最小二乘法、梯度下降法等。

步骤:
  1. 选择模型

    • 确定数据模型:拟合数据的最优模型
    • 确定成本函数:比较各个模型拟合程度(严密性),为样例数据点与预测值偏差的绝对值之和最佳拟合为需要被最小化的成本函数
    • 梯度下降法:在当前位置以向着最低取值方向下降;在该方向采取步长a;重复&刷新,即训练
  2. 在TensorFlow中建立模型

    • TensorFlow基本组件

      • placeholder(占位符)-构造神经网络的一种技巧:先构造一个空图,指明节点与边的输出输入关系,静态生成的;对应于给空图的不同输入,产生不同的结果。并且占位符需声明好其占位的数据格式。
       x = tf.placeholder(tf.float32,[1, 5],name='input')
      y = tf.placeholder(tf.float32,[None, 5],name='input')

      x:表示输入是一个[1,5]的横向量。
      y:表示输入是一个[?,5]的矩阵。tensorflow会自动进行批处理你所输入的数据。

      • Variables(变量):各计算参量,如,y=Wx+b,其中,W,b均为需要训练的参数。初始化后才有具体的值。
      • Tensor(张量):训练前为抽象函数概念,而训练开始后才获得实际值
      • Session:

    -

神经网络

交叉熵:
在神经网络(机器学习)中可作为损失函数,可衡量已知数据和预测数据的相似性;且在使用sigmoid函数在梯度下降时能避免均方误差损失函数学习速率降低的问题(学习速率可被输出误差所控制)

tf.nn.softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, dim=-1, name=None)

_sentinel: 一般不使用
labels: labels的每一行labels[i]必须为一个概率分布
logits: 未缩放的对数概率
dims: 类的维度,默认-1,也就是最后一维
name: 该操作的名称
返回值:长度为batch_size的一维Tensor

你可能感兴趣的:(python,深度学习,机器学习笔记)