前言
在上一篇逻辑回归(https://blog.csdn.net/u014571489/article/details/83387681)中已经讲到了为什么有sigmoid激活函数、极大似然估计法和梯度下降法等。
当逻辑回归问题被扩展到多线性分类问题时,第一步要解决的还是计算概率的问题,即该点属于每个类别的概率是多少,选择概率最大的类为该点所在的类。然后根据概率计算公式构建目标函数,然后用梯度下降法进行求解即可。
概率函数
下面就是Softmax Regression的概率函数,类似于逻辑回归中的sigmoid函数:
其中就是一组权重系数,要分多少类就有多少组系数,构建一个目标函数求这几组系数就OK了。
目标函数
将每个点属于每个类比的概率取对数,然后累加就得到了最后的目标函数。
其中在目标函数中引入了指示函数:
表示的是当属于第类时,,否则.
梯度下降法求导
Python3源代码:
源代码中对训练和测试的函数进行了封装,能够对数据进行训练,然后随机生成数据进行预测。