文章归档
字符概要
Python 3引入的不可变bytes类型和Python 2.6添加的可变bytearray类型 bytes和bytesarray对象的各个元素是介于0-255(含)之间的整数,而不像Python 2 的str对象那样是单个的字符。然而,二进制序列的切片始终是同一种类型的二进制序列,包含长度为1的切片 b'c…Read more ⟶字符问题
编码与解码 “字符串”是个相当简单的概念:一个字符串是一个字符序列。问题出在“字符”的定义上。在2015年,“字符”的最佳定义是Unicode字符。因为,从Python3的str对象中获取的元素是Unicode字符,这相当于从Python2的unicode对象中获取的元素,而不是Python2的str对象中获…Read more ⟶像 NumPy 一样使用 TensorFlow
张量和操作 可以使用tf.constant 创建张量 <tf.Tensor: shape= 2, 3 , dtype=float32, numpy= array 1., 2., 3. , 4., 5., 6. , dtype=float32 像 ndarray 一样,tf.Tensor 具有形状和数据类型(d…Read more ⟶TensorFlow快速浏览
Tensorflow快速浏览 高级深度学习API tf.keras tf.estimator 底层深度学习API tf.nn tf.losses tf.metrics tf.optimizers tf.train tf.initializers 自动微分 tf.GradientTape tf.gradient…Read more ⟶Gradient Descent(梯度下降)
梯度下降 线性模型 $\hat y =x w$来拟合学习时间$x$与考试分数$y$ $$ loss= \hat y -y ^2= x w-y ^2\to cost=\frac1N\sum^N n=1 \hat y n -y n ^2 $$ 由图可知损失函数在$w=2.0$时,取得最小值。记损失函数在$w^ $…Read more ⟶Linear Model
Linear Model 机器学习 $x$为学习时间,$y$为学习该时间能够在考试中取得的分数 在这里来为这些数据寻求一个最好的模型 线性回归 Linear Model:$\hat y =x w$ 训练损失 误差 MSE(Mean Squared Mean)均方误差: $$ loss= \hat y -y ^…Read more ⟶通过正则化避免过拟合
通过正则化避免过拟合。 深度神经网络通常拥有数万个参数,有时甚至有数百万个。这个深度神经网络带来了难以置信的自由度,意味着它们可以拟合各种各样的复杂数据集。 但是这种巨大的灵活性也使网络易于过拟合训练集。此时就需要正则化。 $\ell 1$和$\ell 2$正则化 可以使用$\ell 2$正则化来约束神经网络…Read more ⟶更快的优化器
动量优化 想象一下,一个保龄球在光滑的表面上沿着平缓的坡度滚动:它开始速度很慢,在很快会获得动量,直到最终达到终极速度(如果有摩擦或空气阻力)。相比之下,常规的梯度下降法只是在斜坡上采取小的、常规的步骤,因此算法将花费更多时间到达底部 回想一下梯度下降通过直接减去权重的成本函数$J \theta $的梯度乘以…Read more ⟶重用预训练层
用Keras进行迁移学习 假如Fashion MNIST数据集包含了8个类别,例如,除凉鞋和衬衫之外的所有类别。有人在该数据集上建立并训练的Keras模型,并获得了相当不错的性能(精度 90%)。将此模型称为模型A。现在要处理另一项任务:有凉鞋和衬衫的图像,想要训练一个二元分类器(正=衬衫,负=凉鞋)。数据集…Read more ⟶电影评论分类:二分类问题
IMDB数据集 它包含来自互联网电影数据库(IMDB)的50000条严重两极分化的评论 数据集被分为用于训练的25000条评论与用于测试的25000条评论 训练集和测试集都包含50%的正面评论和50%的负面评论 加载IMDB数据集 1, 14, 22, 16, 43, 530, 973, 1622, 1385…Read more ⟶抛物线法
抛物线法Read more ⟶深度神经网络的训练-梯度消失和梯度爆炸问题
梯度消失与梯度爆炸问题 反向传播算法的工作原理是从输出层到输入层次,并在此过程中传播误差梯度。一旦算法计算出损失函数相对于每个参数的梯度,可以使用这些梯度以梯度下降步骤来更新每个参数。 随着算法向下传播到较低层,梯度通常会越来越小。结果梯度下降更新使较低层的连接权重保持不变,训练不能收敛到一个良好的解。这就是…Read more ⟶