什么是softmax回归,使用softmax回归实现多分类
大家好,今天要讲的内容是使用softmax回归,实现多分类。
在解决多分类问题时,我们可以直接构建一个softmax回归模型,同时对所有类别进行识别。

在softmax回归中,包括了两个步骤。
步骤1,输入一个样本的特征向量,输出多个线性预测结果。
步骤2,将这些结果输入到softmax函数,softmax函数会将多个线性输出,转换为每个类别的概率。
先来看步骤1:

在某多分类问题中,有三个目标类别o1、o2、o3,四个输入特征,x1到x4。
softmax回归会基于输入x,计算o1、o2、o3三个线性输出。
在计算每一个线性输出o时,都会依赖一组w和b参数。

我们可以将softmax回归,看做是一个具有多个输出的单层神经网络。
我们可以基于矩阵,计算线性输出o。

例如,在计算o=Wx+b时,W是一个3*4的权重矩阵,b代表了一个3*1的偏置列向量,x是4*1的特征向量。
经过计算,会得到3*1的输出结果o。
计算出线性输出o后,进行步骤2:

将o输入到softmax函数,从而将线性输出o转换为每个类别的预测概率y。
设有n个输出,o1到on。第k个输出是ok,它对应的类别概率是yk。
其中yk等于,常数e的ok次方,除以e的o1次方加上e的o2次方,等等到e的on次方,所有指数函数的和。

这样,我们就通过softmax函数,将所有线性输出,都转换为0到1之间的实数了。
并且输出的总和,y1+y2加到yn,这个结果恰好为1。

而y1到yn,还可以看做是样本属于某个类别的概率,它们之间是可以比较的,并且y值较大的类别对应的概率更高。

例如,设输出o1、o2、o3分别等于3个浮点数,0.3、2.9和4.0。
然后计算e的0.3、2.9、4.0次方。
将它们累加到一起,结果是74.12。

然后使用e的oi次方除以74.12,就得到了对应的yi。
这时计算y1+y2+y3的和,结果恰好等于1。
因为y3的值最大,所以最终识别的结果为类别3。
总结来说,softmax函数不会改变线性输出o之间的大小顺序,只会为每个类别分配相应的概率。
softmax回归模型的优势在于模型简洁和高效。
我们只需要一次训练,就可以得到同时识别所有类别的多分类模型。
那么到这里,使用softmax回归,实现多分类就讲完了,感谢大家的观看,我们下节课再会。