logistic回归和softmax回归
logistic:二分类
softmax:多分类
logistic回归
在 logistic 回归中,我们的训练集由 个已标记的样本构成:。由于 logistic 回归是针对二分类问题的,因此类标记 。
假设函数(hypothesis function):
代价函数(损失函数):
我们的目标是训练模型参数,使其能够最小化代价函数。假设函数就相当于我们在线性回归中要拟合的直线函数。
softmax回归
在 softmax回归中,我们的训练集由 个已标记的样本构成:。由于softmax回归是针对多分类问题(相对于 logistic 回归针对二分类问题),因此类标记 可以取 个不同的值(而不是 2 个)。我们有 。
对于给定的测试输入 ,我们想用假设函数针对每一个类别j估算出概率值 。也就是说,我们想估计 的每一种分类结果出现的概率。因此,我们的假设函数将要输出一个 维的向量(向量元素的和为1)来表示这 个估计的概率值。 具体地说,我们的假设函数 形式如下:
- 假设函数:
- 其中 是模型的参数。请注意 这一项对概率分布进行归一化,使得所有概率之和为 1 。
-
为了方便起见,我们同样使用符号 来表示全部的模型参数。在实现Softmax回归时,将 用一个 的矩阵来表示会很方便,该矩阵是将 按行罗列起来得到的,如下所示:
- 代价函数:
- 是示性函数,其取值规则为
值为真的表达式
值得注意的是,logistic回归代价函数是softmax代价函数的特殊情况。因此,logistic回归代价函数可以改为:
- 一点个人理解:
-
为什么二分类中参数只有一个,而k分类中参数却有k个。
-
其实二分类中的是y=1情况下的参数,而y=0情况下其实未给出参数,因为y=0的假设函数值可以通过1-(y=1的假设函数值)得到。同理,k分类中参数其实只需要k-1个参数就可以了,多余的一个参数是冗余的。
具体冗余参数有什么负面影响,参考Softmax回归 http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92