莫烦教我学tensorflow

1.TensorFlow是采用数据流图(data flow graphs)来计算, 所以首先我们得创建一个数据流流图, 然后再将我们的数据(数据以张量(tensor)的形式存在)放在数据流图中计算. 节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组, 即张量(tensor). 训练模型时tensor会不断的从数据流图中的一个节点flow到另一节点, 这就是TensorFlow名字的由来.

2.

张量(Tensor):

  • 张量有多种. 零阶张量为 纯量或标量 (scalar) 也就是一个数值. 比如 [1]
  • 一阶张量为 向量 (vector), 比如 一维的 [1, 2, 3]
  • 二阶张量为 矩阵 (matrix), 比如 二维的 [[1, 2, 3],[4, 5, 6],[7, 8, 9]]
  • 以此类推, 还有 三阶 三维的 …

3.用session激活应该不用多提了,前面已经讲过了

4.

在 Tensorflow 中,定义了某字符串是变量,它才是变量,这一点是与 Python 所不同的。

定义语法: state = tf.Variable()

Tensorflow 中设定了变量,那么初始化变量是最重要的!!所以定义了变量以后, 一定要定义 init = tf.initialize_all_variables() .

到这里变量还是没有被激活,需要再在 sess 里, sess.run(init) , 激活 init 这一步.

5.Tensorflow 如果想要从外部传入data, 那就需要用到 tf.placeholder(), 然后以这种形式传输数据 sess.run(***, feed_dict={input: **}).

6.TensorFlow的可视化工具 — tensorboard ,但是要在google浏览器下,所以...

7.good thinking

途径一

我们观察到这些文字描述不超过几个类别, 比如在 buying 下面, 总共也就这几种情况 (vhigh, high, med, low), 那我们能不能直接将每种情况给它一个数字代替呢? 比如 (vhigh=0, high=1, med=2, low=3).

途径二

同样是类别, 如果你听说过那个手写数字 MNIST 的数据集 (可以看看这个教程), 你会发现, 0/1/2/3/4/5/6/7/8/9 这十个数字不是直传入神经网络, 而是进行了一次 onehot 的处理. 也就是将数字变成只有 0/1 的形式, 比如下面:

  • 0 -> [1,0,0,0,0,0,0,0,0,0]
  • 1 -> [0,1,0,0,0,0,0,0,0,0]
  • 2 -> [0,0,1,0,0,0,0,0,0,0]
  • 9 -> [0,0,0,0,0,0,0,0,0,1]

转换的途径一般有这两种, 那我们选哪个? 途径一非常简单, 不同的类别变成不同的数字, 但是试想这样的情况, 如果现在是红色, 蓝色, 黄色这三个类别需要转换, 如果红色=0, 蓝色=1, 黄色=2, 红色到蓝色差了1, 红色到黄色差了2, 但是在真实的世界中, 各种颜色之间真的有数量差? 红色到蓝色的差别真的比红色到黄色大? 显然不是, 所以这样的类别转换数字的途径还是存在一定的问题.

而途径二, 我们如果转换成 onehot 形式, 红黄蓝它们就没有这种距离上的差距概念, 而是每个类别都是独立, 特别的, 不能互相比较的. 这才是比较好的类别转换形式. 我觉得有必要提的是, 像(vhigh=0, high=1, med=2, low=3)这样的类别, 可能还是存在一些从高到底的顺序, 这样的类别, 理论上也是可以使用途径一. 大家到了最后可以测试一下途径一和途径二的差别. 这个实战练习, 我是基于途径二的转换.

预处理的数据onehot

def convert2onehot(data):
    # covert data to onehot representation
    return pd.get_dummies(data, prefix=data.columns)

如果对你有所帮助,谢谢您的鼓励^_^

红包还不收?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值