tensorflow劝退(6.27)

一、 什么是激励函数?TF中常用的激励函数有那些?

激励函数的作用就是将多个线性输入转换为非线性的关系。

常用的激励函数主要有:ReLU、ReLU6、sigmoid、tanh、softsign、ELU等。

 

二、 任何函数都有梯度吗?如果不是,那么一个函数具有梯度的条件是什么?

该节点操作不可导

 

三、 什么是感知机?

感知机是二分类的线性分类模型,输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机对应于输入空间中将实例划分为两类的分离超平面。感知机的使用前提是数据本身线性可分

四、 感知机的局限性是什么?

(1)感知机是线性的模型,其不能表达复杂的函数,不能出来线性不可分的问题,其连异或问题(XOR)都无法解决,因为异或问题是线性不可分的

(2)怎样解决这个问题呢,通常有两种做法。其一:用更多的感知机去进行学习,这也就是人工神经网络的由来。其二:用非线性模型,核技巧,如SVM进行处理。

五、 什么是线性可分问题?什么是线性不可分问题?

线性可分:即可以找到一个超平面,将数据集按类别分开

线性不可分:找不到一个超平面,恰好能把两类数据严格地分开。

六、 感知机的损失函数如何设计?

损失函数分为经验风险损失函数结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项。

七、 代码???(LinearReg_DIY.py案例)

import tensorflow as tf

import numpy as np

import matplotlib.pyplot as plt

 

#构造训练数据:使用numpy生产在一条斜率为0.1、偏移是0.2的直线上分布的100个随机点

#x_train = np.random.random(100)

#y_train = x_train * 0.1 + 0.2

 

x_train = np.linspace(0,1,100)

print("x_train.shape == ", x_train.shape)

y_train = 2 * x_train + np.random.rand(*x_train.shape) + 1

 

x_data = tf.placeholder(dtype="float32")

y_data = tf.placeholder(dtype="float32")

 

#构造一个线性模型,斜率k,偏移b,变量x_data

b = tf.Variable(1.0)

k = tf.Variable(1.0)

y = k * x_data + b

 

#优化变量k、b使线性模型接近于上面样本点的分布,定义二次代价(或者叫目标/损失)函数

# reduce_mean()求平均值、square()求平方  y_data是真实值,y是预测值

loss = tf.reduce_mean(tf.square(y_data-y))

#定义一个梯度下降法来进行训练的优化器, GradientDescentOptimizer()梯度下降法优化器(括号内给定学习率)

optimizer = tf.train.AdamOptimizer(0.1)

#optimizer = tf.train.MomentumOptimizer(0.1,momentum=0.5)

#optimizer = tf.train.GradientDescentOptimizer(0.1)

#最小化代价(或者叫目标/损失)函数

train = optimizer.minimize(loss)

#初始化变量

init = tf.global_variables_initializer()
with tf.Session() as sess: sess.run(init) writer = tf.summary.FileWriter("E:\\PycharmProjects\\TensorBoard\\test", sess.graph) # 迭代若干次 for epoch in range(99): _, w_value, b_value = sess.run([train,k,b], feed_dict={x_data:x_train,y_data:y_train}) if epoch % 2 == 0: #每训练*次打印一次 print("epoch:{}, w: {}, b: {}".format(epoch ,w_value, b_value)) writer.close() plt.plot(x_train, y_train,"+") plt.plot(x_train,w_value * x_train + b_value) plt.show()

  

 

转载于:https://www.cnblogs.com/bjx817/p/11095935.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值