基于神经网络的实战演练(一)-启动,运行与解读TensorFlow

本期主题:启动并运行TensorFlow

参考书籍:

【AO-AZ-90-蜥蜴书-中文版-Hands on Machine Learning with Scikit Learn and Tensorflow】

审核目标:成功跑通蜥蜴书中的前馈神经网络框架,并且成功带入给定的数据集进行分析——注意是实习公司的数据集,不再是原来购买的数据集

 本小节整体框架——TensorFlow

Q1:为什么TensorFlow中有创建图谱这种操作?很本元的一个问题

Q3:batch和epoches的含义是什么

Q2:这里的手动渐变和梯度下降以及自动梯度下降到底是干什么的?用在常规的网络里面是干什么

明白这玩意啥意思了

批量梯度下降和随机梯度下降

 大白话5分钟带你走进人工智能-第十一节梯度下降之手动实现梯度下降代码(6)

梯度下降之手动实现梯度下降和随机梯度下降的代码

000

#借助随机种子,创建模拟训练集
import numpy as np
np.random.seed(1) #随机种子np.random.seed(1)和直接的随机数np.random.randn(100,1)区别在哪里?
X=2*np.random.randn(10000,1)
Y=4+3*X+np.random.randn(10000,1)
X_b=np.c_[np.ones((10000,1)),X]
#print(X_b)

#学习率,迭代次数,样本数和初始化设定
learning_rate=0.1
n_iterations=500
m=10000
theta=np.random.randn(2,1)
count=0

#循环迭代,促成梯度下降--计算梯度的公式——迭代
for iterations in range(n_iterations):
    count+=1
    gradients=1/m*X_b.T.dot(X_b.dot(theta)-Y)
    theta=theta-learning_rate*gradients

print(count)
print(theta)

Q1:固定随机种子np.random.seed(x)和正常的表达式中的随机数np.random,randn(x,x)的区别在哪里?np.random.randn(x,x)中括号的作用是干什么?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值