欢迎光临散文网 会员登陆 & 注册

什么是softmax回归,使用softmax回归实现多分类

2023-09-13 02:22 作者:小黑黑讲AI  | 我要投稿

大家好,今天要讲的内容是使用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回归,实现多分类就讲完了,感谢大家的观看,我们下节课再会。

什么是softmax回归,使用softmax回归实现多分类的评论 (共 条)

分享到微博请遵守国家法律