1e-10是C/C++规定的浮点数的科学计数写法,意思是1.0x10的-10次方。这个记数法有一些要求,一是e前面整数部分为1位的浮点数,如1.0、3.3、9.999978901等(但不按这个规则写,如123.4E-3编译器也认可);二时e可以大写也可以小写;三是e后面紧跟带符号的十进制整数,长度最大为3位,正数时可不写+号。所以,1.234E-2、1.234e-02、1.234E-002等其实是一个意思。
回归问题解决的是对具体数值的预测。回归问题的神经网络一般只有一个输出节点,这个节点的输出值就是预测值
分类问题常用的损失函数是经过softmax的交叉熵
回归问题常用的损失函数是均方误差(均方误差也是分类问题中常见的一种损失函数)
交叉熵刻画的是两个概率分布之间的距离,分类问题的预测值和真实值都是概率,只不过这两个概率属于不同的概率分布
numpy中的广播机制
https://www.cnblogs.com/jiaxin359/p/9021726.html
损失函数只有是凸函数时,梯度下降算法才能保证达到全局最优解。
为什么要分batch进行训练?
1.每次同时进入内存训练的数据是有限制的,不可能一次就把全部数据放进内存
2.在全部数据上进行梯度下降算法计算时间太长,为了加速训练过程,可以使用随机梯度下降算法。但是每一轮迭代中,随机优化某一条训练数据上的损失函数有可能使得神经网络连局部最优都无法达到。故为了综合这两方面的优缺点,采用每次计算一小部分训练数据的损失函数。这一小部分数据被称之为一个batch。
3.每次在一个batch上优化神经网络的参数并不会比单个数据慢太多,另一方面,每次使用一个batch可以大大减小收敛所需要的迭代次数,同时可以使收敛到的结果更加接近梯度下降的效果。
今天突然就打不开jupyter了,出现ImportError: DLL load failed: 找不到指定的模块,感觉是tensorflow的问题,用下面的方法解决了
https://blog.csdn.net/weixin_43325818/article/details/86480384
直接指定版本重新装了一下
pip install tensorflow==1.4
但是只能在终端用tensorflow,在jupyter notebook中导入tensorflow就有问题,根据下面这个网页升级了ipykernel的版本就好用了
pip install “ipykernel==4.8.2”
https://blog.csdn.net/zxm1306192988/article/details/87188132
深入解析TensorFlow中滑动平均模型
在神经网络训练中Epoch、Batch Size和迭代的区别
对训练轮数的理解方式
tf.truncated_normal与tf.random_normal的区别
Tensorflow四种交叉熵(cross entropy)算法实现和应用
tensorflow中四种不同交叉熵函数
Tensorflow四种交叉熵函数(有公式)
tf.group(), tf.tuple 和 tf.identity(),tf.control_dependencies
tf.no_op()
tf.cast(),这里举的例子是将实数型转化为bool型
查看已安装tensorflow版本