softmax回归

分类问题:询问“哪一个”

通常不区分硬类别(样本属于哪个类别)和软类别(样本属于每个类别的概率):将硬类别当作软类别处理

分类数据表示:one-hot编码

  • 类别对应的分量设为1,其余分量设为0

网络架构:o=Wx+b

  • 问题:输出无法直接作为概率使用
  • 解决:softmax

    softmax回归的输出层也是全连接层 对于d输入q输出的全连接层,开销为O(dq)

softmax函数:将输出y^j转化为可视为属于类j的概率,选择argmaxjyj作为预测

  • 定义:y^=softmax(o)yj=exp(oj)kexp(ok)
  • 性质:
    • 归一化,非负性,可导
    • argmaxjy^j=argmaxjoj
  • 优化:小批量样本标准化
    • 设批量大小为n, XRn×d,WRd×q,bR1×qO=XW+bY^=softmax(O)
    • O的每一行,先对所有项进行幂运算,再求和标准化

      softmax回归是线性模型

损失函数:交叉熵损失函数

  • 熵:H[P]=jP(j)lnP(j)

梯度:ojl(y,y^)=softmax(o)jyj,即模型分配的概率与实际发生的情况间的差异

  • 推导:
l(y,y^)=j=1qyjlnexp(oj)k=1qexp(ok)=j=1qyjlnk=1qexp(ok)j=1qyjoj=lnk=1qexp(ok)j=1qyjoj
ojl(y,y^)=exp(oj)k=1qexp(ok)yj=softmax(o)jyj

预测:预测概率最高的类别作为输出类别

评估:精度

  • 精度=正确预测数预测总数