逻辑回归可以说是基于线性回归的了,但是它实际上是做分类工作的,原理虽然简单但是也可以引出很多机器学习的概念。
我们分类的标签如果设定为[0, 1],那么则需要一个函数将映射到0~1的范围,这样就需要一个近似单位阶跃的单调可微的函数,对数几率函数正是这样的函数。
代入得到
我们假定预测得到0和1的概率分别为
等价于
这里的处理和SVM推导过程类似。接下来就是利用极大似然估计来推导出目标函数了
跟线性回归一样,取对数得到
目标函数对其去负数即可(求最大值变为求最小值),对其求梯度
得到它的学习规则是(这里负号变成了加号)
这里接上之前讲的梯度下降法就是LR的一个大致流程了。还要强调的一点是对数几率函数是由odds几”率“出发来推导的,也就是y为样本被判断为1的几率,1-y是判断为0的几率,两者相除,即时认为样本更可能是1。对这个几率取对数就得到对数几率函数
,由这个式子即可以推出前面的结论了。
对了多分类问题(如三分类)我们可以采用多次二分类的方法(拆解法),拆解法又有三种:一对一(OvO,有n(n-1)/2个分类任务)、一对多(OvR,有n个分类任务)、多对多(MvM,比较复杂,对n个类别划分m次,一般使用”纠错输出码“EOOC进行类别拆分)。
还有一种多分类方法就是softmax回归了,和线性回归一样假定概率为
这里所有概率相加等于1,所以参数是有冗余的,或者应该加上一个约束,softmax是可以退化成Logister回归的。
似然函数为
式中的指数相当于一个式性函数,即y{值为真的表达式}=1,y{值为假的表达式}=0。这里与线性回归中y和1-y是一样的,只不过这里有多个分类而已。下面对似然函数取对数得到目标函数
计算得到梯度