一,多类(Multiclass)
多类是指输出不止有两个输出标签,想要对多个种类进行分类。
-
Softmax回归算法:
Softmax回归算法是Logistic回归在多类问题上的推广,和线性回归一样,将输入的特征与权重进行线性叠加,主要不同在于,Softmax回归的输出值个数取决于输入标签的类别的个数。
例:
一共输入有四种特征和三种输出类别,权重(W)包含12个标量,偏置(b)包含3个标量,对于每个输入标签进行线性叠加,得到3个输出:o1,o2,o3
进行Softmax回归:
2,Softmax函数:
对每个类别进行指数函数处理,然后归一化,使得所有类别的概率之和为1。当有n个类别时,可以通过公式来比较的值并输出
3,Softmax回归的损失函数:
损失函数和逻辑回归相似。
4,在人工神经网络的Softmax输出:
与逻辑回归不同,Softmax回归的输出函数与每个Z都有关系
对每一隐藏层的每个单元进行Softmax回归,产生的激活值传递给下一隐藏层,以此类推。
5,利用TensorFlow实现Softmax回归:
①:建立模型
②:定义代价函数和损失函数
③:训练数据得到最小代价函数
6,Softmax回归的改进:
原因:由于电脑计算的先后顺序不一样,可能会导致结果的偏差,(精度损失?),因此需要在计算中选择更合适的方法。
方法:张量流
张量流通过重新编排代价函数中的项,并提出一个更为精准的数值方法来计算代价函数,即选择是否计算a。
采用图中修改的代码进行计算,最后只会计算出Z。缺点是使得Softmax回归过程变得不是很清晰,张量流的数据减少。
(整个优化后的代码如上图所示)