OvR,OvO和softmax
来源:9-8 OvR与OvO
BarackBao
2019-05-02
请问老师,您讲的使用RogisticRegression进行多分类问题使用OvR或者OvO,这两种方式和softmax函数有关系吗,主要是我不太清楚softmax的原理,我只知道它可以进行多分类
2回答
-
OvR,OvO都是使用建立多个二分类模型的方式,来解决多分类问题。在这个问答里,我又基于OvR的流程,进行了叙述:http://coding.imooc.com/learn/questiondetail/107030.html
可以看到,对于OvR来说,k分类问题,需要训练k个模型。(k > 2)
但是softmax是使用1个模型,解决多分类问题。
但是,当k == 2是,softmax就是逻辑回归。所以,你会看到说,softmax是逻辑回归在多酚类问题上的推广。不过,softmax解决多分类问题的本质和OvO,OvR不一样。一个是单模型,一个是综合多模型:)
具体softmax的原理,不在这个课程的范畴,通常介绍神经网络或者深度学习的课程都会介绍:)
继续加油!:)
012019-05-03 -
lemonlxn
2019-10-15
老师好,我有一个关于逻辑回归多分类,multi_class=“multinomial”时,关于softmax 的理解,您看看我的整体理解是否准确,如果觉得不属于该课程内容可忽略。
softmax的计算方法如下
import numpy as np def softmax(output): return np.exp(output) / np.sum(np.exp(output))
我想请问下,softmax中的output是不是各神经元的输出。
即 4处的output z4 = w41 * o1 + w42 * o2 + w43 * o3 (o1,o2,o3代表是结点1,2,3往后传的输入)
同理可求得 z5,z6
所以经过softmax 后的
s_4 是不是等于 s_4 = e^z4 / (e^z4+e^z5+e^z6)
s_5 是不是等于 s_5 = e^z5 / (e^z4+e^z5+e^z6)
s_6 是不是等于 s_6 = e^z6 / (e^z4+e^z5+e^z6)
请问这里的s_4,s_5,s_6是不是概率呀?
那么是不是np.max(s_4,s_5,s_6) 哪个值大,那它就属于哪个类别?
###########
额外补充,通过交叉熵,选择最优模型
当逻辑回归为多分类的时候
input = sigmoid(W.T.dot(X)) # 神经元输入
output = softmax(y) # 概率 ?
Loss = -yln(output) # 交叉熵损失函数
不断迭代,求出使Loss最小的模型
00
相似问题