请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

几个基础问题

1、老师,请问是每传入一个样本就只计算一次θ吗?θ是不是前面说的 w 和偏置 b ?
2、是不是必须先定义好神经网络的输出结果的所有可能性(种数和种类)才能传样本训练?
3、计算损失值 不仅让1减输出值,还要让其它各个类别上的值当0,再让他们分别减在各个类别上预测的值,然后把它们的绝对值加起来(或平方差函数或交叉熵函数),对吗?用1和0这两种数减预测值是不是仅限于sigmoid函数?用其它激活函数也是用 1 和 0 减预测值吗?
4、加入输出结果有C1,C2,C3,C4 四种,传入一个样本预测其为C1,这时开始计算损失值loss,然后调整w(或θ?),θ2=θ1-学习率*偏导,此时是只求与这个结果相连的那些w吗?与其它结果(C2,C3,C4)相连的那些几组w也要改变吗?
请老师多打点字讲解,如果能画图更好。我实在太菜。谢谢你。

正在回答 回答被采纳积分+3

1回答

会写代码的好厨师 2019-04-24 01:09:53

这些问题问的挺好的,说明学习课程很用心!

继续加油!

1)参数,可以理解成前面的w和b,如果每次传入一个样本更新一次参数,会使得梯度更新存在很多的不稳定性。如果每次考虑全部样本,计算loss之后在更新一次参数,就会存在计算量大的问题。所以,平衡的方法就是考虑小批量的样本,每次计算小批量的样本的loss,来更新参数,就是后面模型中的batchsize;2)是的,网络是要定义好输入和输出的,这个过程就是搭建模型的过程。训练的过程就是求解模型中的参数;3)计算损失值其实就是计算预测结果和真实结果的偏差,对于结果的表示方法我们有很多种,这里用的one-hot编码的方式是一种,每个标签我们定义成一个向量,这个向量的含义就是在类别上的概率分布,所以就有了0和1的概念。而后面的计算绝对值的和目的就是计算向量的距离,距离的计算方式也有很多种。这里sigmoid的作用是将结果映射到0-1之间去,其他的能实现相同功能的函数一样可以用。只是sigmoid更像一个阶跃函数,两端更靠近0和1。注意这里减去0和1的目的不是为了减去0和1,这只是计算偏差的一种方式,只要这个公式是在计算预测值和真实值的偏差,他就是一个损失函数。在分类任务中,我们通常会使用0,1这样的标签,所以才会用到0和1。4)注意,对于参数的更新,我们实际上是根据求导之后的公式来进行更新的,对于公式的求解,需要用到链式法则,所以每个参数都会被更新到,根据其对应的导数公式进行计算即可。

如果有问题继续问!!

0 回复 有任何疑惑可以回复我~
  • 提问者 CYW好好学习 #1
    如果我用一个样本训练过,并调整一次参数w和b后,我用这个网络再预测同一个样本,那么它第二次一定是准确的吗?(假如目的是分类)。
    另外一个问题,我怕我以这样高的频率来问问题,没几天就把你问厌烦啊(〃'▽'〃)
    回复 有任何疑惑可以回复我~ 2019-04-24 01:25:24
  • 慕仔8246996 回复 提问者 CYW好好学习 #2
    第二次肯定比第一次好,但不一定是准确的,这就像你学习一个很难知识,学习第二遍肯定比第一遍效果好,但是不见得第二遍就完全学会
    回复 有任何疑惑可以回复我~ 2020-03-10 15:34:57
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信