目前大部分多分类任务对最后一层的输出做softmax,然后使用交叉熵作为损失函数,再对loss求导反向传播来更新w,经过多轮训练得到训练好的w,这就是模型。
我相信许多刚入门的machine learninger只是知道该这么用,但是不明白为什么这样就可以更新w了,下面推导最后一层的导数
最后一层的第i个输出是
其对应的softmax处理是
输入公式太麻烦了 还是手写的吧
这里的aj 和 ai 的分母是一样的 ,只是我多写出来一个zj , 这样方便理解,后面会用到。
softmax之后是求交叉熵,假设ai对应的真实值(也就是输入的label)是yi :