model.fit(x_train_scaled, y_train, epochs = 10, batch_size = 32,validation_data = (x_valid_scaled, y_valid))
我查看了官方api,这个 batch_size 对应于梯度的样本数,那上面这行代码应该表示每32个样本就计算一次代价函数的梯度吧,
我的问题是:
- 前32个样本计算出来的梯度和后32个样本计算出来的梯度,两者之间没有联系吧?两个梯度都是独立的,互不影响。
- 整个训练集要遍历的总步数是: 总样本数 / batch_size = 55000 / 32 = 1719,这样的话,遍历一个epoch就需要1719步,而每一步会有一个梯度,每一个梯度会产生一个预测函数,即遍历一个epoch会产生1719个预测函数,但是看运行结果,似乎一个epoch只产生了一个预测函数,这其中是用了什么算法把1719预测函数整合为一个预测函数吗?
- 经历一个epoch,是不是对应于 https://coding.imooc.com/learn/questiondetail/4daeRY4Jgzx6nWEp.html 中的(4.2)步?
- 既然经历一个epoch,得到代价函数最小值,从而确定了预测函数,为什么要经历多个epoch呢?为什么这多个epoch得到的代价函数都不一样?
谢谢老师指导!!!