Skip to content

Lesson-9

Softmax 回归

实际上是分类问题:alt text

  • 对类别的编码:\(y = [y_1,y_2,...,y_n]^T\),其中:当为种类\(i\)时,\(y_i = 1\),其余所有的\(y_k=0\)
  • 获得的输出\(o = [o_1,o_2,..,o_n]^T\)是对应种类的置信分数组成的向量
  • 需要更加置信地识别正确类,说白了就是输出的正确类的置信程度应该‘远大于’其他类:\(o_y - o_i \ge \Delta(y,i)\)
  • \(o\)中获得输出的匹配向量,这个输出向量要求(非负且和为1,实际上\(y\)也符合这个定义):\(\hat y = softmax(o)\),其中:\(\hat{y_i} = \frac{exp(o_i)}{\sum_{k=1}^nexp(o_k)}\)
  • 自然地,我们让\(\hat y\)\(y\)的区别成为损失函数。在这里,我们使用了交叉熵损失:
  • \[l(y,\hat{y}) = -\sum_i y_i \log\hat{y_i}=-\log\hat{y_y}\]

其梯度就是真实概率和预测概率的区别:

\[\frac{\partial l(y,\hat{y})}{\partial o_i} = softmax(o_i)-y_i\]
  • 简言之,\(softmax\)干的事情就是把一个特征向量\(y = [y_1,y_2,...,y_n]^T\)投影到一个输出\(o = [o_1,o_2,..,o_n]^T\)中,输出表示对应每个种类的概率,满足\(o_i>0\)\(\sum o_i = 1\)