Softmax回归算法是Logistic回归的推广,它是一种针对多类分类上下文的二进制分类算法。
当y可以接受两个可能的输出值时,Logistic回归就适用了,不是零就是一,它计算这个输出的方式是首先计算z=w*x+b,然后计算a=g(z),它是一个应用于z的Z状结肠函数,把这解释为逻辑回归y=1概率的估计,给定这些输入特性X,如果y=1的概率是0.71,那么y=0的概率是0.29,所以稍微修饰一下逻辑回归,为了将其设置为Softmax回归的泛化,逻辑回归实际上是计算两个数字,也就是之前得到的y=1的概率,用a2=1-a1,也就是y=0的概率,现在将其推广到Softmax回归,当y有四个可能的输出时,所以y可以取1,2,3,4,它将把z计算为w*x+b,这些是Softmax回归的参数,下边是Softmax回归公式a1,作为算法对y=1的几率的估计,Softmax回归的公式将计算一个等式,而在左边,我们写下了Logistic回归模型的规范,右边的方程式是对Softmax回归模型的规范,它有参数w1到w4和b1到b4,如果能学会所有这些参数的适当选择,这就给了你一种预测的方法,给定一组输入特性,X快速测验,假设在一个新的输入X上运行Softmax回归,对于一般情况下的Softmax回归,所以y=1,2,3,.....N,Softmax回归将计算到Zj=Wj*x+bj,现在Softmax回归的参数是w1,w1到wn以及b1,b2到bn,aj被解释为y=j的模型估计,给定输入特征x,最终加起来为1,如果在n=2的情况下应用Softmax回归,所以只有两个可能的输出类,那么Softmax回归最终计算的结果与Logistic回归基本相同,参数最终会有点不同,但它最终简化为一个逻辑回归模型,这就是为什么Softmax回归模型是Logistic回归的推广。
定义了softmax回归如何混淆输出,那么如何指定Softmax回归的成本函数,模型所有参数的成本函数在整个训练集中的平均损失,这就是这个回归的成本函数,写下通常用于Softmax回归的成本函数,我们将在Softmax回归中使用的损失是这样的,如果算法输出一个1到n,地面真相标签是y,如果y=1,损失是负的,所以它是它认为y=1概率的负对数,在本例中,算法的损失是概率的负对数,它以为y=2,以此类推,如果y=j,那么损失函数loss=-log aj ,aj的负对数是一条曲线,如果aj非常接近1,那么会在曲线的右边,而且损失会很小,但如果aj只有50%的机会,就是就大了一点,aj越小损失越大,因此尽可能使aj大,尽可能接近损失小,注意,在这个损失函数中,每一个训练示例只能接收一个值,所以你最终计算出一个aj的负对数,只对aj的值,在那个特定的训练例子中,y=1的实际值是多少。