公式推导

逻辑回归本质上是线性回归,只是在特征到结果的映射中加入了一层逻辑函数g(z),即先把特征线性求和,然后使用函数g(z)作为假设函数来预测。g(z)可以将连续值映射到0 和1。g(z)为sigmoid function.
逻辑回归 - 图1

逻辑回归 - 图2
sigmoid function 的导数如下:
逻辑回归 - 图3
逻辑回归用来分类0/1 问题,也就是预测结果属于0 或者1 的二值分类问题。这里假设了二值满足伯努利分布,也就是
逻辑回归 - 图4
其也可以写成如下的形式:
逻辑回归 - 图5
对于训练数据集,特征数据x={x1, x2, … , xm}和对应的分类标签y={y1, y2, … , ym},假设m个样本是相互独立的,那么,极大似然函数为:
逻辑回归 - 图6
log似然为:
逻辑回归 - 图7
如何使其最大呢?与线性回归类似,我们使用梯度上升的方法(求最小使用梯度下降),那么逻辑回归 - 图8

逻辑回归 - 图9
因为此处

注意此处对逻辑回归 - 图10求导,而逻辑回归 - 图11中只有逻辑回归 - 图12逻辑回归 - 图13相乘,所以求逻辑回归 - 图14逻辑回归 - 图15
3图片.png
如果只用一个训练样例(x,y),采用随机梯度上升规则,那么随机梯度上升更新规则为:
逻辑回归 - 图17

多分类

在处理一些样本可能丛属多个类别的分类问题是,使用one-VS-rest或one-VS-one方法有可能达到更好的效果。
Softmax 回归适合处理一个样本尽可能属于一种类别的多分类问题。

  • one-VS-rest

从上面的名字就可以看出来,这个做法是通过对一个n分类问题训练n个分类器,其中每个分类器是区分某一个类别和剩下所有类别的(1,0)。预测的时候,根据每个分类器预测为某一类(1)的概率,最大值即为预测结果。
优点:普适性较广,效率相对较好,多少个类别训练多少个分类器即可。
缺点:如果种类较多,各个分类器数据不平衡的现象就会非常明显。

  • one-VS-one

顾名思义,就是对所有类别每两个训练一个分类器,那么要训练的分类器就有n*(n-1)/2 个,预测的时候就是投票法,每个分类器预测得到某个类别,看哪个类别最终得票最多就是结果。
这样做的优点就是可以规避上一种方法训练数据不平衡的问题,性能相对稳定;还有就是训练模型虽然多,但是相对简单,训练效率会有提升。
缺点就是要训练的分类器太多了,随着分类的增多,要训练的分类器个数呈平方级别的增长。

  • Softmax

softmax在数学定义上就是对LR二分类在多分类情况下的拓展。
图片.png
代价函数(cost function):
image.png
其中1{·}的取值规则为大括号内的表达式值为真时,取 1,为假时取 0。
对该代价函数求最优解同样可以使用如梯度下降之类的迭代算法,其梯度公式如下:
image.png

似然函数

我们常常用概率(Probability) 来描述一个事件发生的可能性。
似然性(Likelihood) 正好反过来,意思是一个事件实际已经发生了,反推在什么参数条件下,这个事件发生的概率最大。
用数学公式来表达上述意思,就是:

  • 已知参数 β 前提下,预测某事件 x 发生的条件概率为 逻辑回归 - 图21 ;
  • 已知某个已发生的事件 x,未知参数 β 的似然函数为 逻辑回归 - 图22
  • 上面两个值相等,即: 逻辑回归 - 图23

一个参数 β 对应一个似然函数的值,当 β 发生变化, 逻辑回归 - 图24 也会随之变化。当我们在取得某个参数的时候,似然函数的值到达了最大值,说明在这个参数下最有可能发生x事件,即这个参数最合理。
因此,最优β,就是使当前观察到的数据出现的可能性最大的β。