机器学习(三)——Tensorflow

欢迎转载,请注明出处:https://blog.csdn.net/tayhh/article/details/82119943

1.先介绍下神经网络的重要元素:

①人工神经网络的优化机制:

是Optimization problem解决方案之一的Gradient Descent,Optimization还有Newton's method, Least squares method,有兴趣的同学可自行学习;

②误差方程:

cost function = (predicted -real)的平方;

③Gradient Descent找到初始化时误差曲线梯度下降的方向->更新参数->再找梯度下降的方向->更新参数。。。直到梯度线躺平;需要注意的是,梯度线躺平有可能是找到了全局最优解,也有可能只是找到局部最优解,不用纠结,即使是局部最优解也是很好的了。

④理解神经网络:

都说神经网络是黑盒,实际上,神经网络是通过隐藏层提取代表性特征:

feature ->feature representation 1->feature representation 2->...->output

从这个角度来看,隐藏层的动作并不黑盒,只是提取出来的代表性特征,人类看不懂罢了,但是计算机看得懂。而提取代表性特征的能力剥离出来,就是迁移学习的关键;

2.tensorflow出身:

tensorflow是谷歌研发的人工智能学习系统;附上官网网址,同学自己学习:https://www.tensorflow.org/

3.tensorflow安装:

cpu版本:pip install tensorflow

gpu版本:pip install tensorflow-gpu

详细安装过程:https://www.tensorflow.org/install/

4.tensorflow通用学习模式:

 

5.Session对话控制方式:

method 1:

sess = tf.Session()

sess.run()

sess.close

method 2:

with tf.Session() as sess:

sess.run()

6.定义变量:

tf.Variable()

需要和:

init = tf.initialize_all_variables()

sess.run(init)

共同使用

7.placeholder功能:

接收外部的传入值,

需要和feed_dict{input1:, input2:}共同使用

8.激活函数:

①一般是非线性方程;

②是对线性方程的掰弯:作用在神经元上,自变量是神经元的传入值,应变量是神经元的传出值;

③经常使用的激活函数是:relu,sigmod,tanh, 完整的激活函数:

④选择激活函数:层数少的神经网络任选无碍;CNN一般选用relu;RNN一般选用relu或tanh;

9.添加或定义神经层:

定义三个方面:参数、合并计算、激励函数;

举个例子:

10.下篇继续讲tensorflow构造神经网络:CNN, RNN, LSTM in RNN

这篇完整代码已经上传github:tensorflow.py

https://github.com/Tayhh/MachineLearning

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值