week2_2
Mini-batch梯度下降法
优化算法可以帮助我们快速训练模型
虽然向量化可以帮助我们提高运算速率,但是如果m很大,效率还是很低,因为我们每更新一次参数就需要重新进行正向传播,再更新参数,不断重复
现在选择算法使进行正向传播前先优化参数
可以把训练集分割成小一点的训练集,这些子集叫做mini-batch,如图所示,假设X有5000000个样本 将每1000个分成一个集合->x{i}
优化算法可以帮助我们快速训练模型
虽然向量化可以帮助我们提高运算速率,但是如果m很大,效率还是很低,因为我们每更新一次参数就需要重新进行正向传播,再更新参数,不断重复
现在选择算法使进行正向传播前先优化参数
可以把训练集分割成小一点的训练集,这些子集叫做mini-batch,如图所示,假设X有5000000个样本 将每1000个分成一个集合->x{i}
超级参数的选择通过最开始选择然后不断迭代选择最优
训练数据分为三部分:训练集,验证集(dev_set),测试集
对于小型数据,70train 30test or 60train 20dev_set 20test
大数据:验证集和测试集的占比减少验证集是为了检验那种算法更有效,所以验证集要足够大,但是比如我们有100万条数据,如果20dev_test就是20万条数据,太多了,可能取一万条数据就能进行评估了,然后找出最好的算法,测试集的主要目的是正确评估分类器的性能,所以比如拥有100万条数据,只需要10000条测试集就够了
更多的层数,更多的隐藏节点
新的参数:L->层数 n[i]第i层的节点数,输入层是第0层
X=a[0] a[i]表示激活函数->a[i]=g(z[i]``)
a[L]=y_hat
每一层完成的工作:input a[i-1] output a[i] cache z[i]
z[i]=W[i] * a[i-1] + b[i]
a[i]=g(z[i])
引入层的概念,x(i)表示第i个样本 w[1]表示第一层的w,表示是在第一层用到的w
上一节学到的模型如下:
用(x,y)表示一个单独的样本,x是n维的一组向量,y标签值为0或者1
训练集由m个训练样本组成:(x1, y1) (x2, y2) (x3, y3)...(xm, ym)
x=[x1,x2,x3...xm]->n*m
y=[y1,y2,y3...ym]->1*m
训练集m_train 测试集m_test
will learn how to build a neural network and how to train them on data