逻辑回归解决多分类和softmax
来源:互联网 发布:php try catch 的用法 编辑:程序博客网 时间:2024/04/30 14:49
我们已经知道,普通的logistic回归只能针对二分类(Binary Classification)问题,要想实现多个类别的分类,我们必须要改进logistic回归,让其适应多分类问题。
关于这种改进,有两种方式可以做到。
第一种方式是直接根据每个类别,都建立一个二分类器,带有这个类别的样本标记为1,带有其他类别的样本标记为0。假如我们有个类别,最后我们就得到了个针对不同标记的普通的logistic分类器。
第二种方式是修改logistic回归的损失函数,让其适应多分类问题。这个损失函数不再笼统地只考虑二分类非1就0的损失,而是具体考虑每个样本标记的损失。这种方法叫做softmax回归,即logistic回归的多分类版本。
我们首先简单介绍第一种方式。
对于二分类问题,我们只需要一个分类器即可,但是对于多分类问题,我们需要多个分类器才行。假如给定数据集,它们的标记,即这些样本有个不同的类别。
我们挑选出标记为的样本,将挑选出来的带有标记的样本的标记置为1,将剩下的不带有标记的样本的标记置为0。然后就用这些数据训练出一个分类器,我们得到(表示针对标记的logistic分类函数)。
按照上面的步骤,我们可以得到个不同的分类器。针对一个测试样本,我们需要找到这个分类函数输出值最大的那一个,即为测试样本的标记:
下面我们介绍softmax回归。
对于有个标记的分类问题,分类函数是下面这样:
在这里,我们将上式的所有的组合起来,用矩阵来表示,即:
这时候,softmax回归算法的代价函数如下所示(其中):
很明显,上述公式是logistic回归损失函数的推广。
我们可以把logistic回归的损失函数改为如下形式:
但是,需要特别注意的是,对于,softmax回归和logistic回归的计算方式是不同的。
对于选择softmax分类器还是个logistic分类器,取决于所有类别之间是否互斥。所有类别之间明显互斥用softmax分类器,所有类别之间不互斥有交叉的情况下最好用个logistic分类器。
参考资料:
http://deeplearning.stanford.edu/wiki/index.php/Softmax_Regression
http://blog.csdn.net/u013239871/article/details/51291277
- 逻辑回归解决多分类和softmax
- (理解)线性回归, 逻辑回归和线性分类器,Softmax回归。
- Logistic and Softmax Regression (逻辑回归和Softmax回归)
- Logistic and Softmax Regression (逻辑回归和Softmax回归)
- 线性回归、岭回归、逻辑回归、信息量与熵、多类的分类问题softmax、链式法则与BP神经网络
- 逻辑回归函数Softmax()
- 逻辑回归与softmax回归
- 逻辑回归与softmax回归
- Softmax分类回归器
- Softmax分类回归器
- 分类和回归(三)-逻辑回归
- 逻辑回归之从Logistic回归到sigmoid与softmax的分类问题
- 逻辑回归、交叉熵、softmax
- 神经网络学习:逻辑回归与 SoftMax 回归
- 梯度下降 && 线性回归 && 逻辑回归 && softmax
- 监督学习之分类和逻辑回归
- 第二章 分类和逻辑回归
- 机器学习-分类和逻辑回归
- 人工智能之知识表示
- 解压zip
- RMAN快速恢复数据库
- Jzoj4786 小a的强迫症
- select元素的方法使用
- 逻辑回归解决多分类和softmax
- 宏定义
- 图解Git 命令行(一)
- DL论文整理
- 【Scikit-Learn 中文文档】朴素贝叶斯
- BZOJ1058(ZJOI2007)报表统计--STL
- CCF CSP 201703-1 分蛋糕
- 数据结构:简单算数表达式二叉树的构建和求值
- Linux基础复习2