Softmax Regression

Logistic Regression 常用于 二分类 的场合,而 Softmax Regression (又名 Multinomial Logistic Regression) 就是 Logistic Regression 在 多类别 场合下的推广,这种推广并不需要训练或者结合多个二分类分类器。

1. 概率估计和类别预测

基本思路:对某一样本/实例 x
- 首先计算该样本属于各个类别 k 的得分 s k ( x ) ,如 式-1 所示。
- 利用 s k ( x ) 和 softmax 函数 (又名 normalized exponential) 估计属于各个类别的概率,如 式-2 所示。

【式-1】类别 k 的 Softmax 得分

s k ( x ) = θ k T x

注意:每个类别都有自己专门的参数向量 θ k ,对应于参数矩阵 Θ 中的某一行。

【式-2】利用 Softmax 函数估计样本属于类别 k 的概率 (multiclass, not multioutput)

p ^ k = σ ( s ( x ) ) k = exp ( s k ( x ) ) j = 1 K exp ( s j ( x ) )

  • K 是总的类别数

【式-3】Softmax Regression 类别预测

y ^ = arg max k σ ( s ( x ) ) k = arg max k s k ( x ) = arg max k ( θ k T x )

2. 模型训练与代价函数

在多类别的条件下,模型估计的与目标类别相对应的概率值应最大,而其他类别的概率应尽可能小。因此有如 式-4 所示的 交叉熵代价函数 (cross entropy)。

  • 交叉熵:通常用于衡量 一组估计的类别概率 与目标类别之间的差异性。

【式-4】交叉熵代价函数

J ( Θ ) = 1 m i = 1 m k = 1 K y k ( i ) log ( p ^ k ( i ) )

  • y k ( i ) :若第 i 个样本属于第 k 类则取 1,否则取 0.
  • 若只有两个类别,则退化为 Logistic Regression 的代价函数 (log loss)

【式-5】类别 k 的交叉熵梯度向量

θ k ( Θ ) = 1 m i = 1 m ( p ^ k ( i ) y k ( i ) ) x ( i )

在得到 式-5 的结果后,就可以用 GD 或其他优化算法来找到使得 cost function 取得最小的 Θ

猜你喜欢

转载自blog.csdn.net/tsinghuahui/article/details/80377047