逻辑回归的多分类问题(线性分类的多分类问题)

本来写得比较详细的,但是出了点意外,一夜回到解放前了。裂开

l懒得搞了,这里就留个超简略版了

4个输入特征,输出的类别有3种,分别记为0,1,2。

普通的逻辑回归或其他线性分类模型(如SVM),很适合做二分类问题,不能直接解决多分类题,因为一条线或者一个超平面只能将数据分割成两个部分。但稍稍改进即可完成多分类。

假设输出的类别有3种,分别是乔峰,段誉,虚竹,我们只需要训练3个二分类器,第一个二分类器用于判断这个人是不是乔峰,如果是输出1,不是输出0。同理,第二个二分类器用于判断这个人是不是段誉,如果是输出1,不是输出0。第三个二分类器用于判断这个人是不是虚竹,如果是输出1,不是输出0。推而广之,如果是个K分类问题,则需要训练K个二分类器,最终组合而成一个K分类器。

逻辑回归原理(写得很粗略)

逻辑回归的多分类问题(线性分类的多分类问题)_第1张图片

多分类原理

3组参数,对应3个分类器的参数。

逻辑回归的多分类问题(线性分类的多分类问题)_第2张图片

 如果输出的y1,y2,y3分别是(1,0,0),则表示是类别0,如果是(0,1,0),则表示是类别1,如果是(0,0,1),则表示是类别2。

参数更新

逻辑回归的多分类问题(线性分类的多分类问题)_第3张图片

逻辑回归的多分类问题(线性分类的多分类问题)_第4张图片

这里只写出来W11的更新,其他参数的更新同理,求导也很容易。

把参数矩阵化的话表达式会变得比较简单,为了方便大家理解就不 矩阵化了。

softmax分类

这里的多分类问题用softmax会更好,多分类问题最流行的就是softmax方法了。其实softmax也是在此基础上的一个改进,但需要训练的参数个数是一样的。

明白了这个多分类的思想,要实现它编出代码就变得非常非常容易了。

懒得搞了,具体代码有机会再发。

你可能感兴趣的:(机器学习,深度学习,逻辑回归,分类算法)